DEV Community

Daniel Warren
Daniel Warren

Posted on • Updated on

Ten Tips for Becoming an Elite Developer

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

If the designer 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.

Top comments (43)

Collapse
 
k0che profile image
Marcus Zippka

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.

Collapse
 
kamo profile image
KAIDI

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

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

and not for other points? LOL

Collapse
 
kamo profile image
KAIDI

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

Thread Thread
 
joelbonetr profile image
JoelBonetR 🥇

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

Thread Thread
 
kamo profile image
KAIDI

Hahah, it was a scary joke

Thread Thread
 
warrend profile image
Daniel Warren

I thought it was obvious after #1, haha.

Thread Thread
 
joelbonetr profile image
JoelBonetR 🥇

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

Collapse
 
adamcoster profile image
Adam Coster

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.

Collapse
 
warrend profile image
Daniel Warren

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.

Collapse
 
erickruano profile image
Erick Ruano

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" 😂

Collapse
 
donut87 profile image
Christian Baer

Couldn't you compromise on using 3 spaces?

SCNR

Collapse
 
crisleo94 profile image
Cristhian Reinoso

No spaces is the new 4 spaces.

Collapse
 
adamcoster profile image
Adam Coster

It's a classic Poe's Law situation.

Team Two Spaces, all the way.

Collapse
 
timmybytes profile image
Timothy Merritt

Two or four spaces? I prefer five.

Brain: explodes

Collapse
 
lilian131 profile image
lilian131 • Edited

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

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

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

Collapse
 
jamesthomson profile image
James Thomson

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 😉

Thread Thread
 
joelbonetr profile image
JoelBonetR 🥇

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 😅

Collapse
 
milestonedev profile image
Justin Miles

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.

Collapse
 
barriosdfreddy profile image
Barrios Freddy

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

Collapse
 
mathieuhuot profile image
Mathieu Huot

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

Collapse
 
itumelengmodise profile image
itumeleng-modise

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

Collapse
 
danble profile image
Danble

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

Collapse
 
andrewbaisden profile image
Andrew Baisden

lol 😂

Collapse
 
evankapantais profile image
Evan Kapantais

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

Collapse
 
dwd profile image
Dave Cridland

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

Collapse
 
kwekuq profile image
KwekuQ

Lol, you had me at point 1. Brilliant.

Collapse
 
ya39oubi profile image
Hamza Yaakoubi

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

Some comments may only be visible to logged-in visitors. Sign in to view all comments.