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.
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.
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
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
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
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🥰