Details
-
AboutBack-end dev
-
SkillsPHP, MySQL, JS, Angular, and more
Joined devRant on 10/9/2016
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
QA: When I open the app I get this strange error message that includes "No data connection could be established" near the start of it.
Me: I'll clean up how thats displayed, but the error means your phone doesn't have internet connection.
QA: No that can't be it, I do.
Me: You screenshot shows no WiFi or 3g / 4g symbols.
QA: No those are never there, please investigate.
Me: I have investigated and found that every other one of your screenshots had a WiFi or a 3g symbol. Example: <link>. Please check your connection and try again, i'll clean up the error display.
PM: Oh i've had an issue something like this before. We really need to show users an error screen. We can't just leave them on this screen with no error message at all.
Me: ... we have an error, thats what QA is complaining about, its not loading the text and displaying the error object.
Anyone else want to not pay attention and complain about something else that doesn't make sense? ... no? ... ok good, back to work then7 -
Californian PM: Hi team, can I get confirmation from you if your team will be picking up this ticket xyz, currently assigned to California team, in Q4 please. Thanks
Local Manager: Why would we pick it up if its assigned to the California team?
... tomorrow is my last day here ... i'm not unhappy about this9 -
Dev lead on another team: Ok we can build that API for the mobile apps, we'll generate everything, generate printable images for the labels, persist it all and do all the relevant lookups and checks. Do you need an SLA?
Director: Yes, 9ms
*silence*
Lead: Sorry .... 9ms?
Director: yeah, its a must have
Lead: ... the speed of light wouldn't even let us transmit it that fast18 -
I write loads of services, tools, programs for myself (unpaid) which I could just as well open source.
Only thing is that the code is usually not that clean and refactoring would take time that I don't have so I'm kinda anxious about putting it out there 😧12 -
Follow up to yesterday’s “hybrid/cross-platform is shit” rant about Electron apps being blocked from the Apple App Store.
See the below image of the github issues template on the Electron repo, to file an issue for this problem.
Yes, this is such a common issue with their product, they’ve made it easier to file a github issue. Let’s not address the fact that there is a fundamental flaw in the approach they are using, let’s just make it easier to open a ticket while everyone waits to see if we are allowed to ship our app.
I’ve also heard talk that under some circumstances it’s possible for them to patch out the libraries causing issues. Apple provides tools to identify these libraries ... therefore Electron is doing fuck all to adresss this issue, and adopting a “wait until someone complains” style of approach.
A+7 -
Dev manager: great news guys. We’ve built a new tool to do automated testing on apps. We’ve gotten rid of the old Appium solution we were using and built this new one.
Me: why not just use the inbuilt native stuff? Click to record works really well.
Manager: nah we thought it would be more flexible to build it ourself.
Me: ... ok ... moving on ... how does it work?
Manager: well this new .jar, you download it, pass in a config file, setup up your simulator and appium and the jar will do everything for you.
Me: ... wait you said you hate Appium? Now you’ve built a wrapper around it? And it doesn’t even set everything up, you’ve to do it all by hand?
Manager: oh we had too, would be too much effort to replace it. Don’t worry we can now write all our tests in .yaml config files instead of using Appium.
Me: so we’ve lost the ability of auto-complete and type ahead, everyone has to upskill on a new tool, it offers no new features over what’s available out of the box and we’ll have to deal with new bugs and maintenance and stuff our self ... because we need more flexibility?
Manager: oh don’t worry. The guy who built it is staying here. He’s going to deal with bug fixes and add features. He’s only one guy, but he’s really sharp, it’ll be great for us and the team.
Me: ... ... ...
*audible noise of soul breaking*
Me: ... ok thank you. I’ll look into this new tool3 -
“hi all, we are cancelling the last two releases this year due to instability that we can’t fix by the cut off. If the server returns an error, every react-native built component crashes and stops working until a relaunch”7
-
*came in this morning to see this conversation in slack from the remote teams*
Dev: Hey guys, I'm trying to push to the develop branch, telling me its locked. Is there a new process?
Lead dev: Yes I locked it because the repo is now dead, the last release that went out is the last for this year and ever for this app. Were merging this app with another, starting from the last release's code. We'll all have to swap over to the new repo soon.
Dev: ... eh ok I didn't put anything in the last release branch as it wasn't urgent. Normally our process is anything in /develop goes out in the new year. I've been merging to /develop for the last few weeks ... is that code now gone?
*14 question mark emoji reactions*
Lead dev: Yes
*27 angry emoji reactions*
Engineering manager: WHAT? when was this decided? When was it communicated?
Lead dev: oh I assumed my product counterpart had been spreading the messages around, have they not?
Several teams: no, nope, first i'm hearing of it.
Lead dev: Ok, i'll ask them what happened. Be aware then that most of the stuff thats going into develop now, most likely won't be allowed in until March. They want to prioritise releasing this new merged app and don't want anything to impact it.
Dev: So wait, i'm working on stuff now. What do I do? Where do I base the branch? Where do I merge?
<no response>
*My team comes into the office*
Dev: eeehhh ... what does this mean for our past 4 weeks of work? and all the stuff needed to go out in January?
Me: not.a.fucking.clue16 -
Starting to work with a new senior designer in the remote office (red). Spent 4 days explaining to him that we need .png's in multiple sizes for the app, trying to teach him to use Zeplin to let us export them. Everything failed, his manager told him to just send us the .png's via slack ..... has he seen a computer before?11
-
“Your time zone is not my concern” - manager of the backend team
I asked if there’s another way for us to get test data into QA. That doesn’t involve us staying on until 9pm to get a backend dev to modify the db manually, everyday.6 -
I had a huge epiphany on Friday... not all developers enjoy coding.
Discovered when they brought down 2 of our environments, well told them what was wrong with the changes in their code that caused the environments to break, gave them links directly to the file in the gitlab repo that needed to be updated, and...
They fucking went home. The change would’ve taken all of about 30-45 seconds to update and they fucking left.
This person’s team lead come storming in pissed off because her manager is furious about 2 environments going down and preventing everyone else from being able to deploy their changes.
We provide the exact same details to the team lead about what needs to be changed, and advise that her team member took off....
30 mins later, her manager is storming up to us (devops/sre) livid as hell.
Explain the situation for a third time... manager is like, why can’t you guys fix it?
Look here you dense motherfuckers, we can fix the code. We can be the plumbers that clean up your shit. But what value do you gain as a developer if you don’t understand how the systems work and you keep pushing shit in?
Made the changes, fixed the environments, done right? Wrong.
The original developer made more changes not knowing what would happen and thoroughly fucked the environments again.
This dumb-fucking dumpster fire of a dude then sends us a slack message. “It’s down again, can you fix it?”
Our manager steps in and tells us to send him a link to the logs and have him fix it himself!
Thank goodness we have a badass manager.
Send logs, send repo file links (again), and send line numbers in the logs to try and help just a bit more. Dude goes almost the whole day without fixing it, environments are down, other devs are pissed, we throw this dude to the wolves. His manager starts to head over and was about to talk with my team lead when our manager steps out of his office and tells him the in’s and out’s of the situation and that our job isn’t to play log parser/error fixer for the developers. This dude that’s breaking the environments needs to be the one to fix the issue and his team lead should be aware of the problems and should have been able to correct his errors before it ever came to us.
The amount of hand-holding we do is ridiculous.
(Disclaimer, this one guy making some mistakes doesn’t sound too bad, but this is actually a common occurrence for like 40% of all of our developers)
We literally have interns still in college running circles around some of our full time devs. I know I’m not a developer, but for anyone that’s new-ish to developing, when you see shit like that please don’t lose hope. Those ass-hats got into programming purely for a paycheck, not because of passion.
Stick with it and your greatness will know no bounds 👍
As for you craptastic dipstick lickers, FUCK YOU!!! Go back to school and learn how to give a damn.4 -
Dev: To send push notifications, please open a ticket to get access to the new tool we are using which is dedicated to managing push notifications and push notification campaigns.
Me: ok done.
*5 days later*
Tool owner: Can you please add to the ticket the reason you need access?
Me: “To use it”2 -
Senior development manager in my org posted a rant in slack about how all our issues with app development are from
“Constantly moving goalposts from version to version of Xcode”
It took me a few minutes to calm myself down and not reply. So I’ll vent here to myself as a form of therapy instead.
Reality Check:
- You frequently discuss the fact that you don’t like following any of apples standards or app development guidelines. Bit rich to say the goalposts are moving when you have your back to them.
- We have a custom everything (navigation stack handler, table view like control etc). There’s nothing in these that can’t be done with the native ones. All that wasted dev time is on you guys.
- Last week a guy held a session about all the memory leaks he found in these custom libraries/controls. Again, your teams don’t know the basic fundamentals of the language or programming in general really. Not sure how that’s apples fault.
- Your “great emphasis on unit testing” has gotten us 21% coverage on iOS and an Android team recently said to us “yeah looks like the tests won’t compile. Well we haven’t touched them in like a year. Just ignore them”. Stability of the app is definitely on you and the team.
- Having half the app in react-native and half in native (split between objective-c and swift) is making nobodies life easier.
- The company forces us to use a custom built CI/CD solution that regularly runs out of memory, reports false negatives and has no specific mobile features built in. Did apple force this on us too?
- Shut the fuck up5 -
Me: Hi Guys, theres no docs on our custom push notification / deeplinking implementation. I've tried to work backwards from a QA testing doc to add new links. Can someone tell me if this is all ok? It seems to behave a little weird.
Dev: Looks ok, but we've moved to the braze platform for sending notifications. You'll need to trigger braze notifications now. Test that it works ok with that <confluence-link>
*hour later*
Me: I've tried the debugging tool, both with my payload and one of the samples from the link. It displays on the phone, but tapping it doesn't trigger the deeplinking.
Dev: No it works, try one of these <screenshot of samples I used>
*hour later*
Me: Tried it again on the real device to make sure, as well as on develop and master. Not working with those samples or mine.
Dev: No it does. It comes in here in this library <github link to line of code>
Me: ... Nope, debugged it, it doesn't get passed the next 'if' check on the next line as its missing a key/value. The whole function does nothing.
Dev: Oh do you want to send a braze notification?
Me: ..... you told me I had too .... yes I guess.
Dev: ok for a braze notification it works different, send this <entirely different sample no where on the link>
Me: ...... but ..... this is only for braze notifications ..... why .... all the samples have deeplink url's .... but they don't ....... are you ..... FFS!!!!! !@#?!
(╯°□°)╯︵ ┻━┻
┻━┻ ︵ヽ(`Д´)ノ︵ ┻━┻
(ノಠ益ಠ)ノ彡┻━┻
┌П┐(ಠ_ಠ)1 -
Me: So i've cloned the iOS project, i've run carthage, but it won't build.. Have I done something wrong?
Devs: Oh read this doc on github, we do loads of custom stuff. The depenedncy manager can't do it all by itself. You need to run `./scripts/boostrap.sh`
Me (another day): I've switched branches and i'm getting all these errors. Any ideas?
Devs: Ah this happens when someone modifies xyz. Read this pinned slack message. Run `./scripts/bootstrap.sh` again.
Me (another day): I've switched branches again, getting different errors, re-running boostrap didn't fix it.
Devs: Ah yeah, this happens when someone modifies abc. You need to run `./scripts/nuke.sh` and then boostrap when this happens.
Me (another day): Guys When I try to run the prod app its not building any ideas?
Devs: Ah yes have a look at this confluence link. You need to run `./scripts/setup_debug_release.sh`, then nuke, then boostrap and you'll be good.
Me: .... ok
Devs: Oh btw very important! do not commit any changes from `./scripts/setup_debug_release.sh`. It will break everything!
Me: ... no i'm sorry we have a much bigger problem than that. We need to talk ... like right now7 -
Me: Ah, just have to finish this one small feature today and this whole massive update is done. Everyone will be off my back, things will calm down. Gonna be great.
Life: hey man, you know what I was thinking? It’s been a really long time since you had one of those vomiting bugs ... you know the gut wrenching, massive headache, can’t do anything but stare at the walls kind of flu’s?
Me: ...... eh I’m ok thanks.
Life: oh buddy you don’t understand ...... RUN!!!2 -
So, as some people here probably know, I don't use any of the mainstream, mass surveillance integrated social media and messaging services. Since I'm located in the Netherlands especially whatsapp is nearly a life requirement but Facebook and such come close as well and I don't use anything related to Facebook, Google, Apple and any of the other companies related to mass surveillance programs which often puts me in awkward positions.
Every time someone wants to stay in touch and the fact that I don't use whatsapp comes up again, it usually turns into an explaining session with much disbelief from the other party but more and more often, I'm getting rather tired of that.
Recently, I had one of those moments and instead of saying 'sorry, I don't use whatsapp', i went for 'sorry, I'm old school, i only do texting and calling!'.
No discussion, just got a "ah, fair enough!"
😮
I started doing this more and more and I get the same response every time!
I find it quite astonishing how bringing something another way can get one a completely different response, especially in this context.30 -
Me: we only got 40 minutes notice that we had to stay in late for a meeting with the USA team. Can we politely ask them to give us like a days notice in future? I can’t just stay late at any time, neither can the guys with kids to collect.
Manager: oh ok. I’m very sorry this has affected you. Here, let me explain why this is going to keep happening and you’ll need to deal with it.16 -
Sales manager: Hi all, we are launching a new internal hackathon. Form up a team with the right expertise to help with address the problem statement and get going!
Me: what’s the problem statement?
Sales manager: you have to sign up first. There’s proprietary company info with our plans for next year involved. You have to agree to terms and conditions before continuing. Legal say so.
Me:
*signs up*,
*fills in docU-sign*,
*clicks through 3 other screens*
Ok let’s see this problem statement.
“What new and magical customer experience can you create and launch to win in our markets”
... that’s not a fucking problem statement ... and why the fuck does that require filling out a docu-sign form to see?
I REALLY fucking hate legal / sales people. Wasting everyone’s time.4 -
A tool I built for my past company just got nominated for a European Data Science and AI award!!!
I'm over the moon that something I built is up for such an award. Be early next month before winners are announced. Oh and given I don't work there anymore, how I was told about it is a REALLY funny story .... I wasn't.
Saw a Linkedin post from my ex-manager congratulating the company and the org for great work done. He/They just forgot to mention the fact that me and another ex-employee did everything, left it practically finished and completely changed the direction of the project within the first month as their plans made no sense.
fuckers.8 -
The new mobile app codebase i'm working with, was clearly written by someone who just read a book on generics and encapsulation.
I need to pull out 2 screens into a separate library to have it shared around. The 1 networking request used is wrapped up in a 'WebServiceFactory' and `WebServiceObjectMapper`, used by a `NetworkingManager` which exposes a generic `request` method taking in a `TopLevelResponse` type (Which has imported every model) which uses a factory method to get the real response type.
This is needed by the `Router` which takes a generic `Action` which they've subclassed for each and every use case needing server communication.
Then the networking request function is part of a chain of 4 near identical functions spread across 4 different files, each one doing a tiny bit more than the last and casting everything to a new god damn protocol, because fuck concrete types.
Its not even used in that many places, theres like 6 networking calls. Why are people so god damn fucking stupid and insist on over engineering the shit out of their apps. I'm fed the fuck up with these useless skidmarks.3 -
Recruiter: Hi practiseSafeHex, I’ve looked at your LinkedIn profile and you look like a perfect fit for my new client. The role is a lead Java developer with experience in .......
Me: Where on my profile have I listed or mentioned Java in any way?
LinkedIn Notification: a person who chose to remain anonymous, with the title “Recruiter” just viewed your profile.
Wow, I wonder who could it possibly be? I’m stumped!
Also probably the first time he did look. Getting fed up with these asshats9 -
Recruiter: Hi practiseSafeHex, you were speaking to one of my colleagues recently and I know at the time you said you weren't interested in interviewing with us. I just wanted to check is that still the case?
Me: Yes I haven't changed my mind since last week. You still have awful things on your glassdoor page for my country, and its still a role / area i'm not interested in. Please read my responses and please fuck off2 -
External company HR: We are sorry to hear you've decided to turn down our offer. You made a great impression and we thought you'd be a good fit. If you change your mind please let us know.
Me: I too am sorry you didn't tell me you were moving to the other-side of the county in two weeks, making it impossible for me to travel to and from work. I too have feelings about having done all the interviews and this being the end result. Thank you8 -
tl;dr - install ‘Pop!_os’ and try it out if you haven’t yet, it’s pretty damn good!
Heavy Micro$haft user here, have tried using ubuntu a bunch of times in the past and fucking regretted it every time. Ran into issues with stupid shit like the apt cache growing exponentially until the drive was full, or something like the the system python getting borked.
To be fair, I’m 120% certain my dumb-assery is what caused the problems. I’m definitely not trying to blame the OS. But my experience was shitty, even if it was at my own hands lol.
Started playing around with Pop!_os from the system76 team. And I’m seriously in freakin’ love with this OS. It’s clean, is performant, feels way less buggy or just feels more stable somehow. I know it’s based on ubuntu, but I’ve had a great time thus far using it. I’ve got ansible, docker, aws toolkit, aws cli, sam-cli, vscode, dynamodb-local, serverless, npm, brew, and working on steam now.
Everything has been a breeze and again the system feels really fast and snappy. It feels a lot like mac on the smoothness scale, but snappy like a windows box with beefy hardware specs.
I’m still just in the testing phase on a VM, but I’m seriously thinking about blowing away my windows install for Pop!_os.
(I’ll try arch someday when I’m up for some hardcore masochism)8 -
“Hybrid is the future, it’s faster to develop, more efficient and has no real downside or impact”20
-
So after a llllllloooooonnnnnnngggggg struggle with the team i've been working with, today is the day that my group move to a different org and start working with a different team.
This is a huge step in the right direction for us and we are so happy. This new team is much bigger, but has been around for a lot longer and has proper processes in place and works a lot smoother. Never going to be perfect, but still going to be much more workable and we are so ...... thats an interesting linter file, hhhmmm they have disabled all the checks for the stuff that will cause crashes, like force unwrapping ... but they've enabled the rule to make sure our imports are sorted alphabetically
... nope, cant do it, no sign of intelligent life in this company at all. linkedin here I come.7 -
Subject: FW: Twilio integration
Date: 20th June
From: <program-lead>
PractiseSafeHex I need you to fill in the dev completion dates for the Twilio task for the mobile team by EOD today. Backend have already supplied theres. Otherwise I will be forced to mark the task as “At Risk”. Please let me know if there is an issue or you are blocked.
—- Begin Forwarded Mail ——
Subject: Twilio integration
Date: 18th June
From: <program-lead>
Hi All,
Documenting today’s meeting minutes. Backend confirmed they will handle the Twilio integration from their side entirely. There will be no mobile work required for this task.
Thank you,
<program-lead>11