3 ms·
I have worked for several startups as a Python engineer and the job always follows this pattern: 1) I am brought in to work on some interesting project that ha
by mkl95 6y ago
I have worked for several startups as a Python engineer and the job always follows this pattern:
1) I am brought in to work on some interesting project that has a mix of exciting and boring technologies. I mostly work on exciting stuff. This honey moon phase lasts from several weeks to several months.
2) As the project starts to mature, management start to demand more and more unrelated maintenance work from the team members.
At this point my time is roughly spent 50/50 on developing new features, and things like fixing spaghetti that somebody wrote years ago. I call this type of work firefighting, since management talk about it like a codebase has caught fire.
3) Management find out that projects that were on fire are seriously damaged despite not being on fire anymore. As more and more defects are found, my job gets dangerously close to being 90% boring.
4) At this point the team members that once worked on an exciting project are considered experts in random legacy codebases, and their job is extremely boring since it mostly involves maintaining them.
Personally, I find myself reading code on Github, reading HN, etc. basically trying to keep up with what's happening out there. I'm ready to move on to a project where I can learn something.
- Smaug123 6y agoSorry to ask this, but there's one common thread in your experiences which "always" follow this pattern: you were one of the engineers on them. Do you have any evidence that you're not the problem here?
- mkl95 6y agoI believe there is a teapot (too small to be detected) orbiting the Sun between the Earth and Mars, and no one has been able to disprove it. Don't quote me on this though.
- Smaug123 6y agoI'd just like to make sure you've at least considered the hypothesis your words are strongly suggesting, namely that you specialise in producing tech debt and you quit whenever that debt crosses some critical threshold. If it's not actually like that, then great!
- mkl95 6y agoIn my experience, startups produce enough tech debt very early in their existence, that if candidates knew about it, they would simply opt out of the hiring process and focus on something else. So what they do is lure engineers with greenfield projects or projects that are relatively healthy and have a good architecture, and are currently growing. Once these projects have been developed or expanded to a point where the engineers in charge (new hires among them) can also work on other stuff, the shift to "firefighting tasks" and legacy maintenance can be quite fast. To be fair, for a backend engineer it's not that brutal, our stuff is relatively homogenous (our legacy stuff also sucks, but not that much). When it comes to frontend development though, I have seen coworkers transition from clean Vue codebases to massive jQuery spaghetti balls in just a few days.