SkillsiOS: Swift, Objective-C, C# | Python
Joined devRant on 5/23/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Being a Woman in Tech® is exhausting because every time we know something a male superior doesn’t, we have to end our statements with “but maybe I’m wrong, what do you think?” so they feel like it’s their idea and take the topic seriously.
I used to be adamantly against this type of coddling but they beat it out of me. You can only be straightforward and confident a finite number of times before you’re pulled aside and told you’re “cocky,” “arrogant,” “irritating,” etc. So many of us use this strategy to avoid those labels, but it’s a tiring part of the job we shouldn’t have to think about.26
First I wanna say how grateful I am that devRant exists, because my friends either don’t understand this vocab or don’t care lol.
Last week I worked on a pretty large ticket, opened a PR with 54 file changes. Just to follow standards I set the PR milestone to a future release version, but the truth is I didn’t care which version this work ended up in— I just needed it to go into the develop branch asap.
Since it was a large PR there was some expected discussion that prolonged its merging, but in the meantime I started a second branch that depended on some of the work from this branch. I set the new branch’s upstream to develop, fully expecting my PR to merge into develop, since that’s what I set the PR base to.
I completed all the work I could in the new branch, and got two colleagues to approve the initial PR so it would be merged into develop, I could add the finishing touch and get this work done seamlessly before the week was over. They approved, it got merged, I pulled develop, and… my work wasn’t there. I went to look at my PR and someone had changed the base branch to a release branch. It was my boss, who thought he was helping. (Our bosses don’t actually work on the same team as us, so he didn’t know. it’s weird. We have leads that keep track of our work instead.)
I messaged him and told him I really needed this in develop, knowing our release branch won’t be in develop for probably another week. I was very annoyed but didn’t wanna make him feel too bad so I said I’d just merge the release branch into my new branch. So many conflicts I couldn’t see straight. His response was “yeah and you’ll probably have a bunch of package manager conflicts too because that’s in that release.” He was right— I have so many package manager conflicts that I can’t even see how many compiler conflicts there are. I considered cherry picking my changes, but the whole reason I set develop as my upstream was to avoid having any conflicts since I’m working in the same functions, and this would create more.
So I could spend the next (?) days making educated guesses on possibly a thousand conflict resolutions, or I can revert my release branch merge and quietly step back and wait for the release branch to be merged into develop.
I’m sure cherry picking is the best option here but I’m genuinely too annoyed lol, and fortunately my team does not care to notice if I step back and work on something else to kill time until it’s fixed automatically. But I’m still in dire need of a rant because my entire plan was ruined by a well-meaning person who messed with my PR without asking, so here is that rant and I thank you for your time.8
My lead: Here's an epic to remove a framework from all our projects. I want you to write every planning step in a document before you make any tickets or do any work.
Me: Okay cool. Before I do that, I'm just gonna finish the removal from the project we're 99% done with so we can remove that from the planning stages. I already did it locally with no issues so we know it's a 1 pointer. That takes us from two dependency graphs down to one which will help immensely in planning.
Lead: No. Don't make any tickets, this is a spike. Just put it in the document so management will know how long we expect the whole thing to take. And make sure you pull in this engineer from a completely different team who has his own tickets and doesn't even know I'm doing this. Make sure you include him on everything.4
This is more of a rant with a question within:
It's International Women's Day and I did not see this hitting me like it is lol, but I have a question for my fellow devs all over:
Do you actually like the system of developers making up fake doctors appointments (or whatever) to go interview with the competitor because they don't feel appreciated at their current company?
Do people actually like sneaking around and telling lies and constantly having to prove yourself to new people instead of just having a process in place to rectify the situation where you work?
And do you actually like having to spend so much time and energy negotiating pay so you don't get ripped off?
I know this happens to all of us, regardless of how we identify. But I once had a recruiter call me the day after she talked to my best friend, a male dev (same experience level), and using his same techniques that we practiced together, she offered me almost $100k less for the same title she offered him the day before, despite the strongest negotiating of my life. She insisted the company simply could not go higher. This affected my friend almost as much as it affected me-- this really does happen. We're not making it up. Sometimes not even the best advice can change the reality.
Shit like that is just depressing, and reminds me that it probably wouldn't be that different if I went somewhere else anyway. But I'm wondering if you like that hustle, or if you too wish it wasn't needed.18
Have you ever been in a position where you become the de-facto person who works with a certain tool, but are denied full admin access to that tool for no real reason?
Two years ago I was put on the Observability squad and quickly discovered it was my thing, implementing tracking and running queries on this third-party tool, building custom stuff to monitor our client-side successes and failures.
About a year ago I hit the point where if you asked anyone "Who is the go-to person for help/questions/queries/etc. for this tool", the answer was just me lol. It was nice to have that solid and clear role, but a year later, that's still the case, and I'm still not an admin on this platform. I've asked, in an extremely professional way armed with some pretty good reasons, but every time I'm given some lame non-answer that amounts to No.
As far as I'm aware, I'm the only dev on our team at all who uses custom/beta features on this site, but every time I want to use them I have to go find an admin and ask for an individual permission. Every time. At the end of 2020 it was happening once a month and it was so demoralizing hitting up people who never even log into this site to ask them to go out of their way to give me a new single permission.
People reach out to me frequently to request things I don't have the permissions to do, assuming I'm one of the 64 admins, but I have to DM someone else to actually do the thing.
At this point it feels very much like having to tug on the sleeve of a person taller than me to get what I need, and I'm out of ways to convince myself this isn't demoralizing. I know this is a pretty common thing in large companies, meaningless permissions protocols, and maybe it's because I came from IT originally that it's especially irritating. In IT you have admin access to everything and somehow nobody gets hurt lol-- It still blows my mind that software devs who make significantly more money and are considered "higher up" the chain (which i think is dumb btw) are given less trust when it comes to permissions.
Has anyone figured out a trick that works to convince someone to grant you access when you're getting stonewalled? Or maybe a story of this happening to you to distract me from my frustration?13
The presumption of incompetence:
Has this ever happened to you?
Starting a task and chatting with a fellow dev-- my first time implementing analytics in this particular app. I mentioned to them that I've been doing analytics implementation on various apps at our company for years, but our current apps' analytics setup is the most intense and this will be a good learning experience for me to dig into.
They responded by sending me code snippets of existing analytics implementations to help me. Not hidden or lesser-known classes, very obvious ones I already had open and was working off of. With advice like "just search the codebase for 'analytics' and 'trackPage''" lol.
I like this person a lot, but this definitely caught me off guard. It felt like something her obtuse manager would do, but not her. This would probably not be a big deal to most but I'm so used to being given unsolicited/unhelpful/irrelevant advice from male devs, and having to be pleasant and thank them, this one was tough to witness.
How do you respond to unsolicited "help"? Does it bruise your ego the way it bruises mine? lol12
I wrote a whole custom node js project because an exec wanted to see this tool work a certain way, I’m an iOS dev but I got it done the day he asked, and when I went to push it I realized I didn’t have the right account permissions. This service has “add-on roles” for accounts and I’ve had to ask for them before, so I went to that guy and he never responded. Then he went on vacation.
This morning I mentioned it in standup and my lead recommended I reach out to his boss, which sounded great bc we have an even better rapport than I do with the other guy.
His boss first said “that sounds reasonable” and then proceeded to TALK HIMSELF OUT OF IT and tell me to either find someone else to upload it for me or sit on it til the other guy gets back from vacation.
Does this ever end? Bc I used to chalk it up to first-year dev probs but we’re coming up on 5 years now and I don’t know what I did to deserve this torture2
When there’s a glaring user-facing issue in your company’s app that can cause the user to spend mobile data after specifically choosing a setting that’s supposed to prevent that.
And your boss says your fix is “out of scope for the current sprint.” And the product team agrees with him.
I ALREADY DID THE WORK AND HAD IT VERIFIED BY QA.
Sometimes I Hate agile. Then again, I don’t think we’re doing it quite right anyway.2
Biggest teamwork fail? This is the general way we do business where I work right now:
My boss didn’t want to be the kind who hovers, always micromanaging. He also hates the idea of taking programmers away from their work for meetings. Sounds great, right? This has resulted in:
• All non-lead devs being excluded from all meetings other than scrum (including sprint planning and review meetings). Nobody ever knows what the hell is going on. They don’t think we “need to know.” This means most of our day is spent trying to figure out what needs to be done, rather than getting anything done.
• Our remote boss making dozens of important decisions about our platform, never telling us, and blaming us for not forcing our lead to be more communicative.
• Pull requests staying open for weeks, sometimes months, because nobody has definitively decided what version we’re actually supposed to be working on. This means our base branch could be any of them, and it means PRs that have been opened too long need to be closed, updated, and re-opened on the false promise of someone actually looking at it.
Just ranting here... but I think our biggest teamwork fail is happening right now, with all of those things ^3
How did you break through your own barriers to finally learn programming?
My SO is constantly complaining that we don’t have enough money. I make a decent amount as a full-time dev at a large company, but we live in an expensive city and are currently going through a time of few funds.
He started driving delivery food orders, he likes it okay, but it pays very little. He still complains about money.
He doesn’t want to learn. He doesn’t think he is capable. I remember this feeling before I learned to code. A chunk of someone else’s JS does look genuinely terrifying if you don’t know what it means. I want him to give it one honest try before he decides it’s “not for him,” but he isn’t open to it enough to try.
What can I do to help him understand he is capable? He’s in his mid-30s and insists he’s too old to catch up. He’s smart, detail-oriented, and I know he would write code that’s a million times cleaner than mine. He absolutely has a programmer inside of him, and I want to encourage him to simply try.
Is there something I can to do introduce JS in a non-threatening way? Or should I just accept his refusal and let it go? Thanks for any advice.19
I just have to rant...
7 months ago, I was still a pretty new iOS developer, but finally coming into my own. My boss gave me my first feature ever... a fully custom backend tweaker for our development builds, complete with text fields that devs and testers alike could fill in themselves for whatever they needed to test. I worked harder on that than I’ve ever worked on anything... and I got to make all the decisions on how it looked, behaved, what exactly the user saw/read... everything.
A month ago the most senior dev on my team was asked to update the tool to prepare for a backend migration to a new server. He was then hired to work for Apple, hurried to finish this task, and left forever. (He deserves it, we probably were slowing him down realistically. But that doesn’t forgive the following...)
Unfortunately, he thought it’d be a good idea to remove my entire custom backend tool in the process. Not sure why— maybe he thought it was legacy code or something. He must not have tested either, because the entire backend selector stopped working after that. But that was no problem— I could fix the pre-filled environment buttons just by updating a few values.
It’s the fact that he removed 100+ lines of my custom code from 3 separate classes (including entirely removing one of those classes), for no known reason, and now I have to completely rebuild the feature. Since it was entirely custom, it required no change for our migration in the first place. But he rewrote how the entire view works by writing an entirely new VC, so there is no chance I can just restore my work as it was written.
And in the shared class, he erased every line with the word “custom.” So, so many lines of hard work, now irrelevant and only visible in old defunct versions. And my boss has asked me to “just make it look how it did before the migration.”
I know it’s useless to be angry at a guy who’s long gone, but damn. I am having a real hard time convincing myself to redo all this work. He removed every trace, and all I can think is WHY DID YOU DO THAT YOU FUCKING MONSTER? IT WAS MY GREATEST WORK, AND NOBODY ASKED YOU TO DESTROY IT. THIS WAS NOT EVEN RELATED TO THE TASK YOU WERE GIVEN, AND NOW A SIMPLE TICKET TO RESTRUCTURE A TOOL HAS BECOME A MANDATE TO REBUILD IT FROM SCRATCH.
Thank you for being here, devRant. I would’ve gotten myself into deep trouble long ago if I didn’t have this safe place to blow off steam 🙏4
Waiting to merge the rest of the team’s new code because you don’t want to deal with migrating your test account to a new backend until your feature’s ready, finally finishing your feature (!) and then seeing 100+ merge conflicts and realizing you‘re better off just re-implementing all your feature code into a new branch, & deleting every trace of your old branch so nobody sees the 1000+ merged commit mess you’ve made -_- today was supposed to be easy...
WHY WOULD ANYONE NEED THREE DEPENDENT SUBMODULES ANYWAY?!?! 😩1
Every time I tell a more senior dev I need help, they tell me to try the obvious things, I tell them I tried those things already, and they think I must have just done it wrong. So they spend an hour explaining to me how to do something I literally just did, and then more time trying the exact same things I just tried. Nobody wins.
Except for me when I find the correct solution while they’re re-implementing the failed solutions because nobody trusted me.
Sadly, this happens all the time. “Did you try a and b?” “Yeah, no luck.” “Okay, so when you try a, you have to remember to call c and d. Let me explain...”
So much wasted time. But the silver lining is in getting to be the one who found the solution (until they wonder ‘why’d she even come to me anyway if she knew the answer?’ ... 🙄) Because I trusted you to know what “team” means, and it’s not too late to learn ¯\_(ツ)_/¯5
Anyone else usually WFH on Fridays?
I noticed a lot of other people doing it so I just... quietly started doing it too. My boss is remote so I think it’s okay... at least he hasn’t said anything yet 😏3
Agile devs— do you attend sprint planning?
I want to, but my boss told me not to go (waste of my time, he says). Only leads attend them, then they come back with tickets for the rest of the team. But a few other devs I’ve spoken to found that absurd, since attending lets you choose your tickets to a certain extent.
Do you attend yours? Is it crazy not to? Am I missing out? (I ask bc ours is happening right now— and it’s so empty in here!)4
When you look through your team’s custom protocols to figure out which one you need, and someone has not only made a massive typo, they then DOUBLED DOWN on the typo and made a bunch of dependencies based on that typo.
As in, the word “downloadable” spelled three completely different ways, and EACH ONE is treated like a different class with its own attached dependencies.
AND THE COMMIT MESSAGE ATTACHED IS “lots of cool stuff.” HOW IS THAT A COMMIT MESSAGE? WHICH ONE DO I USE?!
I’m never finishing this ticket, I’m going to get fired, etc. 😡😡😡😡😡1
I’ve pretty bad ADHD (diagnosed) my entire adult life, so focus has been a huge struggle for me forever. Here’s my strategy:
- Noise-canceling headphones blasting chiptunes (Spotify has some, but YouTube has the best selection of old-school video game music) I’m usually way less distracted if I listen to music without lyrics.
- A chair cushion (I actually use one of those ridiculous donut ones, but I put a normal sized pillowcase on it. SO comfortable, even after many hours.)
- THE POMODORO METHOD. 25 minutes hardcore coding/debugging, followed by 5 minute intervals for breaks, like checking fb, etc. (Breaks are totally optional if you’re in the zone tho 💪) It’s a great way to reward your brain for focusing.
- And if all else fails, the looming threat of unemployment is always there to keep you motivated 🙃 (Sad but true— always crosses my mind when I’m starting to fall behind on a task)2
I used to work IT in an entertainment startup, and now I’m an iOS dev at a big entertainment company. Several people from my old company have been reaching out to eagerly tell me about their new app idea I just have to hear, asking me to help code their app— and have even hinted at me quitting my nice safe job to join their great new startup that doesn’t even exist yet.
I know this must happen to app devs all the time. What do you say?
How do you deal with telling these nice people who just don’t understand it doesn’t work that way, without crushing their dream? I have a coffee meeting planned to tell one of them “You should learn to code so you can make a proof of concept,” but I fear that won’t be received well.
What’s the standard protocol for telling people you won’t be able to code their magic app idea?10
If I had a dev superpower, it'd be to put myself in the exact mindset of the author of the code I read, at will, so even the comments that never got written would be understood.
I would learn so much, about code && people!1