
Ask HN: Taking a junior SWE job at around 7 years? - toexitthedonut
I&#x27;m a professional web developer of 7 years that, if taken at the superficial face value of how many years I&#x27;ve worked, is one that is expected to be mid-level or approaching senior-level.<p>The problem is, my career growth feels stunted.<p>All of this seems to be confirmed by interview feedback I&#x27;ve gathered recently from several companies. The gist of it is, I show knowledge in a couple of topics, but don&#x27;t show a lot of depth in any of them. I&#x27;ve shown capability to perform my work as expected and told that I write clean code, but that I can&#x27;t grasp the &quot;big picture&quot; ideas of software development better, or the minutiae of a given programming language.<p>So with this in mind, would it be possible to go back to a junior position?<p>I prefer to do so in a larger company, because I have never been actually mentored or have much guidance from a senior dev. In two places, I was the only programmer around.<p>The problem here is that at showing 7 years of experience, it sounds like a turn-off for many companies if I show that I&#x27;m only capable at a junior-level. Perhaps removing my oldest jobs might help. How would you approach this?
======
stale2002
You are almost certainly selling yourself short.

If you have 7 years of experience, you almost certainly have important, non-
junior level skills of value.

But companies do not hire people based on how good of a developer they are,
they hire you based on how good you are at interviewing. These are corrolated,
but not equivalent skills.

What you need to do is get better at interviewing.

Interviewing is a skill that needs to be practiced.

That means you need to get better at programming silly algorithms on a
whiteboard.

Fortunately, this is a skill that can be practiced. There are loads of
resources out there that will teach you exactly the stuff you need to know to
become good at interviewing.

~~~
scarface74
_If you have 7 years of experience, you almost certainly have important, non-
junior level skills of value._

If only that were true. There is a difference between having 7 years of
experience and 1 year of experience 7 times. If he hasn't had a mentor and
been in a bubble, it's possible that his skill set is not as high as it
"should be" based on the number of years he's been working.

I found myself in a similar situation around 2008. I started programming in
1986 when I was 12 in AppleSoft Basic and assembly, went to college, got a
degree in CS in 1996 and spent the first 12 years of my career being a solid
C++ "programmer", who dabbled in other languages.

During those 12 years, I was also the only programmer at the company without a
mentor. I could write clean code, bit twiddle with the best of them, but
hadn't been exposed to sound engineering practices.

In 2008, at the age of 34, I humbled myself, got a job as what I would
consider a junior "software engineer" (making about the same thing as I was
already making) and spent the next 8 years, learning from others, studying,
and job hopping my way between 4 jobs and becoming what I consider a pretty
good architect.

~~~
toexitthedonut
Coincidentally, I'm age 34 right now. So at that point where you were at a
crossroads you turned things around. Did you work at large companies to
correct that? Do you think development team size make an impact on your career
growth?

~~~
scarface74
Being at a large company isn't what made the difference. Even though I didn't
realize it at the time, I think it is more important to work at a company that
sells software and sees software development as a profit center and not a cost
center.

There are some requirements I would look for:

1\. Do they have automated tests?

2\. Do they enforce code reviews?

3\. Do they use some type of continuos integration system?

4\. Do they use source control - preferable Git?

5\. For the server side, do they use a statically type language - Java, C#, or
even NodeJS/TypeScript

6\. Do they have organized training sessions like lunch and learns?

I'm at a point in my career now where I'm pretty confident in what I know and
I'm the only architect at my company. I ask for advice a lot from some of my
former more experienced coworkers on a private Slack channel that we still
use.

~~~
toexitthedonut
To all those questions I can answer 'no' to all of them, besides no. 4 because
I do use Git. Damn. Now if only I can get offers from companies that have the
other qualities.

~~~
madebysquares
We are the same age and have about the same length of experience.

I totally get where you are coming from because I began to feel I wasn't
learning anything new and just repeating the same processes. So I left after 3
1/2 years.

Since then every job I've had I try to work for people I can learn from and
grow.

Having people who can mentor or just being around smart people and seeing how
they work and implement processes can be really helpful.

------
jressey
I found myself in this scenario pretty recently. I had about 5 years
experience at a non-tech company with experience in a million things.

I had to move and was getting killed in interviews for sr. positions, until I
wasn't. I found a company that saw my value and gave me a chance. I contracted
for them for a few months then landed a 6-figure job doing stuff I'd never
done before.

I would encourage you to hold your head up, build some stuff in your spare
time, and find a company that values what you are. If you are capable with JS
in any capacity, double-down on that since it seems a lot of people are being
hired from that. Plus you can show projects that can impress people of all
backgrounds.

I would also encourage you to reach out to any past associates or linkedin
connections.

Another resource I recommend for people is Mike Hartl's book(1) on Ruby on
Rails. Yes, it does teach you that language/framework specifically, but it
also shows you how the web and server-side applications work. You will be able
to speak about REST, DB Associations, OO concepts, TDD, and several other
buzzwords that impress employers.

I don't know your work of course, but from the sounds of it you have a better
shot than you think! Go get 'em.

[1][https://www.railstutorial.org/book](https://www.railstutorial.org/book)

~~~
toexitthedonut
I'm on mobile so not much time to type, but I do have a few JS projects. Some
of them novel. I made a software renderer in JS that rasterizes triangles and
takes JS shaders, emulating a programmable pipeline.

I hope that I would at least stand out from most JS developers with stuff like
this. I don't really have an interest in making a Twitter clone with a
Bootstrap UI. I'm hoping someone takes a chance at my skills with my not so
typical JS projects.

------
kenferry
When hiring a junior developer (or anyone, really), the attraction is the
gleaming future potential of a person. So, if you want to get hired, you'll
need to be projecting an exciting upward trajectory no matter what. I think
you'll find it unconvincing to say "yes, I've been at it for seven years, but
look, I should be able to do your junior work at least, yes?"

So you want to frame it differently. For example, provided this is true, you
could emphasize that you've been the most senior person in your company, but
that your company offered limited growth opportunities. Now you're just
champing at the bit to work with people from whom you can learn and grow, and
you're overflowing with energy to do so. Demonstrate why it's true, perhaps
with examples of things you've been poking at on your own. Or something. You
need your story to be true, and the above might not be. But you do need to
have _a_ communicable story.

~~~
tedmiston
Second that this is a good reason to leave a company. Ideally you'll have some
certain growth opportunities in mind to learn at the new place.

------
eikenberry
I'd say go for a mid-level position. Most mid-level positions are really
junior positions anyways given the way most companies define mid/senior
positions. When interviewing look for feedback practices that can help you
learn, like regular code reviews and peering. Every developer is constantly
learning and some companies embrace that more than others, if you can find a
company that takes it seriously then it shouldn't really matter if it is a
junior position or not.

------
magic_beans
There's a difference between a software engineer and a web developer.

I'm assuming you build websites? Web developers don't typically deal with the
sort of algorithmic problems that software engineers tend to deal with.

You're essentially switching to a new career path, which is not a deal-
breaker.

Simply explain to companies that you are a senior level WEB developer, but a
junior-level software engineer.

~~~
jamesmp98
Honestly, being a web developer is dead nowadays anyway.

~~~
enraged_camel
>>being a web developer is dead nowadays

What does that even mean?

~~~
jamesmp98
being a web developer in the sense of making websites is something that is
left to marketing teams and others. You likely will not be developing a
website by writing raw HTML, PHP, etc. anymore.

Now web application development is very much alive, but that tends more to
software development.

~~~
hashkb
When I hear "web developer" I think of a person who produces web applications.
"Web designer" is the term for someone who produces WordPress sites.

~~~
thehardsphere
This highlights a very key problem that the OP may be having.

Less important than whether or not he is "junior", he needs to know what to
call himself in order to correctly communicate the value proposition he's
offering to the potential employer's HR department. The only way to know that
is to figure out what people call what he wants to do in his market.

Maybe he's a "web developer", maybe he's a "software engineer", maybe he's
something in between. But he should definitely A/B test terms to see whether
his responses change and how.

~~~
toexitthedonut
I'm aware that job titles tend to be loosey-goosey in many programming jobs,
aside from the largest of companies that have a big enough sample size.

For instance, my title for a web marketing agency was 'associate software
engineer'. It was the typical job of setting up CMS sites, customizing plugins
for them, or occasionally making a very static site from scratch.

I gradually got into doing more complex work like writing apps on MVC
frameworks. But I think there may be indeed another career ladder I need to
jump on if I want to actually do the "engineering" part correctly.

------
steven777400
Have you actually received offers at the junior/mid level? Or are you just
thinking of applying?

I wouldn't worry about "years" too much. It's very very easy to work a number
of years and still be a "junior" skill level. I see it all the time. It's not
even a criticism of the person at all; if your job is "perform minor
fixes/improvements to this web app" and you do that for 5 years, for example,
you're not likely to have technical skills beyond the junior level even though
you've worked for many years. This is not a problem. It just means that if you
want to move your career forward you will need to find a position in a more
tech-oriented, forward-moving, mentorship-based organization.

A senior developer at a non-tech organization can easily translate into a
junior or mid level developer at a major tech or tech startup.

------
davismwfl
The magic of it all. You are selling yourself short. You know and are capable
of way more then you give yourself credit for. There are three camps, those
you think they are everything, those who doubt themselves and those who have
no clue of their value. The trick is finding the value spot for yourself.
Likely you are in the middle, which is perfect, but if you don't learn how to
sell yourself you will suck donkey dick (e.g. be at the bottom end).

Your job when applying for any position is to learn to sell your skill set and
show what you can do for others. Learn to celebrate your success and tell
other people what you can do, that is how you will make it to the next level.
Sorry, it isn't all about perfect skill, it is about selling what skill you
have.

------
jcslzr
Do a side project, sell yourself on it, unless it works out and you can profit
from the side project itself.

~~~
jamesmp98
I thought most companies don't care about side projects.

~~~
leojg
Really? I get asked if I got some side project in most of the interviews...
besides it is a good way of improving the skills he says is lacking

~~~
jamesmp98
Where do you live and what type of jobs do you apply to?

~~~
leojg
Uruguay(South America)... mostly semi-senior android and fullstack web
developer

------
robalfonso
One challenge I face with applicants is that they actually have 1 year of
experience 7 times and not 7 years of experience. You should consider if
that's what they are seeing.

Some people are doing the exact same thing they were doing years ago and have
no depth. Your challenge will be to paint a different picture. Which is easily
possible. It sounds like you are interviewing but maybe not doing well face to
face. Maybe you just need more prep and its not a deep issue?

~~~
thesmallestcat
What does that really mean, "1 year of experience 7 times"? The candidate has
the memory of a goldfish and literally relearns their skills every year? I
think you're undervaluing experience in general.

~~~
logfromblammo
It's a way to easily dismiss 7 years of working experience.

Generally it means that the person being discussed hasn't spent those years
acquiring skills that are specifically useful to the interviewer. So the years
spent acquiring different skills don't count.

The intent is probably to say that the interviewee has spent 7 continuous
years doing a job that can be done as easily by a person with one year of
experience as someone with more, and therefore does not provide the necessary
challenges to stimulate development in the employee. But again, it is still
summarily dismissing actual experience just because it didn't happen in the
right place, and is a variant of "not invented here" syndrome.

The people who say things like that should likely not be discussing "years of
experience" at all, as their focus seems to be on breadth and depth of
skillsets. The "seven years of experience" guy likely knows how to do X, Y,
and Z, while the "one year of experience 7 times" guy likely only knows how to
do X. In that case, talk about X, Y, and Z, instead of T.

~~~
robalfonso
It's definitely an issue of selling oneself. You either get stuck with an
interviewer if your resume is not great or if you don't sell what you can do.

There are people that either via the jobs they choose or the long tenure at a
company haven't built a strong case that they can tackle anything other then a
small domain of problems.

I had an interview once who had 15 years of managing scientific data (he wrote
a parser then changed it when the data set had format changes a few times a
year) that parser and platform remained unchanged for 15 years and he had no
other duty.

Another interviewee had only built WordPress sites for 4 years. He had no
other projects (hobby or professional) to illustrate he could do more.

I see your point regarding a skill set that is maybe just not useful to the
interviewer, certainly in 7 years there should be more. People can and do
spend time working on very narrow problems though.

~~~
logfromblammo
That parser guy had 15 years of experience with that one single parser. If he
spent 15 years doing 15 different things a year at a time--one year of
experience 15 times--he would have had a _broader, but shallower_ skill set.
That wouldn't be more valuable in general, but it would be more likely to
include skills that any particular interviewer values. But then he would still
be dismissed as having "one year of experience, 15 times" from a guy who maybe
wants someone with 15 years of experience specifically in writing parsers.

Time is a limited resource, and it belongs to the individual. You can't
reasonably expect that someone will spend it making themselves more valuable
to you when you aren't paying them, or even holding out a reasonable prospect
of paying them in the future. By happy coincidence, there are plenty of people
out there that _will_ make themselves more valuable to 10000 interviewers just
like you, by acquiring skills that seem to be popular or becoming popular, but
there are many more that won't live their lives for other people on the off
chance that it might be rewarded someday.

You can't really measure skills by how long someone has done something. Some
people can learn a new skill and be better at it after two weeks than someone
who has done it for ten years. And there are also people who can practice a
skill for ten years and be 100000 times better at it than the guy who just
learned it two weeks ago. To make those judgments, you have to be able to
measure aptitude, rather than just read timespans off a resume.

And right there, with the WordPress guy, you're implying that he wasted 4
years of his time because he didn't spend any of it preemptively learning any
of the things you find valuable. Why should he? He hadn't even met you yet.
How long had your job posting been open, declaiming that your company would
need someone with M years of experience in skill X when it starts hiring for
that in N years? (Yes, I know that's not how it works.) Did you even try to
gauge how skilled he was able to become at WordPress site development after
four years? Did you wonder why it took him 4 long years of doing just that
before wanting to move on to something else? Or did you preemptively strike
him off your list for having no prior "years of experience" in skill X?

My point is that I would very much prefer it if the industry hired for general
aptitude rather than specific skills. If that doesn't happen, I would still
prefer it if interviewing companies used a different metric for measuring the
skills they find valuable than the total time spent practicing them. The glib
comparison between "N years of experience" and "1 year of experience, N times"
just presses all of my rage buttons at once. It almost perfectly highlights
the gross disrespect that potential employers have towards job-seekers whom
they perceive as unfit to serve them. It is part of the arrogance that
prevents companies from critically examining their own hiring processes.

------
thesmallestcat
What a crazy idea. I mean, if you want to be paid less, go for it. Mid and
senior engineers aren't walking tomes of CS knowledge. And junior engineers
aren't the only ones learning. I've mentored quite a few senior engineers. As
others have said here, you're probably bad at selling yourself in an
interview.

------
smithd98
Hit me up on
[twitter]([https://www.twitter.com/davidsilvasmith](https://www.twitter.com/davidsilvasmith))
or [email](mailto:david@splt.io) I'm curious to learn more about what you are
looking for.

~~~
toexitthedonut
Sounds good. Email sent.

------
cturhan
Web is the most evolving technology. Unlike a java or c developer, web
developer should refresh himself everyday. Doesn't matter if one is 1 or 10
year developer. With a 5 year experience, I must confess I feel like I know a
few. Here is a good article[1] by David Walsh describing this feeling. At an
interview, I can say I wrote apps with Vue, Angular 1.x and React but if they
ask a question like "how to add a new cookie with specific domain using JS", I
can't code without googling.

[1] [https://davidwalsh.name/impostor-
syndrome](https://davidwalsh.name/impostor-syndrome)

------
twobyfour
Mentorship is important, but you can get mentorship without taking a junior
position.

I have a very similar history in terms of starting my career as the only
developer in my first few jobs. When I finally joined a few (small!) teams in
a row that a) included other seniors; b) used mature processes; and c)
included code review on every pull request, I caught up very quickly.

A capable manager or VPE/CTO who's committed to helping their reports grow is
also invaluable to a senior developer.

And yes, it sounds like you may need to work on your interview technique.

------
jmcgough
It sounds like you haven't really been pushing yourself out of your comfort
zone, and instead have plateau'd in terms of growth.

Pick something that you find interesting, and go really deep in it (read books
on the topic, develop OSS oriented around it). For a mid or senior level
engineer, companies want someone with a broad enough set of skills that they
can tackle most problems given to them, but also has a deep knowledge of one
or more areas (which adds to the collective group of talents among the
engineering team).

------
kevin_morrill
My company Mattermark is hiring, and I'd be happy to talk to about the full
stack position we have. We have several more senior engineers on staff that
are great mentors. We also work with a range of technologies that give you a
chance to sample broadly but also go deeply in 1-2 areas. This includes
everything from crawling/scraping to website to REST/Graph QL API to 3rd party
integrations.

Hit me up through kevin@mattermark.com

~~~
toexitthedonut
Thanks, I'll be in touch with you soon.

------
jamesmp98
I am going to get downvoted like hell for this, but if you feel like what they
are saying is true, then sure.

~~~
bcbrown
Yeah. I'd chop a couple of the oldest jobs off my resume and look for
companies with a culture of mentorship and training.

