So this:
12 Things Every Junior Developer Should Learn
Ben Halpern ・ Oct 16 '18 ・ 1 min read
is interesting, and it's nice of Ben to boost
And I agree with them... but twelve things? I can't remember twelve things. Nah, you don't need twelve things. You need one thing, a golden rule, a variation on:
ask questions, especially if you think they're not worth being asked
more like
Ask Questions All the Time.
That's all you need. You need to learn to ask questions. You need to learn to weaponize your ignorance.
What? 'Weaponize your ignorance'? What the hell do I mean?
As a new software developer ('junior' whatever - I was in my mid thirties when I started), the fastest way to get anywhere in your career is to acknowledge three things as quickly as possible:
- Everyone else should know more that you about software development.
- A part of your job is to learn more about software development.
- It's a part of everyone else's job to teach you.
It really is. Really.
So to make (2) happen, you need to get (1) to do (3). And you need to do that - actively. Don't wait for other people ('seniors' - they were all younger than me) to create a learning moment for you. Grab those suckas by the collar and say:
What do you mean 'RESTful'?
What the hell is a Dependency Injection Framework when it's at home?
You 'curried' that function? You did what?
Why are you using a
PUT
instead of aPOST
?Whoah, whoah, whoah! What's that
curl
command you just used?What shortcut did you just use to make that happen?
Why are you always typing
git pull -r
? What's the-r
for?Where's that variable coming from?
And if it's hard to ask these questions, ask:
Why can't we pair program more? It's hard for me to learn more if I can't see what you're doing.
And if you get any flak for asking 'stupid' questions:
Why aren't you interested in making me a better developer?
Why do you think I ought to know that? Why do you think it's really basic? Why don't you explain it to me?
Do it everywhere, all the time, for the first two years. Do it when you're programming. Do it when you're in a meeting. Do it when you're at lunch:
Why is that written on your t-shirt?
Take advantage of the fact that you're meant to know nothing at this point in your career - make that ignorance work for you! Ask questions about everything. This is your golden opportunity!
You'll discover that other programmers (for the most part) love talking about programming and ~showing off~ telling you what they know. They actively enjoy it! And, quite often, they won't know - and so you can both have a great excuse to find out the answer together through searching the interwebs - at which point you'll learn how the senior developer gets answers!
Don't NOT Ask Questions
But whatever you do, don't shut up and let that acronym/technique/sentence go unquestioned. You're doing no service to anyone by being quiet: not to yourself, who won't learn anything, and not to your colleagues, who'll think that you know what they're talking about and will be annoyed when later it turns out you don't.
Cultivate Hyper-Curiosity
Be loud in your ignorance! Be curious about everything! Let your mantra be "I don't know - show me". Everything else else you need to know will flow from this one thing. Take this golden opportunity! Weaponize your ignorance.
Because, in a year or so, you won't be able to do this. In a year or so there'll be another new developer in your team asking you the questions. So take advantage of this opportunity.
Hi Julia!
in no particular order:
notice that other than git I didn't specify any particular tool, this is because it's stuff you will bump into no matter which languages or tools you'll end up using.