Advice for juniors, sans bullspit.

Advice for juniors, sans bullspit.

Step 1 is using your phone as an expensive lamp, obviously

·

5 min read

It only took one scroll of hashnode too many to get the irritation ramped up, so many people writing complete and utter garbage about "learning to code the right way" or "how to boost your productivity", then immediately proceeding to screw the proverbial pooch focusing on irreverant crap that gets you nowhere.

Here's an irritated senior developer's take on how to actually find your footing in this crazy wild west of an industry, it's going to be short, bittersweet and somewhat hostile, buckle up.

1. Narrow your freaking scope

Stop trying to learn "everything".

Nobody knows "everything".

Attempting to learn "everything" is stupid, stop it.

You're not going to know exactly what you want to do but you must have at least some vague inkling of what you want to do,

Do you like making things pretty? frontend.

Do you want to be a wizard at getting systems to play nice with each other? backend.

Are you fascinated with servers and infrastructure? devops (or sysadmin).

can't get enough of security? infosec.

and so on and so on.

Follow your nose, you'll have a vague inkling of what you want to do, i can't tell you exactly what direction every single inkling should point you in because i have neither infinite time nor infinite monkeys sat at infinite typewriters.

2. Stop lying.

If you don't know something, be honest.

Nobody likes a liar - so don't be one, quite literally that simple.

If you're confused as to why i put this in here, that's ok, you'll figure it out once you've earned your battle scars.

Trends are a race to the bottom, they never stick around. Just because someone in a discord server turns their nose up at something you're using that's not the newest shiny doesn't mean it's not worth using.

I work with PHP, a lot of PHP, like... unreasonable amounts of PHP, the internet's laughing stock of a programming language. You know what the real kicker is though? they're browsing indeed and sneering while i'm at my day job happy as a clam.

You're not going to be working with the newest anything besides JIRA ticket in your first job so drop the requirement that you'll only work with on the "bleeding edge".

It's called the bleeding edge because it's bloody painful to work with and you'll have the scars to prove it.

4. Stop obsessing over text editors

The text editor of choice you probably have open right now, why are you using it? If the answer isn't "because i like it" or doesn't contain an explanation of why it suits your specific needs it's time to ditch it.

If you're using it because your favourite "tEcHtUbEr" uses it, or because some anonymous neckbeard on reddit laughed at you for not using it - ditch it, experiment with some others and find what works for you.

Massaging somebody else's ego using their personal choice of tool might benefit them but it sure doesn't benefit you, make your own freaking choices.

Nobody that matters cares about your choice of tooling, if you can get the job done, doesn't matter what you use. The only person who'll be bringing up the choice of tool 99% of the time is you, time to start keeping your mouth shut and getting the job done instead.

5. Stop obsessing over version control providers

Same as #4, find and replace "text editor" with "version control provider". If you don't know what a version control provider is, come back and read this again when you do.

6. Stop obsessing over how "pRoDuCtIvE" you are

Constantly telling people how productive you are is the fastest way to announce you're the least productive person in the conversation. If you've somehow found a solid way of measuring developer productivity that's repeatable and impossible to cheat then congratulations - you've got another secret to take to the grave with you.

Talk to developers who work in KPI obsessed organisations and you'll find out why.

And most importantly - 7. Focus on results

Do you dread picking up a new language because it means going through strings and arrays and math and wrangling with the frigging modulus operator for the fiftieth time and classes and namespaces and this and that and guuuuuuh?

Yeah, me too, that's why i don't bother with it. You know what makes learning anything, not just a language - a process worth doing? getting results.

Seeing the thing run and produce the output you expected it to produce, tweaking a parameter and watching stuff change, interacting with a thing you made and watching it do stuff, that's fun, that's fufilling, that's motivating. You watched the fruits of your labour blossom into something that made you happy, that engaged you, that challenged you, that provided a form of entertainment. That's enough to make anyone continue on with something that feels like it's fighting back at times.

Having 50 individual files of javascript/python/c#/whatever going through the same mundane drills of strings, math, the FRIGGING MODULUS OPERATOR, classes, namespaces, arrays, that's not fun. That's not fulfilling. That's not motivating. You'll want to close your editor and go back to playing Valorant or whatever and for once - i don't blame you, i'd do the exact same thing.

So focus on getting results. Even if you end up using a framework to do it, quite frankly who gives a shit? you want to make something and you want to have fun doing it, if a framework gives you the leg up you need to get started with that then go nuts.

You can come back and look into the boring stuff later when you actually need it.

Closing thoughts

Writers of Hashnode - stop with this flowery crap about "learning to code the right way" that bores people to tears and turns them off learning a modern day super power.

Brick by brick is the way you build houses - not skills.