DEV Community

Discussion on: 101 Tips to Make You a Better Developer

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
 
graystrider profile image
GrayStrider

Thank you

Collapse
 
labib profile image
Asif

Hey
Whats a serverless function?

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited
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
 
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
 
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
 
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.