Skillsobjective-c, swift, ios, xcode, node.js, Angular, bluemix
Joined devRant on 9/19/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
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!!!3
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.
*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.3
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.
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
No seriously, tell me more about how leveraging React-Native for sections of the app and creating these custom architecture patterns is going to revolutionise mobile development. I'm all ears.8
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 you10
Zoom: Don't worry everyone we'll deploy a work around to stop this venerability while keeping all the functionality in place.
Public: wouldn't it be safer to just remove some of these features? Someone will likely find another way around it.
Zoom: We feel comfortable with our decision and stand by our approach.
Apple: Fuck that - https://techcrunch.com/2019/07/...12
Recruiter: Hi practiseSafeHex, how are things? 😎
Bitch we aren’t friends. Where’s the job spec?9
“Hybrid is the future, it’s faster to develop, more efficient and has no real downside or impact”24
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
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
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.
If you haven't seen the video instructions for how to factory reset GE's smart light bulbs.
STOP WHAT YOU ARE DOING AND WATCH: https://youtube.com/watch/...
Theres also a twitter thread about this which includes screenshots of their instructions on how to count 2 seconds: https://twitter.com/NumbersMuncher/...
This is what happens when you hire a product manager with no experience and put them in charge of engineering, design, UX (who we kidding they def don't have one of these) etc. This is just magical20
So I've been screaming for months that push notifications are not reliable enough to build critical functionality on top of. Management won't listen and keep pushing ahead with making teams use it because its cheap and easy.
Been debugging an issue on/off for several weeks. Turns out someone in management asked the backend team to cut the expiration time of items down to 5 minutes to increase throughput (without telling mobile). Notifications are regularly taking +4 mins to get to the phones, leaving our users with barely any time to react. They are now complaining.
I swear if there is a single IQ point available between the whole team i've yet to see any evidence of it8
PM: 2 months? no thats way too long, do it in 1.
Director: I had a chat with someone else who doesn't work on this team, he says that developer you complained about is a good guy and we should keep him on the team.
Business: No, we don't have time for tech debt, lets build these new features as quick as possible and lets see where we are.
everyone: WHAT DO YOU MEAN IT CRASHED AGAIN??? THIS IS UNACCEPTABLE6
Mam: Hey can I ask you a question about Facebook?
Me: (Christ give me strength) ... sure whats up?
Mam: You know when you get a notification and you click on it and see what someone uploaded?
Me: ... you are not on Facebook, you can't be getting notifications
Mam: well I do. Is it possible to...
Me: No hang on a second, it is 110% not possible for this to happen. Something else is going on that you think is a notification.
Mam: You know when you are on, and you see a message like "12 new notifications"
Me: on? on what? this is happening on your phone is it? Can I see?
Mam: No its on my laptop at home.
Me: ... you have an old laptop with an old windows, you can't get notifications on it.
Mam: OH FOR GOD SAKE! ... you know when you are in your emails and it says "12 new notifications"?
Me: ... right so we are talking about EMAILS about unread notifications and not getting notifications on your phone. So you have an old account then that you don't use?
Mam: Yeah I don't know the password to it, haven't logged in, in years.
Me: of course
Mam: Right anyway. When I get one and click on it, lets say its about you, can you see me reading your notifications?
Me: ..... you can't not read my notifications.
Mam: uh, can you see me reading your emails then smart arse?
Me: ... can't do that either.
Mam: So what the hell am I doing then?
Me: You are reading a post someone uploaded, which you got alerted to from an email.
Mam: Right, can you tell when I've read your POST then?!?!?!
Mam: was that so hard?
Me: ... yep7
My linkedin profile = ~7 years as an iOS developer. All of my job titles are "iOS Developer", "iOS Engineer" or "Mobile lead".
Recruiter: Hi, your profile looks great, I have a number of open roles matching your skills. Would you be free for a call to discuss your salary expectations, skills, what you are looking for etc.
Me: Hi, sorry I don't have time for a call right now, here are answers to your questions. Can you send me on any iOS job specs you have and i'll review. <answers>
Recruiter: Sorry I have no open iOS roles at this time.
Bitch ... ima find you and make you understand5
WWDC was last night. Joined my companies "iOS" slack channel this morning expecting to see lots of activity about SwiftUI, Combine, Federated Login, New iPad updates ... but no. The only comment
"Does anyone else feel like the event artwork is lazy and uninspired?"
... I am just fundamentally in the wrong company16
Recruiter: Hi, i'm recruiting for xyz, your profile looks like a great fit. Would you be interested in discussing further?
Me: Hi, your company website says you only have an office location in Berlin. I've marked my profile as not interested in relocation, only interested in jobs in my country and said the same in my description. Are you expanding to my country?
Recruiter: You are correct, this role is based in AMAZING Berlin. Are you interested in relocating?
Team quarterly capacity planning:
- Confluence document created with a big table (+100 rows) by product / business. Each row is something that needs to be worked on for the coming quarter.
- Row 1 could be an Epic with 15 tickets attached. Row 2 could be adding a single log to our analytics. No consistency.
- For each row, we create a separate confluence document with the "technical details". 75% of the time these remain blank. 1% of the time there is something useful, the rest its a slightly longer version of the description from the bigger document.
- Each row gets a high level estimate by the leads. 50% of the time without sufficient background info to actually do get it accurate.
- These are then copied into the teams excel spreadsheet, where it will calculate if we are over/under capacity.
- We will go backwards and forwards between confluence and excel until we are "close enough" to under capacity without being too much.
- Once done, we then need to copy them into the org/division's excel spreadsheet. This document is huge, has every team on it and massive 50pt text saying "Do not put a filter on this document".
- Jira tickets + Epics will now be created for each one, with all the data be copied over by hand, bit by bit, by product. Often missing something.
- Last week, at the end of this process for Q2 (2 weeks late), 6 of the leads were asked to attend a 30 minute meeting to discuss how to group the line items together because we had too many for the bigger excel spreadsheet.
- This morning I was told business weren't happy with one of our decisions to delay one line item. Although they were all top priority (P0), one of them was actually higher than that again (P-1?) and we need to work it back in.
... so back to step 1
- Mid way through Q2, a new document will be created for Q3. Work items that didn't make the cut will be manually copied from one to the other. 50/50 whether anything that didn't get done on time in Q2 will make its way to the Q3 doc.
- "Tech excellence" / "Tech debt" items (unit/UI tests, documentation, logging, performance, stability etc) will never be copied over. Because product doesn't understand them and assumes therefore that they are unimportant.
PS: I'd like to say this was a rare event for Q2, but no. Q4 and Q1 were so bad, we were made assurances from the director of engineering that he would fix this process for Q2. This is the new and improved process (I shit you not) that has resulted in nothing tangible.8
Got a LinkedIn message from a recruiter looking to know if I’m interested in a full stack developer role, to only work on front end. The requirement is that I know one of:
“go, node.js, rails, python, C# .NET, RoR etc”.
I wonder who it is that doesn’t have a clue, company or recruiter (or both?).
I’m actually going to reply to this one for fun to try figure out this mess (yes I’m that bored)20
I've been wondering for a while, how the backend my team has to use could have so many issues. I was convinced they had no alerting system in place and have been commenting on it for a while now, and complaining about it.
Was on a Zoom call with one of the backend devs today, he shared his screen and had his email open. I saw a folder he had setup called alerts, and sub folders under that. One of them was named the name of the service/app we are using ... it had over 360,000 un-reads ... and emails are automatically deleted after 4 months in my company.
So they have alerts setup, they just don't care ... problem solved. Enjoy your weekend folks!2
Sorry if I make a typo, my hands a still a little shaky, just had to stop myself from crying.
This morning I came in, opened my email, saw an automated response from Jira saying .... saying ..... saying the backend team provided details about their new endpoint.
After a year of screaming, they finally did it. It was so beautiful I fell to the floor and wept like a baby.
Thank you all for your support through this difficult time. Together we can accomplish anything!!!8
A song that perfectly captures my working life. Very beautiful, nearly brought a tear to my eye.
Me: Right, its Monday, time for a fresh start. Things have been unbearable, but i've nowhere else to go just yet. I gotta just dig deep, ignore everything bad and just get it done, It's all about positivity right? Lets just ignore the little things and keep moving.
*My morning so far, 2 hours in*
Remote dev: (timezone 5 hours earlier than me) Hey so whats the plan for this quarter?
Me: ... I posted a big detailed plan in the group chat on Friday night so you wouldn't be delayed ... but anyway, lets just move on. I need you to work on A, B and C. A is just copying what Android has already done, for B one of the backend guys working next to you is doing this, he'll be able to help you. C is all documented in the ticket.
Remote dev: cool thanks.
Local dev: So I was just chatting with remote dev ... yeah he told me he has no idea what he's suppose to do.
Me: ..... Ok i'll book a video call with him in the morning. Can't do it right now.
Remote dev: Hey i'm helping the BE team do some testing. I found a bug in Android. Homepage says theres no trips. But Offers screen says there is.
Me: Ok so just to confirm, The "available" offers screen has offers to accept, but the white notification on the homepage saying "You have X offers to accept" is not showing up?
Remote dev: Correct!
*debugging for 5 mins*
Remote dev: actually no, the "accepted" offers tab has offers, but the homepage says there are no upcoming offers to work on.
Me: ..... ok, thats very different ... but sure, let me have a look.
Me: Right so the BE are ... again ... sending down expired offers. Looks like the accepted tab isn't catching it and the homepage is.
Remote dev: Right i'll open a ticket for Android.
Me: ... and BE team.
Remote dev: why?
Me: ... because they once again have timezone issues. This keeps causing issues in random places. BE need to fix this everywhere.
Remote dev: right, i'll chat to them and see if they can fix it.
Product: So this ticket xxxxx is clear right?
Me: eh, kind of, so you want us to add feature X to user type A?
Me: right but I don't see anywhere talking about the time it will take to build the screen for feature X
Product: What do you mean the screen?
Me: ... well, feature X is only accessible on screen Y ... we would have to change screen Y to support user type A ... you know ... so they can ... use the feature
Product: .... hhhhmmm .... i suppose you are right. Well we can't just add screen Y, we'll have to add W and Z, it won't make sense without them.
Me: ... ok sure, but our estimates put us over for this quarter. I don't think we can just add in 3 screens.
Product: No this is a must have.
Me: Ok so we'll have to drop something else.
Product: hhhmmm, don't think we can ... let me get back to you.
Backend team invited me to a meeting at 6am my time on Friday.
... 2 hours into Monday ... there must be vodka around here somewhere1