6 YOE - Greener grass dilemma, lack of experience elsewhere
Posted by average-eridian@reddit | ExperiencedDevs | View on Reddit | 3 comments
Hi Everyone,
I'll try to be brief, but I'd just like to receive some input. I'll take advice, anecdotes, whatever you're willing to give.
Current Situation
I've got about 6 YOE as a software engineer in a larger company, my only industry experience. There was little to no technical leadership when I started, so I have worked hard to learn everything I know now largely on my own or collaboratively with others at my same level. I now have plethora of backend and cloud under my belt, a bit of frontend, some devops, CI/CD, etc. I have worked in development roles, leadership roles, and overall as someone who simply does what needs to be done. I have done some great things, and I have also made a fair number of mistakes.
Through my tenure, I have become respected, having been given larger projects with significantly more visibility. For a while, I was gaining more autonomy as well. My long-term goal was to utilize the autonomy to affect change, encourage greater standards, and advocate for more junior-friendly dev teams.
Concerns
- With more visibility, autonomy is backsliding. Management has been involved at deeper level, as they care more about outcomes of projects more visible to upper management. As you would expect in any decently sized company, several factors come into play--politics, AI hype train, reorganization, etc. This deeper involvement and less autonomy is making it more difficult to be successful as a leader.
- As a team, quality and long-term sustainability has also taken a backseat, despite pushback from those of us with more seniority. Everything has to be done at break-neck speeds with ill-defined requirements, because we want to show that we can keep up with the times. No product owners, not knowing the users, some work done in an attempt to show that we can stay ahead of the curve. Some stuff will end up thrown away, some stuff requires significant refactor, a smaller amount actually gets used. I anxiously await the long-term consequences of choosing speed over long-term sustainability.
- I feel that my growth is stagnating. I'm not learning code, I'm not learning healthy and sustainable leadership. I'm not affecting change, and it doesn't seem I will be able to in the near future. I am currently wearing multiple hats to get a new team to move forward, while also trying to play cleanup behind them.
From a work-life balance and culture perspective outside of what I've mentioned, we are pretty good. We're not pushing long hours, feedback is greeted with open ears for smaller things (even if not everything is resolved). I am well-regarded and trusted with important work. My colleagues are 90% hard-working, thoughtful, intelligent people. It's not all bad.
The typical attitude toward these expressed feelings is that the grass isn't always greener on the other side, and without other industry experience, it's hard not to gaslight myself one way or the other. I fight some imposter syndrome as well, knowing that I have a seemingly atypical experience that is across a variety of domains and not focused on one; I don't know how I stack up in the industry.
Questions
A few questions I have:
- How typical is the go fast, no requirements, no PO, no tests, etc. method of working? Is everyone fighting this in the current software climate?
- How useful is my experience in the industry? I'm sure that I will have gaps in my knowledge and experience. Will I have to work hard to fill in these gaps if I do wish to look for more work? Would having less of a focus in any domain make being hired significantly more difficult?
- Any other thoughts that I haven't considered?
If you've made it this far, thank you for reading and I appreciate any perspective you may provide.
the-code-father@reddit
My take is that unless you hate your current job, think you will lose it anyway in the next 6-12 months, or have a significant pay raise lined up. You should probably stay where you are.
That said, if you have grown as much as it appears that you have. You are almost certainly not being paid what a new company will be willing to pay you.
For context I have a bit over 7 YOE and I think this year I’ll break 500k. I have job hopped twice, once at 4 YOE to go from 180k to 310k and then again a couple months ago to go up to my current comp. There’s no way these comp increases would have been possible without the job hopping.
Job hopping also forces you out of your comfort zone and learn new things which is never a bad thing. It does come with some big risks though, you never know what team culture you’ll end up with until after you’ve started the job.
aghost_7@reddit
In my opinion it sounds like you have a solid list of items you want from a company and your company isn't providing these things. I would recommend to start looking at your options. You don't have to decide if you want to change of company right now, start applying and during the interview process make sure to ask plenty of questions. If you find a company you really like and end up getting an offer, that is when you will need to decide whether to stay or move on.
ohmomdieu@reddit
Regarding your questions: - The answer here is “depends on the context”. If we are talking about building prototypes to validate some initiative quickly then yes, going fast and no tests speeds up things as the main goal is the outcome from a product or business perspective. Once validated, technical debt can be addressed properly. This is the ideal scenario but more often than not, it is neglected. Now, the no requirements point is more concerning. If you mean getting a ticket with a vague title and blank description, then chasing the author needs to happen in order to get some clarity. Doing this normally is a red flag to me, people should be educated gradually to prevent this kind of situations. Otherwise it’s a waste of people’s time and company money. It’s a people issue and hard to fix completely. - Based on your description, I would say your profile is quite common and I mean that in the good way. Being a kind of jack of all trades is great for a given type of companies, other seek more specialized people. Really depends on the market and also on your preferences. If you enjoy it the way it is, keep pushing for it. As long as your knowledge and experience are not stagnant, you will be in demand.
You keep saying “in this industry”. Are you referring to the tech industry in general or to your company’s specific industry? Not sure which one is the latter.
Asking, as it does help having worked on different industries (as in business industries) specifically from a tech perspective, since it allows you to tackle similar problems in very different contexts, and therefore broadens your own tool belt. The opposite also can apply: someone that worked on the very same business industry for years (like logistics) may still work on different companies related to it, and will be in demand because of their highly specialized knowledge of that particular business model.
Overall your situation doesn’t sound that bad. Politics and incompetence from upper management is always going to be there to some degree, unfortunately. If you can avoid it or at least navigate it without a major impact on your work/life balance, you should be fine.
Keep on expanding your knowledge, doing great work and you will have no trouble when looking for next jobs.
My only piece of advice would be: document every relevant work you do in a personal notebook or something so that you can refer to it when updating your CV or interviewing. Time flies by very fast, 6 years in a blink of time and another six more so. Unless you have great memory, it’s better to keep some sort of journal about your relevant work. Remark on relevant: anything that took you time, was well received, conflicts you had to solve (about people, management of some sorts, etc). Failures as well. It will help you tremendously to improve on the professional side and also to ace the interviews you may have in the future.