This is a cross-post from flawedengineer.dev
Have you ever hoped for a change in your job/company ? Have you ever felt the burning desire of leaving your job for a new one out of frustration ? Well...you're not alone.
It can happen to dislike how things run. Especially in a work environment. Unless you're one of the lucky ones. There are different ways we can react (or not react) to this feeling. I wouldn't say one is better than the other and as it often is with these things...it depends.
I went through a frustrating period at work. A period where things felt backwards. No organization, no decent planning, no coding standards, no peer reviews. This happened early in my career.
I tried to fix the problem seeking for an external change. I was trying to help hire someone who could enforce better practices. Someone who would push the team, and the company to follow higher standards.
And that's not a bad idea but you're tying your happiness to an external factor. This means you're depending on something you have little control over. You might get lucky but in an engineer mindset, you want to optimize for the worst case scenario. That being that you won't find that mentor, lead or whatever else that'll fix the problem. So how do you handle that ?
If you think there's not much you can do, it is worth considering leaving. And don't feel bad about it. Surrounding yourself with people that have higher standards is beneficial for your growth. This applies both on a personal level and on a career level. Is leaving the only solution ? No.
To some it might sound obvious but I had a "a-ha" moment. I did enjoy the people I worked with, I did love the project I worked on and the tech we used. Despite all of it, I thought about leaving, until my "a-ha" moment. What if I brought the changes I wanted instead of looking for them somewhere else ?
That's how I'll introduce you the alternative approach.
That was it! That was the best of both worlds. I got to stay, work on projects I love, work with people I enjoyed and bring the standards to a higher level. That's when I started pushing for changes, that's when I started taking the lead on projects.
My goal was to show a better, more robust way to apply good engineering practices to a project. The hope was for those practices to stick so that it would become the standard. That's when we introduced peer reviews, doc for best practices, and finally some testing!
I felt like that was one of my biggest contributions since I joined the team. My peer reviews were very detailed but not nit-picky. They often sparked some interesting conversations! ✨ ✨
My coworkers felt motivated to push themselves and do better. And on top of all this, my code got peer reviewed as well. This was absolutely incredible! I was learning from my teammates just from one simple decision. Being the one pushing the engineering team to do better paid off.
It's common to find ourselves being unhappy with how things run at work. We can take a few different paths and it's on us to understand which one is the best fitting. My recommendation is to always try your best to be the change. If you like the company, the people, the projects, that's an additional motivation to try your best first before moving on.
This is important because you want to make sure you did what you could to improve the situation. Unfortunately that doesn't always work. If you'll end up deciding to leave, you won't have any regrets.
But don't wait around for something to just happen! If you decide to go the external or internal path, make sure that is a decision that depends on you, not something else you have no control on.
Be in control.