loading...

Ten Tips for Becoming an Elite Developer

warrend profile image Daniel Warren ・4 min read

Experienced developers will tell you after graduating from boot camp your first job will most likely be as a junior developer.

This is utter nonsense. Bologna.

Trust me, I’ve built several todo apps and I taught myself Typescript in only a few months so I know what I’m talking about.

Today I’d like to share with you ten tips to take your deving to the next level, whether you are a junior or a seasoned professional in the field.

1. Always edit your node_modules

Let's start off with the most obvious tip. Many of you are probably rolling your eyes at this one because it's the first good piece of advice you get when you're a junior. But why does it matter? NPM packages are updated all the time but sometimes we as devs don't have the time wait around for the next update or bug fix in the source code. Any competent dev worth their salt should be able to go in and make the necessary changes to keep their project on the right track.

2. Functions

Functions should be big. According to Merrium-Webster, a function means “an official or formal ceremony or social gathering.” Social gatherings encompass many people, all who do different jobs. A function in coding is no different. They should contain a plethora of functionality. In my React projects, I have one or two giant functions for the entire project. Don’t buy into the hype of smaller functions doing one thing each. It’s garbage. Keep all your functionality together in one giant function. It’s easier to read too.

3. Indentation

Two or four spaces? I prefer five. When people look at my code, I want them to think, that’s Daniel’s code. What’s one of the first things they tell new writers or artists? To find your own unique voice or style. Coding is no different. Find a unique style. Grab your voice by the brackets. Experiment with different indents and layouts. Linters are creativity killers. Don’t use them. Your code is art. You are Rembrandt, your keyboard your brush.

4. Documentation

Documentation is for the weak-minded. If you’re a good coder, you should know how your code works just by looking at the code. READMEs are for amateurs. Your code is the README. If another developer joins the project and asks for a README, they probably aren’t very good at their job. Recommend their position at the company be revoked back to junior.

5. Staying ahead of the trends

Brush up on XML because I predict it’s going to make a serious comeback over JSON.

6. Git smart

This one drives me mad. Stop committing so much. I commit once a day. Sometimes I don’t commit for weeks. Doing anymore only confuses and clogs up your flow. You want clean code, Uncle Bob? Look at my commits. Ideally, a project should only have two commits - initial commit and deploy.

Start pushing directly to the main/master/develop branch. Pull requests are for the gutless. If you believe in your code, dammit, push it directly to master. Branches only make things more confusing. As a team, we should all be on the same page, but how can you do that if everyone creates their own branches? What is this, the Wild West? Your team needs unity, one branch. One team.

7. Agile vs. waterfall

I have to say, I’m flabbergasted with agile development taking over many businesses. Imagine building a house using agile. The foundation is poured and suddenly the owners want that second bathroom moved to the other side of the basement. Then they want the fireplace on another wall. Now the blueprints have to be thrown out and you have to drag the architect off of another project so he can fix the plans. This is why you lock the blueprints. Building software is no different. If your vision has to pivot halfway through the project, you’re doing something wrong.

8. Designers

Let’s be honest, you’re probably smarter than your designer. If he/she gives you designs for the app and you think they look like crap, overrule them. You have the most important job in the world. You are a software engineer. A God, really. You have an ego? Damn right, you should. Heart surgeons have nothing on you. Somebody has to do the really important work in this world. Show that designer a thing or two about designing.

9. Dress code

Push for stricter dress codes - suits, lab coats, scrubs - something in that vein. We’re the smartest and most sophisticated profession out there - time we start dressing like it. I wore a tux to work on my second day as a junior dev and my colleagues were so impressed, they didn’t say a word.

10. Finally…

Do the opposite of everything I just said.

Posted on by:

warrend profile

Daniel Warren

@warrend

I'm a software engineer with a unique background in everything from hand painted Chinese wallpaper design to TV spot writing.

Discussion

pic
Editor guide
 

Hopefully there is number 10, I was shocked by giant functions...

 

and not for other points? LOL

 

I stopped reading at this point, I jumped to comments directly lol

hahaha i was getting nervous while reading through so I hit Ctrl + W, then I came back and finished the lecture 😆

Hahah, it was a scary joke

I thought it was obvious after #1, haha.

Well... I read too many things to assume that 😂😂

 

after reading the first 5 points i think, what an stupid Developer write this shit. I scroll directly to the comments. then i read Kaidis comment and scroll back to point 10 and I have to say good jocke, you had me @daniel Warren.

 

Excellent trolling. I started off just skimming, and when I read the part about editing your node_modules I thought, "surely this is some sort of typo." The Functions section gave it away, and the spaces thing was hilarious.

 

A coworker and I always debate 2 vs. 4 spaces (he's in the 4 space camp). As a joke, I suggested going rogue and doing five just to prod him, ha. Thanks for the read. I thought it was very obviously satire, but now I'm not so sure, haha.

 

I also cracked at #3 since I've been struggling with a co-worker who always justifies his awful practices and lack of adherence to project's styling decisions with: "Code is art, i have my own style" 😂

 

Couldn't you compromise on using 3 spaces?

SCNR

 

No spaces is the new 4 spaces.

 

It's a classic Poe's Law situation.

Team Two Spaces, all the way.

 

Two or four spaces? I prefer five.

Brain: explodes

 

The opposite of number 10 is do exactly what I just said lol which create an infinite loop

 

the opposite of 10 is 01 which will be a loop that runs only once... i don't catch the joke 😅

 

The loop would be going back to through it all, but with the inverse reasoning of what you just read then getting to 10 and doing it all again. Thus, an infinite loop 😉

Damn 😂 i organized it in my mind as a dataSource from 0 to 8 then the 9 (which is the point 10) negates the rest 😅

 

Well done. The only piece I can disagree (maybe agree?) with, other than #10 is #6. There are a lot of great developers advocating and using "trunk-based development." The overarching theory being that merges can suck, so do them more often and smaller.
To do the practice right you would pair program so code review happens in real-time, do TDD so everything is tested, and make many small commits, any of which would be production-ready. You can use feature flags or branching by abstraction to hide functionality. If you're interested you can read more at trunkbaseddevelopment.com/. I'm not presonally doing it yet, but working on moving my team that way.

 

Mate, I was about to go bazooka on your ass until I read #4 😂

 

Is it bad I've spent the week writing an XML serializer?

 

Lol, you had me at point 1. Brilliant.

 

You got me there. I was reading with my eyes getting wider in disbelieve on every paragraph. Nice one.

 

My favorite is still this one 😂😂
Ofc, there wasn't 'April fools' in the title at first 😉

 

You had me in the first half ain't gonna lie 😄

 

Instantly scroll down when I saw #1 😂😂😂

 
 

I ended the reading at the second point...I said serious, WTF!...hahah

 
 

I was preparing counter arguments as I read but luckily I was patient enough to finish because after the last one I did a remove command line mentally for those lol

 

You should know readers have enough going on in their day to be playing your mind twist games.

 

Haha good one or maybe I should say these 10 ones... and I think the worst enemy of a good developer is this arrogance of thinking that they are superior in everything

 
 

With advice like this I hope to never use one of your libraries.

Except for last point.

 

That number 10, lol. Is this a troll article?

 

Amazing, you made my day! Thanks for this! 😂🤣

 

ahahah very good! Number 10.

 

Checked your profile and went; yeah right!

You really are a writer.

 

you had me on the first half of #1... ngl

 

Don't know much about #1, but when I read #2 and #3, I already sensed that this post will be sarcasm. 😂

 

😅 you got me, i was about to type a mean comment till i saw "Do the opposite of everything I just said"

 

Too bad, I dumped all the coffee allotted for me today. It was too much fun for me, it made my day.

 

You better put a TL;DR at the top and put number 10 as number 1. Nice piece. However documentation point is definitely controversial, at least in the context described ;)