3 ms·
Ask HN: How to avoid places that do not allow me to grow as a developer?
So far I've been in a several companies and the story is always the same - the interview doesn't really raise any major red flags, the pay is decent, I take the offer and a month or two in I feel like leaving because there's very little or no opportunities to grow.
The companies seem to always have most - of not all - of the flaws:
- no Glassdoor reviews
- bait and switch, hired for the knowledge of a newer or popular technology, yet work is 100% legacy systems
- no mentoring of any sort
- poor or no documentation and/or tests
- raising the issue gets me murky promises of things being better in the future, but no actual improvements ever come
- weird and dated tools and systems
- verson control exists, but for some reason the projects I'm working on do not use it
- lots of grunt work that should have been automated ages ago
- suggestions of improvements either met with resistance, ridicule and excuses
- people working here are not passionate about technology
I'm looking for advice on how can I find a place where I can truly learn. I don't mind occasional grunt work or having to navigate through a legacy system, however with 2 years of experience of doing mostly that I feel like dedicating myself towards this type of work is actively hurting my future prospects. I just want a place where I can look back one month and say "in this month I learned [x]". So far nearly every single improvement came from learning on my own, after work, and it's getting to the point where this is the only source of improvement for my skills.
I'm interested in what I can do to remedy the situation. The easy answer is probably "networking", however most of the time I'm on my own. How do I leave this broken circle of terrible jobs?
- dozzie 9y ago> - bait and switch, hired for the knowledge of a newer or popular technology, yet work is 100% legacy systems Almost all important work is maintaining already running systems. Good green field development that's not just another instant messenger or social network is rare and far in between. > - no mentoring of any sort "Here, he'll be your mentor for next five years." That's what you expect? In other words, "Let somebody teach me"? You yourself are responsible for your own professional growth (and well-being in general). Don't expect anybody to come and teach you; such situations sometimes happen, but you're not entitled to them just because. > - poor or no documentation and/or tests Normal thing. Nobody likes writing documentation. > - raising the issue gets me murky promises of things being better in the future, but no actual improvements ever come Have you tried doing it yourself? > - weird and dated tools and systems Normal thing. If it works and is robust, no need to change. > - lots of grunt work that should have been automated ages ago Have you tried automating it yourself? > - people working here are not passionate about technology First, define "passionate". Second, not everybody needs to be "passionate". What you should expect from your colleagues is to be good craftsmen, not to be some ADHD kids that change frameworks every other week. > - verson control exists, but for some reason the projects I'm working on do not use it > - suggestions of improvements either met with resistance, ridicule and excuses These two are the only valid complaints. > [...] with 2 years of experience of doing mostly [legacy maintenance] I feel like dedicating myself towards this type of work is actively hurting my future prospects. > So far nearly every single improvement came from learning on my own [...] And what exactly are you/have you been doing in your jobs and on your own? Where are you searching?
- BurningFire 9y agoI do realize that most work is maintenance, but there's a difference between maintaining something written in a fairly popular technology and working nearly exclusively with obscure garbage - the first one makes you employable at other places, the second one doesn't or makes you a worse candidate. So it's impossible to have someone say "it would be better if you did [x] this way because [y]" or "if you want to know more about the subject you should read [z]"? Weird, I've been doing these things for other people pretty often. Is it really entitlement that I'd like to experience something similar? This is also what I meant about "passionate" people. I do realize not everyone has to be like this, but I'd love to have just one guy around with a lot of knowledge and a desire to share it. I actually like to write documentation. Currently I don't even have a place where I could put it though. And before you ask - yes, the management got introduced to the idea and they told me that "we don't have time for that". When there is a place to for documentation I seem to be the only one who actually puts any effort into writing it. The solutions work in a business sense, but require tons of constant maintenance (to the point where it is impossible to focus at other work because everything breaks constantly) or make the job harder than it needs to be. I literally got told to not refactor stuff like one letter variables, obvious SQL Injection bugs, removing dead code or refactoring one copy-pasted block into a function. This like these often lead to mistakes that cause outages for the clients and force the team into working overtime. I automate what I can. More could be done if similar solutions could be put in production. At home I work on side projects with .NET and Python. I also like to read programming books and blogs in my free time and it irks me I cannot apply the knowledge I get from these sources at work.
- dozzie 9y ago> there's a difference between maintaining something written in a fairly popular technology and working nearly exclusively with obscure garbage And what kind of "obscure garbage" you're working with? And then, how did you let this happen? You were recruited to work on some concrete software, didn't you? And if they lied to you about where you will be working, which is a betrayal that is almost impossible to amend, why didn't you change the jobs as soon as possible? Given your original question, there must be something wrong somewhere with your approach. You said that you've been in several companies (how many?). If two or three, you most probably have had tough luck. If more, then it's hard for me to believe that the job market around you is so full of fraud and deception and you couldn't filter the shitty jobs out by asking how they write their software. Europe and North America don't have it as bad as you describe. Or maybe it's neither Europe nor America? You never mentioned your location.