Ask HN: Stay or Change Jobs?
I am 36, it's my first programming job after getting a BsC. in computer science and the company I work for sells app solutions that are basically off-the-shelf apps that are stylized and customized to each customer.
The problem is that I am basically not doing any real programming, and I even feel that I am regressing. I am paid very well, more than all of my friends from university, but work is incredibly boring and continuing with my current tasks won't exactly improve my CV and development skills.
These are some of the problems:
- a lot of administrative overhead: a great lack of CI/CD pipeline
- spending time arguing with UX: we are supposed to use standard components in Android/iOS, but they make designs based on web that can't be customized the same way, it sometimes stall tasks for days due to a lack of communication
- no real development tasks: it's more about changing values and adding images to a specific customer than actually spending any time coding
- my colleagues either have little experience, or a lot of experience but without any understanding of design patterns, architecture, testing etc.
TLDR; I spend almost no time coding and most of it on styling, adding images and administrative tasks on backend. I absolute hate all of that.
The positive sides are:
- all my developer colleagues feel the same as I, but I have much less tolerance for how things are going
- I like everyone I work with, even the designers although they frustrate me
- my colleagues want the same improvements as I, but they aren't tough enough to vocalize and press management about it
- my immediate boss knows that the situation is ideal and he knows we are understaffed and is pressuring to get more people
- the technical change to improve the current system is interesting and something I want to do, both CI/CD, improve the structure and reusability of components in the system etc.
I don't necessarily feel that I have wasted a year, but I can't help to wonder how I am regressing in programming skills due to what I am working with. I also despite the way things are set up and how much time is being spent micro-managing all of the manual systems. In a sense I am being burnt out because this kind of work is the exact opposite of what I want to do.
In a few weeks I will have the year in review meeting with my boss. I will be telling all of things and I won't be holding back, we have a very good relationship and can be honest and up front. The thing is, can this actually be salvaged?
I will say that I cannot continue the way things are going, I will demand that improvements and actions are taken so that us developers actually spend time developing and not all of the other administrative stuff – things have to improve, and relatively fast. Especially since I told him during the interview what my goals were as a developer.
I have no doubts that my boss will take these things seriously, but my doubts lie more in how fast things can change and the ability to change as well – mostly because my colleagues are just continuing how things are going even if they are agreeing with me.
There are two basic questions I have from this:
1. should I switch jobs, or is there a chance this can be improved?
2. should I continue with iOS, or is it the norm that mobile apps that are mature basically end up in a continuous maintenance mode?
Personally I value knowing and utilizing certain principles like SOLID. Working with TDD is enjoyable for me, I like design and architecture patterns and creating smart solutions with CI/CD. Optimization is a fun challenge and finding great solutions to a specific problem – whether is it for an entire app, system, or a particular important part of the system.
Thank you for reading the wall of text!