Need career advice. Have the opportunity to job hop from iOS to backend.
2 replies, posted
First, a bit of backstory. I got into programming 11 years ago, when I was 13. From GMod, like most people on this forum. Since then I have basically been fucking around with a ton of different languages/platforms over the years. First PHP, then Java, then iOS (Objective-C / Swift), then jailbroken iOS (Objective-C, Lua, C) and backend (Postgres, Redis, OpenResty, Python, Go). Basically I can code in whatever I want.
I've been indie for the past 5 years or so making iOS apps on Cydia while I was in uni since that was easy money. About a year after uni ended the money from my apps dried up (jailbreaking died) so I started applying for jobs in the SF bay area. Since on paper, most of my experience is with iOS, it was easier to apply to iOS jobs since I had no work experience (whatever that means). Ended up joining a startup about 6 months ago and have been there since.
There are a lot of things I don't like about this job. At first I thought it was just because I hated working. And maybe it is. But there are a few things that are starting to irk me.
First off I have pretty much no autonomy in what I get to work on. My manager assigns me a ticket and I'm supposed to just do it. Fix the margin on this WKWebView, fix the keyboard from coming up at the wrong time, make this TableView stop lagging when it's loading new cells, shit like that. Basically just battling Apple's shitty APIs and putting band-aids on his poor architectural decisions. I essentially have zero input on the larger architectural side of things. Even though I've been doing this shit for 10 years. He keeps saying I'm too "junior", simply because I have not been programming for a salary for the past 10 years.
There's tons of glaring architectural issues with the codebase that I try to bring up that falls on deaf ears. For instance:
We have two "versions" of the same app, one for desktop (Electron / browser) and one for iOS. Pretty common in the industry I think. We have some logic in the iOS app that's written in C++ which we constantly have to port back and forth with the JavaScript implementation for the desktop app. I volunteered to port the C++ code so that it would work with WebAssembly. He said no, "we need to have a discussion about it". Even though we literally were having a discussion right then and there. Never brought it up again cuz what's the point.
We're using this FOTM database framework that's "Swift-friendly" that's breaking all the time. If I was the manager I'd just say use SQLite.
It's not just the work itself. It's also that "we're gonna be the next Google" type startup self-promotion bullshit. Like I don't give a fuck if this company actually ends up overtaking Google. I just want to get paid to write code. There's also other stuff like how our office is literally just a giant room with everyone in it (open office) and how my manager has an insanely huge ego and loves to interrupt people while they're in the middle of programming (instead of being courteous and messaging us on slack).
Anyway enough about that. I've been reconnecting with a friend from high school, who I used to play GMod and make addons with when we were in middle school. He was smart enough to start working straight out of high school so he has 6 years of work experience under his belt. He keeps trying to get me to work at the startup he's at and I'm this close to pulling the trigger. It's backend which is something I want to get into. I spent a few days hanging out with him at his office and it seems way bbetter. There's no open office, there's no startup kool-aid drinking bullshit either. They get work-from-home wednesdays and the pay is way better than what I'm getting. I'm getting paid $105k and he said I could probably get $150k. There's also waaaaay less office politics there. People openly talk about their salaries and nobody tries to make themselves look good. And plus I get to work with my friend from high school, so I'll actually have friends at work instead of having to put on a mask every day.
Basically my question is: when should I quit? Should I tough it out for 6 more months to get a year of experience and not burn the bridge? Or is it safe to jump ship now?
I did an internship on front-end windows app development with a similarly frustrating experience battling decrepit APIs that don't function properly to begin with, and only got worse on newer versions of Windows.
I did an internship working with backend, which I discovered can be way worse. Working with a bad API is one thing... working with NO API in a backend written entirely in interweaved database queries is another.
Don't burn bridges; leave gracefully if you have another opportunity lined up. "Real" jobs will wait for you, if you want 1-2 months to smoothly exit your current employment without burning bridges. You need your contacts and you need your work history on your resume to be something you can show off.
I had 5-15 open tickets at any one time, and it was up to me to pick which I worked on. That made it much more bearable, and along with nice coworkers made me actually enjoy my job despite the flaws.
You should explain your frustration working with single specific critical tickets to your team/manager. It isn't maximally productive to throw you at a single problem until it's solved; moving between different tickets gives you time to mull things over and return to a ticket with a new approach, or even apply experience gained from solving another ticket. If the ones you're working on right now are CRITICAL and need solving ASAP, perhaps you'd like to work with less important tickets to help familiarize yourself with their ecosystem of code.
If they're as newage as they pretend to be, they should be interested in hearing from their workers what would make them happier and more efficient.
Thanks for the thoughtful reply.
I had 5-15 open tickets at any one time, and it was up to me to pick
which I worked on. That made it much more bearable, and along with nice
coworkers made me actually enjoy my job despite the flaws.
This is what I basically have too. Which is now making me doubt myself. The thing that really sucks about this is I have no basis for comparison here.
Like, I'm pretty sure I will like this other job much better (mainly because I'll be working with my friend, and getting paid $45k more) but I don't know if that's a good enough reason to quit my current job. Like maybe all of the "suck" I'm experiencing now will be present in this other job in another form.
Also I can't really quit without burning the bridge. The codebase I'm working in is pretty complicated and it takes a while for new engineers to ramp up, I'm at that point (6 months) where I am pretty much fully ramped up but haven't "given back" yet. My manager is saying that the company is investing a lot in me and I'm inclined to believe him.
All signs point to staying for a bit longer but fuck I really don't wanna do that. It'd be so much more chill to just quit and join my friend. But that's probably not smart.
idk :/
Sorry, you need to Log In to post a reply to this thread.