DEV Community

Cover image for 101 Tips to Make You a Better Developer
Simon Holdorf
Simon Holdorf

Posted on • Originally published at thesmartcoder.dev

101 Tips to Make You a Better Developer

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 master — we have JavaScript frameworks like React, Vue, Angular, and Svelte. We have static site generators, the JAMstack, serverless, Git, and the list goes on.

While the broad ecosystem of web development has something in store for every individual, it can be really hard to keep track of the ever-changing technologies. And not only that, but there are also more questions for you to answer: Where do I want to work and with who? Do I want to become a full-stack developer? Do I want to work in a permanent role or go for contracting? How can I develop myself and acquire new skills?

I’ve put all my knowledge and experience into these 101 tips that might help you in your career as a web developer. Whether you’re just starting or already have some experience, these tips will hopefully help you. This list is by no means complete and certainly not every single point will be a perfect fit, but I hope you can pick some of them for inspiration or guidance.


101 Tips to Help Web Developers

1. Try to understand Git concepts

Knowing the basic commands is good, but try to also understand the underlying concepts.

2. Learn the concepts of clean code

Understanding the clean code philosophy helps you produce better, more readable code with fewer failures.

3. Build a portfolio site

You should be proud of your work, and so share it with others and give future employers and clients the chance to hire you.

4. Write a technical blog post

Writing a blog post has several advantages. Learning new things is often easier if you try to explain what you’re learning to others. And giving back to the community is a great move.

5. Get your first freelance gig

Make 2020 the year for a career change and land your first contracting job. Have a look at web platforms that offer project opportunities, contact recruiters, go to community events and conferences, or see if your employer might want to hire you as a freelancer.

6. Learn the JavaScript fundamentals

JavaScript runs the web. And JavaScript will probably still be around while frameworks like React and Vue come and go. So invest in learning the JavaScript fundamentals.

7. Learn one big JavaScript framework

Modern web applications are often times powered by frameworks like Vue, React, or Angular. Companies like Facebook, Google, and Airbnb maintain and use them. So, as a front end developer, you should at least know one of them. But in the end, it’s just JavaScript.

8. Try to move to a senior position

Learn what it takes to become a senior developer. Besides experience, it’s very important to have soft skills like empathy and great communication skills.

9. Mentor junior developers

The most important deliverable of a senior developer is more senior developers. So try to help educate others without being bossy.

10. Create a tutorial for others

If you’ve learned a new programming language, feature, or technology, share your knowledge with others.

11. Try out VSCode and its extensions

If you haven’t used VSCode as your primary IDE, you should definitely try it out. It will make you a much more productive developer, and it has a lot of great extensions, like code formatting and styling or auto-completion.

12. Leave a toxic workplace

If you’re working in a toxic place or have a toxic boss, look out for other job opportunities. People won’t generally change, and your talent is too good to be wasted. Look for someone who can appreciate you and your skills.

13. Contribute to open-source projects

Contributing to open source is probably something every developer has thought about. You can engage and help the community, practice programming in real environments, and add it to your portfolio. A lot of OSS projects are welcoming new users that can add to their repositories.

14. Learn a fundamentally different programming language

To broaden your horizons and get out of your comfort zone, it might be a good idea to learn a completely different programming language. For example, if you normally use Java, try JavaScript, Rust, or Golang. Try something you’ve never worked with before.

15. Deploy a serverless function

Serverless functions are small programmatic functions with a single purpose that are hosted on a managed infrastructure. You can use AWS Lambda, for example, to host them. Many projects make use of them, and so it’s worth giving it a shot.

16. Learn GraphQL concepts

RESTful APIs have been the de facto standard for web development in past years. But with Facebook’s GraphQL on the rise, you should definitely try to learn the concepts behind it.

17. Build a JAMstack application

JavaScript, APIs, and Markup — applications consisting of these technologies make up the JAMstack. The JAMstack is powerful, lightweight, and independent of dedicated backends. A good fit for corporate websites or your portfolio site, for example.

18. Have a look at OWASP Top 10

The Open Web Application Security Projects offers recommendations and best practices for developing secure applications.

19. Do more pair programming

Pair programming is one of the best ways to share knowledge between programmers. You can learn from more experienced developers, or you could help out more junior developers. Either way, it’s a good thing and helps you to stay focused.

20. Opt-in for code reviews

Code reviews are mandatory in many projects and demanded by many corporations before code gets merged. You should participate in such reviews quite often. If you’re a beginner, you can learn by reviewing other developers’ code and ask them questions about it. If you’re more experienced it helps to reduce errors in the codebase.

21. Focus on problem-solving

One thing that makes a good (senior) developer is the ability to focus on solutions instead of problems. Always try to find ways to deal with challenges.

22. Learn how to debug

Programming code will never be perfect. There will be bugs and errors, that’s for sure. But in order to find and fix them, you need to learn how to debug your code.

23. Don’t sell yourself short

One thing I always need to remind myself is that I’m worth whatever money I charge a client or ask for from an employer. All the skills you’ve acquired, all the hours you put into programming, and your valuable personality should give you the confidence to negotiate in your favor.

24. Learn from your failures

Everyone makes mistakes. Even the most successful developers make a lot of mistakes. But what’s important is that you learn from these mistakes in order to grow — both in your skills as a developer and in your personal life.

25. Always test your code

Writing tests for your code, whether unit tests or integrations tests, seems to cause extra work, and you might think that the code you write is perfect and without errors anyway. That’s a mistake. Almost all corporations and open source projects expect you to test your code. And you should even do it in your personal projects to get a hang on it.

26. Learn design patterns

Design patterns are building blocks for architecting software applications. You won’t necessarily need them in every project, but it’s good to know some of the major ones.

27. Don’t hesitate to ask for help

There’s nothing bad about asking for help. However, it’s always a good practice to try something on your own before asking someone to help you. But in general, if you’re stuck, reach out to someone who can help you.

28. Attend a technical conference

Attending conferences is a great way to learn about new technologies and to engage with the community. Quite often, employers offer their staff discounts or pay the fees for them if they bring back knowledge and share it with their coworkers.

29. Speak at a technical conference

If you have the chance, you should speak about a topic you’re interested in at a conference. Even if you’re an introverted person, it will help you build confidence.

30. Try to stay relevant

This is easier said than done, but in order to keep track of the rapidly changing world of technology, you need to constantly learn and improve your skills. Read blog posts, attend conferences, watch videos, subscribe to newsletters, read books, attend (offline) courses. There are countless possibilities.

31. Be open-minded

Nothing is for granted. No technology, no framework, no library. You have to constantly adapt to succeed in this industry. And being open-minded doesn’t only count towards tech — in the end, it’s the humans that matter.

32. Join a community

You don't have to be a one-person-show. Joining a community of like-minded people, other developers, writers, or whatever you have interests in can really help you to improve professionally, discover new opportunities, and even make new friends!

33. Become a specialist

Many people, including me, are generalists meaning they know many things good and that's perfectly fine. However, in some positions in tech, it is necessary to know a few things very, very well and experts for those things are in high demand and paid equally well.

34. Ship something

A lot of people are afraid to ship things to the public. Products, Tools, Articles - doesn't matter. The key takeaway here is: Just ship it! Either it works right from the start or you learn something new by adjusting it!

35. Practice regularly

You don't have to be some sort of natural talent to work as a programmer. Almost everything can be learned and the best way is to program. So write code regularly, daily, and you will become better - automatically.

36. Start a personal project

Many people believe a "real programmer" does nothing but code and has at least 3 personal projects at a time. That's, of course, not true! But a personal project can be a good thing to explore new technologies, try out new things, build & sell a product or just to have some fun. Try it!

37. Finish a personal project

Starting a personal project is easy. But making it to the end by shipping it to the public is not. The personal-projects-graveyard is pretty crowded with lots of abandoned projects. You should try to finish something - the feeling is great!

38. Take a new course

When was the last time you learned something new, be it for work or for yourself? Maybe it's time to get out of your comfort zone and take a new course about a topic of your interest. Doesn't have to be about coding. Might as well be to improve your social skills or even something like cooking!

39. Read more books

The internet brought us many new opportunities to learn - blogs, podcasts, video courses...but for me, there is nothing better than a good, old, paperback book. So if you want to try something old that worked for generations - read a book!

40. Support other people

Giving is better than receiving - By helping other people you can really improve as a human. And often it pays off in the long-run. New job opportunities or friendships - and it's a great feeling to help others!

41. Learn to analyze problems

When you work as a developer it's often necessary to analyze problems extensively before tackling them. This is a skill that you can and should learn. There are great courses available that specifically teach you how to analyze problems.

42. Refactor a codebase

Codebases are like attics. They look clean when you build the house but over time they become a crowded place with many things you actually don't need anymore. Same with code. So it's a wise decision to go through your code from time to time to see what can be refactored or even abandoned.

43. Meet new people

A lot of developers that I would describe themselves as being introverts. So they often tell me it is hard for them to meet new people. That's understandable, of course. But believe me, socializing is hard for everyone so fear not to talk to others in person or over the web. Online meetups are a great place to overcome fear!

44. Enjoy your life

Maybe this is obvious to you but maybe not. Enjoy what you do, in life and in work. If you don't like what you are doing you will never give 100% to it. And even if that means to change jobs or careers. Do what you really like!

45. Don't listen to others too much

A piece of strange advice because I am actually telling you something and you are obviously reading it. But it's true. There are so many people with even more opinions out there telling you what to do. But in the end, it is your life, your choices, so don't follow blindly but be skeptical and do your own research!

46. Take some time off of social media

Social Media really is a double-edged sword. You can meet great people, read fantastic things and waste lots of time. Because of the reward systems with their likes and reactions, things can become addictive real quick. So take some time off of social media regularly and regain some energy!

47. Create a social media account

While I stated that social media can be dangerous at times it also is a good opportunity to get to know brilliant people, learn new things, join communities, or do some self-marketing. I suggest you try it out and decided for yourself if you like it or not.

48. Create a LinkedIn Account

LinkedIn has become the de-facto standard for professional relationships. If you are serious about your career and want to receive new opportunities on a regular basis a well-made and up-to-date profile there is a must!

49. Take care of your social accounts

Having abandoned social media accounts, especially a LinkedIn account that isn't up-to-date is worse than not having one in my opinion. So take some time to care for those profiles!

50. Build a solid foundation

Many beginners jump straight into frameworks, they often even switch between them. I personally don't find it problematic to start with a framework if it keeps your interest up and fits your learning style. However, at some point in your career, it becomes vital to have a solid foundation because frameworks come and go but the fundamentals are likely to stay - so it helps you adapt to new situations and challenges.

51. Take advantage of free resources

There are many great resources for learning any topic about programming and web development available but sometimes it's hard to separate the good from the bad ones. Ask friends, co-workers, or on social media for recommendations. Look at the number of views on youtube, for example. But don't follow blindly, always reflect what you read or watch!

52. Find your niche

Having a broad knowledge of different topics is per se a good thing because it opens many doors and leads to lots of opportunities. However, it can be very satisfying to become really good in a niche of your interest. It makes it easier to talk about it, to write about it and the coding itself is super fun!

53. Learn how you learn best

This is something I had to discover for myself as well. There are a lot of people suggesting that you learn specific things in a specific order or via a specific medium. But the truths is that nobody can really tell you how to learn things. Rather you should try different strategies and techniques and find out yourself how you learn best!

54. Learn to appreciate failures

When you work with code, especially when it comes to shipping things to production or when you write tutorials, record courses, provide help to others - there is always the possibility of errors, mistakes, and failures. Don't let this discourage you but rather take those as chances to become better, learn something new, and strengthen your self-confidence!

55. Learn to celebrate success

Easier said than done and often neglected. If you achieved something like a new certification, a promotion, a new job, a new blog post that receives a lot of views, or your first product that goes live - celebrate those wins and let others know about it.

56. Just start coding

If you are new to programming chances are you are overwhelmed by the massive amount of learning materials and read post after post, watch course after course. But with coding the best approach to learn it is actually to just start coding and improve from there.

57. Contribute to Stackoverflow

Stackoverflow is one of the largest developer communities and you can find solutions for almost any programming problem there. But instead of just reading you could try raising questions or answering questions from others. Remember, giving is better than receiving!

58. Find great tools

A craftsman is only as good as his tools. You don't need much to code - your laptop and a basic text editor are sufficient. But there are great tools out there that help you like IDEs (Integrated Development Environment), CLIs (Comand Line Interfaces, note keeping tools, Pomodoro timers, image hosting, and much more.

59. Customize your IDE

If you use an IDE like Microsoft's VSCode you can and should really make it your IDE by leveraging the excellent marketplace extensions and massive customization features. It starts with colors and themes and can go as deep as shortcuts and snippets.

60. Develop a new product

Products are something that many developers ultimately want to create to generate additional income, gain freedom, or see their ideas come to life. Truth be told here: Chances are that your first product won't sell for millions of dollars but don't let that discourage you. If the first product isn't successful maybe the second or third is. And what success really means is defined by you and not by others.

61. Create your own tools

Even if there are many great tools on the market I believe there is always room for more tools that either do a specific thing better than other tools or solve a new problem. So if you have an idea to improve something or encounter a problem that no existing tool can solve - go for it.

62. Write a book

Writing a book seems like a huge task with lots of hurdles. While it is definitely challenging, it also is a great experience and it can generate a substantial amount of revenue. It doesn't have to be a paperback book though, an ebook is just fine. You can start with as little as 10-15 pages and give it away for free to test the waters and learn how to write.

63. Create a library

Have you ever tried creating your own library, a JavaScript-based one for example? So many people have done it before and the solutions are often just tiny little helpers tackling a tiny little problem. So I encourage you to try making your own library if you encounter a problem that you can solve and think that others will benefit from your solution as well.

64. Learn to listen to others

Many people seem to like the sound of their own voice. However, when working in a team or with clients, it's essential to also listen to others actively. By actively I mean to ask questions that help the discussion. Learn not to interrupt others and to be respectful during meetings.

65. Communicate clearly

Communication skills are highly important these days, sometimes more important than pure coding skills. Failure and success of a product or company often directly relate to the quality of internal and external communication. So take some extra time to communicate in a clear and understandable way.

66. Share unfinished work
You don't have to be a perfectionist. Share your work early and when it's not finished to receive valuable feedback from others. It's better to adjust things as soon as possible because it becomes harder and more expensive later.

67. Answer Quora questions

Quora is a platform where people raise questions about almost everything that exists in life. By answering peoples' questions there you can market yourself as someone with profound knowledge in specific areas which in turn can lead to new career opportunities.

68. Become a domain expert

If you are interested in a specific topic like cloud computing, security, or machine learning it can be a good move to really focus on that specific domain and become an expert in it. Higher salaries, "fame" and a good feeling can be the rewards.

69. Get a promotion

Okay, being promoted is something you can't really force because there is almost always someone that has to promote you. But while there are exceptions most people don't get promoted if they don't ask for it. So if you think you deserve to be promoted you should go for it and don't wait until someone does this for you.

70. Take some time off

Coding is a fulfilling thing for me. If I'm "in the flow" hours are flying by like there is no tomorrow. Sometimes I code during work hours, continue in my free time and do it even on weekends. But this can quickly lead to burnout or stress so it's really healthy to take a few hours or days completely off of programming to recharge the batteries.

71. Inspire others

When you have built a new product/feature, learned a new skill, solved a difficult problem, or talked for the first time at a conference - share it with others to help them and inspire them to become better developers.

72. Work with SQL-Databases

Even if there are some good reasons to use No-SQL database solutions and in my opinion, those are often marketed as more "hip or modern" most of today's applications are probably using SQL databases. So learning how to work with them is a vital skill you shouldn't neglect,

73. Work with No-SQL Databases

If you haven't worked with a No-SQL database product or technique before you should give it a go. Solutions like MongoDB, Redis, or Couchbase are being used by many large organizations and follow a fundamentally different approach than SQL databases.

74. Learn how to research

Programming is problem-solving. In order to solve problems, it is vital to know how to research for solutions properly. Take notes, ask questions, and try to find the right documentation or solution documents.

75. Learn about accessibility

Accessibility, also known as A11y, is something that should be a standard in software development but sadly is not. There are a lot of people that have difficulties using web applications because those are not made for people with disabilities or impairments resulting in barriers. So every web developer should know about accessibility features and make the best use of them.

76. Learn about kubernetes

Kubernetes (K8s) is a hot topic in DevOps and Web Development. K8s is an open-source container orchestration system used for automated application management, scaling, and deployment. A lot of companies already use Kubernetes, so knowledge of it is precious.

77. Write useful comments

Commenting on other peoples' blog posts and code snippets can be really helpful for the authors. But please do it in a way that is neither insulting nor misleading. Try to be clear and precise, comments should always provide value. No value = no comment!

78. Get a new certification

Certificates are still a great way of showing your expertise and can lead to new career opportunities such as a new job, a promotion, or an increased salary. You can add them to your resume and LinkedIn profile. A lot of companies have an extra budget for their employees so you might even get one for free.

79. Practice authorization & authentication

Dealing with users and their data is a challenging thing to do. If companies mess it up and personal data has been exposed the trust in that company can plummet real fast. So it's vital these days for every developer to know how to properly deal with authorization and authentication (no, that's not the same!).

80. Take care of API security

APIs are everywhere. But it's important that they are properly secured and only authorized services are able to access them.

81. Write good emails

Ha, you are a coder, why should I care about emails you might think. Well, we all receive dozens of emails each day. And one of the many reasons we programmers don't like receiving emails is how they are written. So lead by example and try to write emails in a way the reader wants to read it.

82. Don't be a gatekeeper

There are enough problems in this world already so you really shouldn't discriminate or exclude others from knowledge, jobs, or communities. Be kind and humble and it will pay off!

83. Follow great people

Honestly, how many people do you follow that you don't really know or have no clue about what they actually do? Try to reduce the people you follow to the ones that really provide value for you in terms of expertise or other opportunities.

84. Take new risks

Most of us live in our comfort zones and hardly get out of it. But without taking risks there are few chances of rewards. Don't have to be dangerous things but things like applying for a new job, writing a book, or creating a product.

85. Learn about machine learning

Machine Learning is one of the hottest disciplines right now. The salaries are above average, the demand for skilled developers is very high. If you are looking for a new challenge or want to improve your skills - machine learning is a great opportunity right now!

86. Stay humble

Don't take things for granted or make fun of others that are just at the beginning of their careers. We all started somewhere and wished we had cool people to back us up back then!

87. Track your progress

If you can't measure it, you cannot improve it. If you think you don't make enough progress or progress at all it might be time to start tracking your progress. Commits, line of codes, courses, books, certifications,...but track it.

88. Learn how to utilize documentation

Many questions and problems can be solved before asking for help by taking a look at the right documentation. Even if you are starting out, for example with a new framework, you can learn a lot from the documentation. Often times you don't even need to take a course, the docs are sufficient.

89. Chose quality over speed

It's a fast-paced world and industry. But that doesn't mean to rush through everything. Quality matters so take your time on the things you make. For example, don't dispense writing tests for your code because you think you don't have time for it!.

90. Participate in a job interview

Even if you don't need a job right now it can be a good strategy to opt-in for an interview from time to time to stay in practice and see what your market value is.

91. Help others to prepare for an interview

A lot of people struggle with job interviews and are very grateful if someone helps them prepare for it and acts as a sparing partner.

92. Invest in yourself

The best way to spend your money and time is by investing it in yourself and your career. Paid courses or certifications are a great way to invest in yourself and usually pay off in the long run.

93. Invest in your tools

You don't need that fancy new MacBook or iPhone every year. But you spend a lot of time in front of a computer so don't always buy the cheapest things. A good monitor, keyboard, mouse is a must. A chair that supports your health is very important. And tools that help you with programming and development can also provide great value.

94. Try to work from home

Many of us have been forced to work from home during the Covid-19 pandemic. And a lot of people struggle with it while others love it. But it can be really cool for you and your family if you do it in a proper way. Many companies know what it means for their employees to work from home so communicate honestly about your needs and fears.

95. Get a remote job

As a software developer, you can usually work from anywhere in the world. This gives you countless opportunities to work with the greatest companies, the coolest products, and the smartest people.

96. Find a job with a purpose

Many people go to work because they need the money. That'S totally fine. They exchange their time for a paycheck, nothing wrong with that. But if you are like me thinking there is more to work than 9 to 5 you should try to find a job with a purpose. Can be something for the community, for the society, or in the open-source area, for example.

97. Join a startup

Whether you are an industry veteran or an absolute newcomer - working in a startup environment can be challenging and rewarding. Lots of things to do, responsibilities right from the start, no clear career paths, and often a vision that stands above everything.

98. Apply for a new job

SOme they that you have to change jobs constantly in the tech industry to increase your salary and stay relevant. I don't think that this is true for every case but sometimes it makes sense to go for a new job. Toxic bosses or colleagues, better salary, new technologies or learning opportunities, or the perspective of working remotely. If you have a reason to apply for a new job you should do it.

99. Join a coding bootcamp

Coding Bootcamps have emerged over the past years and can really help you jumpstart your career as a software developer, especially if you are coming from a non-technical background. Many companies accept Bootcamp graduates for junior positions.

100. Explore Cloud Technologies

The cloud is just someone else's computer. If you see it this way or not, cloud technologies are everywhere and many companies hire specifically developers that have experience with AWS, Azure, or GCP. So if you want to take the next step in your career or are trying to stay relevant for the future, learn about cloud computing & cloud technologies!

101. Never give up

Everyone struggles sometimes — some more, some less. It won’t always be easy. But you’re not alone, and we all started somewhere. You can do it!


And that’s it. The longest post I've ever written. Not everything will be relevant for you or apply to your current situation but I hope you can get something out of this list. Let's help each other as a community!

I recently started a new blog The Smart Coder where I create free content for the community. This article is from there, you should check it out :)

If you like what I write and want to support me and my work, please follow me on Twitter to learn more about programming, making, writing & careers🥰

Top comments (46)

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 :)

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