DEV Community

Cover image for 101 Tips to Make You a Better Developer

101 Tips to Make You a Better Developer

Simon Holdorf on December 08, 2020

Being in the world of programming comes with a lot of challenges and opportunities for developers like you and me. There’s a lot to learn and maste...
Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

No. As a senior developer, I disagree with a sizable number of these points, for reasons described below.

I'd say this is already not about being a "developer", but about being a trend-focused "modern web developer".

  1. Learn the JavaScript fundamentals
  2. Learn one big JavaScript framework
  3. Deploy a serverless function
  4. Learn GraphQL concepts
  5. Build a JAMstack application
  6. Explore Cloud Technologies

If you're going into anything outside of web dev...and there is more outside of web dev than in it, even today...these would be a waste of time to varying degrees.

Even for modern web developers, these things are VERY optional. It depends on what you're building.

"You should definitely learn This Technology to be a better developer" is pretty much always false.

  1. Work with SQL-Databases
  2. Work with No-SQL Databases

Assuming you need to work with a database. Again, what are you building? What's your specialty? There are many fields of programming that don't even need databases.

  1. Practice authorization & authentication
  2. Take care of API security

Yet again, depends on what you're doing. Not everyone does APIs.

  1. Learn about kubernetes

This is so far into "learn all the shiny things" territory, it's almost funny. Given another 3-5 years, Kubernetes will almost certainly be old hat, and some new shiny thing will take its place. You're just encouraging fad-chasing here.

Do NOT learn a technology until you have a project in which to use it. Learning without a project is wasted energy. It'll just get forgotten and outdated while it sits unused in your mind. Focus on theory, not on tools.

  1. Try out VSCode and its extensions

No. As much as I love VSCode, this is again just tool evangelism. You can go just as far, or even farther in some cases, by mastering Emacs, or Vim, or IntelliJ, or whatever.

  1. Get a new certification

Again, depends on what you're doing. Know thyself.

  1. Contribute to Stackoverflow
  2. Answer Quora questions

Both of these are debatable. I can summarize it into one actually useful point: Help answer questions others have. It doesn't matter where or how.

  1. Create a social media account
  2. Create a LinkedIn Account
  3. Take care of your social accounts

There are many excellent programmers who don't. This is a time sink for many, and it may not be worth it. Even if you DO create a social media account, it's going to require significant effort to see any return, and that return seldom has much to do with being a developer.

The benefits you describe are better summarized as "Join a community". DEV, IRC, or your local Python user group all count. Social media doesn't have to enter into it.

  1. Get a remote job

There are plenty of good in-person jobs too. Remote isn't necessary to grow.

  1. Join a startup

Not necessary. There are many environments with the same benefits that are not startups. Some of them aren't even companies.

Also, not everyone will get this opportunity. Would you say to those people they're not as good as they could be because of it? (I hope not!!) If not, then this item shouldn't even be included.

  1. Join a coding bootcamp

The value of these is highly debatable, and they are certainly not essential. The majority of expert-level developers have never been to a bootcamp. What's further, the idea is too new to really know if it has any advantages over traditional school or self-learning in terms of career trajectory.


  1. Don't be a gatekeeper

Unlike this article? (Okay, a bit snarky, I know, but not without purpose.)

Your post strongly plays into several common fearful misconceptions young developers have:

  • "I'm not a real programmer until I know X"
  • "I'm not a real programmer until I do X"
  • "I have to learn All The Things"
  • "I have to always know the Latest Trendy Things to stay relevant."

All five of those statements are totally false, but they're prevalent. The fact that this article strongly reinforces all five makes it gatekeeping.

Your positive points do nothing to allay these messages.

Collapse
 
iammohitsakhuja profile image
Mohit Sakhuja • Edited

Totally agree with your points. If anything, this post can actually be quite discouraging to someone who has just started as a developer. It’s overwhelming, and many of the points as you’ve mentioned are about following the latest web development trends and do nothing to actually make the person a generally better developer.

Collapse
 
dhains33 profile image
Dave

A bit harsh... These are just tips and tricks
Use what fit, discard the rest
It's not a career path.

I checked it out just for fun, but saw a good couple of points and some ideas, the rest I'll ignore.

I don't think there's any harm in learning extra technologies. Unless you become a junkie... A little get to know something else sometime helps reaffirming bigger programming concepts instead of being language centric or stuck in one tech.

Maybe one enjoys more a new found tech and can make a move towards that instead!

You're totally right in some of your points though, but I think people need to practice their common sense more... Decide for themselves, figure it out :)

Have a great wknd!

Collapse
 
labib profile image
Asif

Hey
Whats a serverless function?

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited
Collapse
 
jimmyflash profile image
jimmyFlash

Usually, you would agree with someone on certain points of their views and disagree with others, but what i see here is you trying to force your own views and discredit everything else mentioned in this article.

"I'm not a real programmer until I know X"
"I'm not a real programmer until I do X"
"I have to learn All The Things"

What makes you think that any developer reading this article would come out so turned off and overwhelmed, start running those sorts of thoughts in their head, who’s doing the gatekeeping here.
The whole post is just tips, they are not rules or guidelines every developer should abide by or follow.

Don't know how long you been developing for, i was an Adobe Flash developer right until 2010 when Apple decided to end the life of Adobe Flash support on their iPhone, signaling the end of a platform that was on almost every user desktop and laptop be it windows, Mac or Linux. I used to develop for web, desktop and cross-platform all in one ide and code base, all of a sudden i was losing ground. I had to keep my options open and think ahead instead of clinging to a dying platform. I started learning Java, joined a bootcamp and started solving competitive challenges on HackerRank right until i earned my 1st 5 star gold badge in java, was around that time that i got my 1st offer as Android developer.

learned top design patterns of the platform, implemented MVVM with clean architecture, learned Kotlin for it's robust concise nature and how it's become a must know for Android developers, was intrigued to develop for both Android and IOS with KMM (Kotlin Multiplatform Mobile).

Became interested in web technologies when i came across the concept of PWAs . Not every mobile app needs to be written in a native language and needs an the bells and whistles the platform offers, loved writing single page application ReactJS.

Read the OWASP top 10 for mobile and web application when our clients hired security firms to do pretesting on our mobile app and server code before going live with the final product, secure coding, static code analyzers, lint checkers became part of our coding practices that we apply and teach to new developers.

I learned a lot with practice and i'm still learning. I learned from my previous career as a Flash developer that this landscape is ever changing and demanding, you should keep learning, not keep the focus on one platform, one programming language, single design pattern, architecture or paradigm, a lot of the tips mentioned are parts of what i experienced in my career, some i may not agree with, some i might want to try.

In the end i don't dissect every point and over criticize it making it sound like it's a mistake these tips were written in the 1st place and no one should read them if they are starting a career in development, that is way too much.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

I have spent nearly my entire career mentoring and training junior developers, so I happen to know first hand how things like this article are taken by many of them.

Collapse
 
xzirezhs profile image
Xzirez • Edited

The main issue i have as a new developer is that the tools we use for creating applications are ever changing and the demands to know these tools ever increasing. When i first started applying i only knew React and some java from school. I got to interviews and was asked about all these terms i had no clue about. I would usually say "i can learn them quick", but more often then not the employer wants someone who has demonstrated ability to deliver in the way they want to deliver.

This is where the issue lies. There is no job focusing on knowing how to code, but rather how to develop a product. The tools the employer ask for does not take me long to learn, but they are not willing to invest into the learning curve. It creates developer with sole purpose of meeting the status quo of modern development. There is no focus on quality, but rather if you check all the boxes needed.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

P.S. That situation doesn't improve with seniority. HR folks and recruiters are infamously blind in this regard. There's a reason there are jokes about "Carpenter wanted, must have 5+ years experience with Black & Decker TZR-765 Circular Saw".

Focus on the underlying skills and, yes, on delivering software. The artificial talent shortage in the industry harms us all, but if you have the platform-agnostic skills and track record for delivering software in your chosen sector, you'll be a good candidate for the job openings that existing humans actually qualify for.

In other words, nevermind the thousands of closed doors that wouldn't even consider Torvalds, van Rossum, Knuth, or Stroustrup to be qualified; focus on the dozens that have reasonable expectations. There are new such opportunities all the time. You'll find something eventually if you keep at it.

Collapse
 
graystrider profile image
GrayStrider

Thank you

Collapse
 
rebaiahmed profile image
Ahmed Rebai
  • Practice sport
  • Read books about clean code
  • Participate in Hackathons
  • Answer questions in StackOverflow
  • Be careful of your comfort zone
  • Participate in Forums
  • Be a Member of Technologies communities
Collapse
 
simonholdorf profile image
Simon Holdorf

Great points, thank you!

Collapse
 
burhanrashid52 profile image
Burhanuddin Rashid
  1. Have patience. Rome was not build in day.
  2. Compare only with yourself. And don't compare your start with someone else middle. Everyone have different journey.
  3. Be consistent and have discipline to whatever you do.
Collapse
 
dastasoft profile image
dastasoft

Great post! I would add one important thing, enjoy the process, a lot of ppl centers in the goal and programming is a never ending learning travel so it will be better if you learn to enjoy the process even if in some moments you suck in a new programming language or technology or some stack seems imposible for you :)

Collapse
 
simonholdorf profile image
Simon Holdorf

That's a good point, I agree with you :)

Collapse
 
holistic_developer profile image
Holistic Developer

Great article that made me deal with my Google rejection in a more enjoyable way. I created a video about this post that can be found here youtu.be/gshytH8eI2Y

Looking forward to more posts from you.

Collapse
 
krishan111 profile image
Krishan111

Sir can you make a blog on how website like Dev.to orders there posts (the order in which blogs are listed) on home page.
It will be greatly appreciated by me.
Thanks Sir

Collapse
 
simonholdorf profile image
Simon Holdorf

Hey, you mean how they sort the posts? They have an algorithm for that and you could look it up on their GitHub repo. Maybe

nickytonline image
or
rhymes image
can help you a bit understanding it.
Collapse
 
krishan111 profile image
Krishan111

Thanks Sir

Collapse
 
vovs03 profile image
Vladimir Pavlychev

You can start from Wordpress

Collapse
 
brisa_163 profile image
Brisa

Great list!
Take it or leave it: One size does not fit all.

I’d like to add 1 more: Don’t be a jerk (obvs not directed to you)

Collapse
 
simonholdorf profile image
Simon Holdorf

Thanks, no offense taken :)

Collapse
 
elizbrown1 profile image
Elizabeth Brown

A development process is not an easy and quick one, and like any complex project, it needs thorough planning done beforehand. This article will help you:
soft-loft.com/how-to-hire-magento-...

Collapse
 
vinthefantastic1 profile image
vinthefantastic1 • Edited

Thanks for this post! My next personal project will be a jam stack application. Good stuff! I noticed some people had negative comments but I liked it. Keep the inspiration flowing!

Collapse
 
simonholdorf profile image
Simon Holdorf

Glad you like it! Here is some more info for Jamstack projects if you want.

Collapse
 
hextrace profile image
hextrace

Damn, I was expecting only 6 tips, not actually 101!

Collapse
 
simonholdorf profile image
Simon Holdorf

Ha, damn, haven't thought of this but it's so obvious :D

Collapse
 
michelledev3 profile image
michelledev

Great post Simon, I am attempting to learn Vue and React, but here's something I wrote about for Angular dev.to/michelledev3/angular-12-and...

Collapse
 
codejackdev profile image
Code Jack

great and clear, thanks for sharing!

Collapse
 
simonholdorf profile image
Simon Holdorf

Thanks, glad you like it!

Collapse
 
kashifshafati profile image
kashif Ali

Nice one!! 🙂

Collapse
 
simonholdorf profile image
Simon Holdorf

Thank you! :)

Collapse
 
ayabouchiha profile image
Aya Bouchiha

Great post ❤️

Collapse
 
simonholdorf profile image
Simon Holdorf

Thanks!

Collapse
 
khush31 profile image
khush

Totally agree with you man 😌. Thanks for sharing ☺️ #VScodelover 😂

Collapse
 
simonholdorf profile image
Simon Holdorf

Ha, that's cool! Thanks for your comment :)

Collapse
 
aalphaindia profile image
Pawan Pawar

Thanks for the quality information!

Collapse
 
simonholdorf profile image
Simon Holdorf

Glad you like it! :)

Collapse
 
simonholdorf profile image
Simon Holdorf

Hey fellow developers, hope you find something useful in this post. If so, which advice would you choose to give others? Which one is valuable to you? Happy to hear what you have to say :)

Collapse
 
piperymary profile image
Mary

Thanks for your list. It was a good read. I also recommend checking these short notes, it can also be helpful for beginners.

Collapse
 
glykoudis profile image
George Lykoudis

Nice one!! 🙂

Collapse
 
simonholdorf profile image
Simon Holdorf

Thank you :)

Collapse
 
sadikursadik profile image
Md. Sadikur Rahaman

well noted with thanks.

Collapse
 
bunkit profile image
bunkit

Thanks a lot man, those are great reference

Collapse
 
simonholdorf profile image
Simon Holdorf

Hey, glad you like it!