Ugh, you think 18 months is a long time? Programming is hard, just the technical part takes a lot of reps, but navigating the long term implications and social/business interfaces are what make the difference between an effective tech lead and an NNPP.
Here’s a tip: stop worrying about labels. Spend a decade obsessively honing your craft. Think from first principles. Ask difficult questions. Move around and find the smartest programmers you can to learn from. Confidence comes from hard-won abilities, not playing mind games with yourself about titles.
If you're getting bored with the menial tasks that you're being given, ask your boss if they think you're ready to handle more complex work -- jumping in the middle of projects way over your head in an effort to pretend you aren't a junior dev is foolish.
Also, there is a real risk to learning if you "stop being a junior". Namely, the posers don't raise their hand and ask for help when they hit a wall, waste a ton of time drowning with things that senior engineers can figure out in 10 minutes, and are scared of learning from senior teammates as it requires them to be vulnerable in front of them. The ones faking it tend to be insecure and not fully dedicated to their craft, but their title first.
> In fact, I was just a step below architect in a quarter-billion dollar organization only 4 months after graduating from university.
Oh, come on, Kent. Really? Can we qualify this guy's blog as spam yet?
One thing that I often find is that there is too much self doubt and impostor syndrome in the modern generation of kids and I think that is warranted.
A big part of why they feel that way is because they haven't really thought how a computer works, haven't build large enough systems, haven't written enough code to understand why Uncle Bob and Clean Code are bad solutions.
Once they start looking at hard skills instead of managing up or other things at the office, that's when I feel they will think and act like a senior.
There is no way of shortcutting it. You have to pay your dues in terms of understanding why certain code is bad and certain code is good and that only comes with writing largish systems and testing your theories. Also build stuff outside of web dev.
If you feel like a junior or have impostor syndrome, it might well be because you are one.
The only advice from the article I liked was:
> Even if it's just "hey, can I come sit in on that meeting?" Take notes for yourself of anything you're unfamiliar with and ask about those things later.
I love sitting in on meetings just to take notes. Recently some Sr Developers and our DBA set up a weekly meeting to discuss overhauling our database schema and I asked to sit in. Even though most of what I heard aligned with what I already knew I still got a lot of value in just listening to other people's opinions. The DBA was a fountain of knowledge when it came to the nuances of using SQL Server.
Yes, but that doesn’t mean that we should ignore the importance of what the title signifies. Titles may not be so important to you, but they are to others and they also help signify how others should treat you. If you were a very senior engineer, I would expect that you act very differently than a junior engineer, and the easiest way to understand what expectations I should have for you is your title.
Ah there it is. Nothing is more junior than seeking this advice.
And why that is depends on who is hiring you. Most of my experience in tech has been working for non-technical managers who think a Senior position is one of a liaison officer between management and computing in general.
Most of the time I read comments about the ancient wizardry and the important soft skills you need to have as a Senior just makes me wonder how much crap these people have been fed by their superiors.