So my first real professional job lasted about a year. It was a decent job with good pay but didn't have much development involvement. I then left to take a developer job that turned out to be a little bit of a scam. I left that job after a week and then was unemployed for about 8 months.

I then took a job as a developer which lasted for about two years but was not too high paying for a developer job. I enjoyed it but I thought I could get a little bit more money. I started applying for other developer jobs.

I got an offer to come to a company that had a lot more compensation and benefits so I took it. This new job has great benefits and they do a good job of taking care of their employees. I told myself when I took the job that I need to build endurance with being with a company and decided I would be here for at least 4 years (although I also thought I should stick with it for life). I have been here for about a year.

However, there are some things I don't like. The development culture is pretty bad to be quite honest. The codebase is a nightmare. There are files with sometimes 10,000 lines of code and I mean a lot of the code is just bad. It's like they didn't structure the project well at all. The system has some pretty bad bugs that are really difficult to put a good fix on since the system is so huge. It feels like it would need to be completely rebuilt.

Code review is a joke. We must get like 8 people to approve from like 10 developers and most everyone just blindly approves. Sometimes Pull Requests are thousands of lines of code.

Since I'm one of the newer developers I feel like I don't have a voice to change things. I have tried to do some things right but then I feel like my co-workers just kind of have this negative feeling towards me when I do this (for example when I leave comments on a PR with questionable code).

I feel like the only way to get to a better environment is to find another job. However, I feel kind of bad already leaving after a year. I regret leaving my first job (at the time it was foolish). I don't regret taking my 2nd or 3rd job that I am at now. So I don't want to leave for another job and then regret it down the road.

It's like I should probably learn how to stick with something. What do you guys think? Anyone with experience that has any insight on this?


4 Answers 4


One tip first: If you leave the next job after 1 week it's always worth a try calling your old company very humbly and see if you can return. Definitely better than being unemployed for 8 months. (The extreme that I have seen personally was a good employee for the grass that was supposedly greener elsewhere, started on Monday 9am, called the old company at 9:10am, returned and stayed there several years). Worst case they say "no". And remember the rule: You never quit unless you have a signed contract for the next job.

So when do you leave? If you can't stand the job you leave. But don't worry too much about code quality, or code review practices. An exception may be if you leave because of someone's behaviour, and think you can push them out instead.

If you don't learn anything useful you can leave, but probably better to have say 18-24 months in the job. Especially at the beginning of your career, when your own learning is most important.

If another place has a better offer then you can leave. Same rule, 18 to 24 months. If the offer is much better then you can consider leaving earlier.

If you think your company is in trouble, that's a whole different matter. In that case post another question.


Apart from money. Generally the best time to leave is when a job becomes toxic or the work too onerous.

Most of your problems seem to be about the work. This is relatively minor in my opinion. Having this sort of work to me just means that the job isn't likely to go away.

If you start thinking about it as 'not my codebase, not my company' then it just becomes a series of problems to solve during working hours that you're fully competent to solve.

  • 1
    Actually the best time to leave is before the job becomes toxic or the work too onerous, it's just hard to work out when that is. May 11, 2022 at 14:42

Since I'm one of the newer developers I feel like I don't have a voice to change things.

That is correct. Nobody of the old guard will initially listen to you, because they are not stupid. They have the same education you got. If they are doing something seemingly stupid, then very likely it is because of a history of things you just don't know about (yet). Once you know enough to actually find a better solution to the existing parameters, they will listen to you. If you find out for a fact that there is no better solution to the existing parameters, you might be more willing to accept them. But that can easily take half a year to a year even if you are really good at your job.

I feel like the only way to get to a better environment is to find another job.

Well, that just means you will be the "new guy nobody listens to" forever. On repeat. The only way to be the new guy and have everybody listen to you is to start your own company.

If you want to change things, you have to stick with it, learn about it, be able to form an informed opinion, not just a naive glance of what could theoretically be better how, and then change it. By discussing your ideas with people and convincing them. That takes time and effort. But there is no real shortcut here. If you don't stick with a job, you will always be the newcommer that doesn't know the ropes yet. And the more you switch jobs, the less people will invest time to explain the ropes, if it is likely you won't stick around to actually make use of that investment.


Companies and codebases are like this only. The reason they treat you so well is because they know work is shit. Also one more thing. Work is always painful that is why your salary is called "compensation".

Stick with the company. there will always be something to learn.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .