
Ask HN: How to avoid places that do not allow me to grow as a developer? - BurningFire
So far I&#x27;ve been in a several companies and the story is always the same - the interview doesn&#x27;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&#x27;s very little or no opportunities to grow.<p>The companies seem to always have most - of not all - of the flaws:<p>- no Glassdoor reviews<p>- bait and switch, hired for the knowledge of a newer or popular technology, yet work is 100% legacy systems<p>- no mentoring of any sort<p>- poor or no documentation and&#x2F;or tests<p>- raising the issue gets me murky promises of things being better in the future, but no actual improvements ever come<p>- weird and dated tools and systems<p>- verson control exists, but for some reason the projects I&#x27;m working on do not use it<p>- lots of grunt work that should have been automated ages ago<p>- suggestions of improvements either met with resistance, ridicule and excuses<p>- people working here are not passionate about technology<p>I&#x27;m looking for advice on how can I find a place where I can truly learn. I don&#x27;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 &quot;in this month I learned [x]&quot;. So far nearly every single improvement came from learning on my own, after work, and it&#x27;s getting to the point where this is the only source of improvement for my skills.<p>I&#x27;m interested in what I can do to remedy the situation. The easy answer is probably &quot;networking&quot;, however most of the time I&#x27;m on my own. How do I leave this broken circle of terrible jobs?
======
dozzie
> \- 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
I 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
> 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.

