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)
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.
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 😂😂
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.
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.
I ended the reading at the second point...I said serious, WTF!...hahah
Amazing, you made my day! Thanks for this! 😂🤣
You got me there. I was reading with my eyes getting wider in disbelieve on every paragraph. Nice one.
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
Some comments may only be visible to logged-in visitors. Sign in to view all comments.