1. 程式人生 > >These are the reasons Software Engineers don’t leave their jobs

These are the reasons Software Engineers don’t leave their jobs

These are the reasons Software Engineers don’t leave their jobs

Please note: This article is my own opinion and not reflective of any company’s views.

Tech companies are always trying to figure out how to keep their employees happy in their jobs. It’s no easy feat though, and the people in tech I’ve spoken to stay at a particular job for around 18 months or less on average. Whenever I ask any of them what is the reason, it usually stems from the same problems.

Here are six reasons people actually stay at their jobs that I feel matter. Of course, salary is important but it doesn’t stand on its own feet without the following.

1. Getting along with the manager

They say people don’t leave their jobs, they leave their managers. This couldn’t be more true. You should be able to relate to your manager, see eye-to-eye and feel like you can trust one-another. Your manager should stick up for you and you should feel like they are on your side. They should speak to you with respect, dignity and not order you around, abuse their level of control or insult you. Some of the best managers I’ve had are also great friends of mine to this day.

Management is probably one of the hardest things to do. When I say it’s hard, I mean it’s hard if you want to be considered a good manager. You need to work extremely hard for your team, manage expectations and keep morale high… It’s not for everyone.

On my first day, my manager introduced me to everyone, organized a team lunch and we all clinked drinks with the words, ‘Welcome to the team, Shaun’. I have weekly one-to-one meetings to see how I am doing if I have any problems, and always feel reassured about the work I do. These are the little things that make a difference.

2. My ideas and contributions matter

This may have more to do with the fact that I am in a senior position now, but I feel like the ideas others members on the team and I actually push for do make their way into our applications or our workflow. It may be something to do with the company not being a large corporation, which generally tends to contain a lot of strict regulation for change.

A lot of people get fed up with the fact that they cannot initiate change in a company. Young minds bring fresh ideas that should be embraced, but most of the time they’re not, and that is a shame. When a company has a set way of doing things, it’s too risky for them to change because everyone is too comfortable. Companies have to take risks to move forward and innovate.

When young minds feel like they cannot make a difference they lose their passion and drive for that company. Then they decide to find somewhere that will allow them to innovate. Usually, a smaller company such as a startup gives them that opportunity.

3. I have the flexibility to work from home when I need to

We spend most of our lives at work. For me, I commute on the train to London and it takes me approximately fifty minutes door to door. When I lived with my parents a while ago, I used to commute to London and it took me an hour and forty-five minutes each way. It was horrendous, but I managed to read a plethora of books on my journey. Even every edition of Game of Thrones, so it wasn’t a huge waste of time.

My boss at the time said ‘you can work from home now and again but of course don’t abuse it’, which is understandable. A lot of trust is being placed on you when you are not in plain sight, but I think allowing you that flexibility when you have to wait home for the boiler to be fixed by the local plumber is a godsend.

I have found times where working from home has actually increased my productivity. I have fewer distractions and it’s quiet. I don’t need to put on my headphones and I can focus on my tasks much better. The downside is you don’t have that real-time in-the-flesh collaboration with colleagues that I think is equally important.

4. My colleagues are friendly and welcoming

“My colleague once messaged me on HipChat… he was sitting next to me.”

Yes, a friend told me that once. It’s a real shame that people in tech get so comfortable staring at that squared energy of light all day without interacting with one another. There have been days where I have done the same because I had deadlines and didn’t have time to talk, and I came away that day feeling a bit low. We are naturally social beings, so taking the time out of your day to speak with someone - even about something not related to work - can make you feel better.

We arranged a slack channel for anyone who wants to come to the park with us for lunch and we have a good laugh. We arrange nights out in London too with votes on where we should go. Not only that, but we also have a web architecture review meeting for all of the front-end engineers so we can bring up any technical problems we are currently facing in our own teams. Anyone can bring up a problem or suggest a solution that is then discussed among us all. We then have a vote at the end where everyone is respectful of each other’s opinions on the subject.

5. The work is interesting and I’m always learning

When we are passionate about our work and the product we are contributing to we are likely enjoying our job. Currently, we are building a design system built on a strong foundation of typography, colors, four-pixel spacing, and reusable React components.

We use Storybook and the idea of Atomic design to build atomic, molecular and organism components that get built up into templates. This means we can view living, breathing prototypes of our pages. We don’t have to log in to our real application and apply a form of logical state to see how a specific page looks. Instead, we view it in Storybook and because it’s component driven, we know the page would look like that in production. Powerful stuff, and I love working on it. To me, it’s interesting to make our products consistent and easy to build.

When a developer feels like they aren’t learning anything, it means that the company is too comfortable and not innovating. The developer is probably doing some maintenance to some legacy code and dealing with the complications of said legacy code. Instead, they should be given the freedom to either find ways to reduce technical debt or rewrite the app in a shinier, up-to-date technology.

Development is a fast-paced industry, where things are always changing. Especially in front-end! If developers do not feel they are learning new things, they quickly fall behind and therefore become unemployable. It’s a reality. They could be an expert in low-level JavaScript fundamentals, but if they don’t know how to build a React component, they are seen as unsuitable for the role.

6. The work you do is recognized and appreciated by others

We naturally want to see our company grow and we want to feel like we are doing something to contribute to that growth. Whether it be keeping the servers healthy in DevOps or deploying a fast microservice in the backend, it’s good for someone to identify and appreciate how you helped make it happen.

When colleagues have the mindset that ‘well it’s your job to do that’, it is not healthy for the team. Don’t hold back from saying, ‘I like how you approached that problem.’

Thanks for reading!

I would be interested to know your thoughts on what’s been discussed, so drop me a message or leave a comment. And please drop a few claps if you enjoyed this post!

Follow and reach out to me on Twitter.