Introduction
Are you a web developer looking to take your career to the next level? Whether you're just starting out or you've been in the field for a while, there are always new opportunities to learn and grow.
In today's rapidly evolving digital landscape, web development is a constantly evolving field. As technology continues to advance, there is an increasing demand for skilled developers who can create innovative and responsive websites and applications.
To stay competitive in this field, it's essential to keep up with the latest trends and technologies and continually refine your skills. In this article, we'll explore some practical strategies for growing your career as a web developer, from honing your technical skills to building a strong professional network.
Whether you're looking to advance in your current position, explore new job opportunities, or strike out on your own as a freelancer or entrepreneur, the tips and advice in this article can help you achieve your goals and succeed in the dynamic and exciting world of web development. So, let's get started with the Takeaways:
Avoid generic and overused advice. Instead, focus on actionable strategies that are specific to your goals and career aspirations
Soft skills are just as important as technical skills in web development. Communication, collaboration, and problem-solving are essential for success in this field
Don't rely on someone else to teach you everything. Take ownership of your own learning and seek out resources and opportunities to grow your skills and knowledge
Write for yourself or the community. Creating content can help you establish yourself as an expert in your field and build a strong online presence
Consider mentoring someone else as soon as possible. Not only does it help someone else learn and grow, but it can also help you develop leadership and communication skills
Overcome the impostor syndrome. Many web developers experience feelings of self-doubt and insecurity, but it's important to recognize your own strengths and accomplishments and embrace a growth mindset
Now let’s dive deeper and explain myself.
Avoid generic and overused advice
Are you tired of reading generic articles and blog posts that offer little new information? Why do I believe there are too many generic articles and blog posts? It seems like everyone is writing for the Google algorithm these days, resulting in repetitive advice that doesn't truly help you grow as a web developer. For example - create your own website, solve problems on websites like hackerrank and leetcode, work with people that are smarter than you and so on. You get the point. This is just the tip of the iceberg.
This is absolutely great and will definitely make you better. But to get on the next side of the river… well.. it’s not enough. It will make you above average and if you are just starting out - it will probably increase your chances by a factor of.. a lot.
But I have managed to obtain some information from people around me who are way above average and also have examined people in the field. I even have a number in percentage that I calculated from my own experience. I will share it later in the article.
I will also give you a few bad examples on why you need to push it further.
The Soft skills
Reliability, owning your words and problems and strong character. Read that again and let’s start explaining.
Software development is working with people for people. We stay in front of the machine and execute command after command but let’s not forget that we are mostly working as teams and clients. There are three main characteristics in my opinion that go beyond all others.
Reliability
People need to know that they can count on you. If you show yourself and stay to your word, you will grow not even in software.
In the Internet technology world, if people can rely on you it means you are going to grow as a leader. Growing as a leader means you will be part of bigger and more important decisions.
Managers will feel more comfortable with a less knowledgeable, but reliable person, thank someone who knows his domain, but has character problems.
Stay to your words! That lead us to:
Owning your words and problems
I get it. You want to be the best! I want to be the best too, but let’s face it - it’s not possible. We will make mistakes, even if we don’t like it.
Another great skill is to show you own your mistakes. If you step and fall, acknowledge that and ask for help. Or if someone points out an error you have made - don’t act in your defense. Learn and go on! Improve and adapt!
Strong character
What I mean by that - I mean that you have to be strong enough to acknowledge your mistakes and have the ability to ask for help. Overcome your ego and act as stoically as possible!
Arguments will come at a certain point. There is no way to go through life and not encounter different opinions on how to achieve something.
Learn to discuss and provide arguments. Learn to explain yourself and present the approach. Also learn to retrieve information. If the opposite idea is just better - use it.
leaders empower!
It's funny - the “aha” moment I had when I understood and found out about myself. I am not just a code monkey and just a junior is the moment I said with confidence - “I don’t know and I have no idea how to implement that” with confidence. Nobody knows everything.. and no one should try to.
The bad example from Real life
I had a colleague I worked with in the past that lacked the three of these characteristics. He changed so many projects around the company. Nobody wanted to work with him. He was a horrible guy and I really couldn’t understand why he wasn’t fired.
He thought he was a great dev, always acting as a “dev God”, but he wasn’t reliable, he didn’t own his mistakes and he absolutely didn’t act as a man.
He raged quit at least four projects, because someone wasn’t taking his arguments and acted as a spoiled child.
It doesn’t matter if you are smart enough. If you suck as a person, nobody will want to work with. What is the point in being great then..?
Don’t rely on someone to teach you
Because not many people will care enough to do so. You may find that person, but don’t expect it from a company.
I met a guy in the past that was trying to learn to code and started applying to companies as soon as possible. That’s great, but he had a major flow. He expected that he needs to know the bare minimum and they will teach him the rest.
I was like - “Dude.. what the ..?”
People hire to produce a product or a service and to make money in the end.
Programming is hard. Real hard. If their business is not around teaching people how to code, don’t expect someone to teach you anything.
People act as there are “self thought devs” and “not self thought devs”. I don’t understand that thinking. Every dev is self thought. You can have a mentor to guide you and help you, but nobody is going to teach you anything, if that is not in their job description.
I have had mentors in the past. Even then it’s not certain they will be good enough. My mentor didn’t really care enough..
Take as much as possible from the projects and the people that work in that project. Examine the code, learn why and how it’s all linked together. Ask specific questions on subjects you are not fully understanding.
Write for yourself or the community
We are getting to the interesting part. I started to learn and really understand what I do the moment I started to write everything down.
It’s easy to get the illusion you are learning only when you are watching some video tutorial or you are reading the documentation.
You forget almost everything about it.
Trust me with this one!
I have so many notebooks around me and have written so many docs for some topics I was learning.
I started writing everything for myself and 95% of the stuff I have written are private and not in “article format”. It’s just an explanation of what I am learning about.
But writing works. It clarifies your thoughts. It forces you to examine and dive deeper because at some point you encounter a problem you can’t really describe.
That forces you to go lower and deeper.
You will forget some stuff, but it will be easier to retrieve again and certainly you will remember a lot more than just browsing around.
Coding and writing! Best combo!
Bad example from my experience
I want to give two examples on why you can’t rely only on years and problems you encounter. I can give you actually a lot more, but you will get the point.
The first one is seven years of development. PHP developer who was working on numerous projects through the years, but never actually learned anything new. He believed that working alone is enough. The moment he tried to find a new job - he quickly learned that he was not the best candidate for a lot of the jobs. A lot of years, you may think, he will find a job the moment he wants. Well, the moment I am writing this article, it’s been a year and he is still in the same job. Still refusing to believe it’s his fault.
“I have the years, they are wrong”
The second example is kind of the same. Five years, but still the same picture. This guy thinks he is great, but is always asking someone for advice and can’t really act on his own. Even for the basic problems.
A man with three years less is helping and advising him.
Can you guess who is being promoted soon? The more “senior” one or the more “mid” dev?
Mentor someone
How can I mentor someone if I am not that great as well? Well… you will have to prepare the information beforehand, learn it and try to present it in a digestible format.
That’s connected to writing.
In order to teach someone, you have to know your stuff. In order to know it, you have to obtain every information possible. That means you will have to learn a lot!
You become better by teaching others.
Do you remember how we said that nobody is going to teach you anything? In my experience it’s true.
And the moment you become that person.. oh boy. You will be skyrocketing yourself to the Moon. The competition is almost non-existent here.
Believe me - it’s hard! People love to take the easy road.
DULCIUS EX ASPERIS
As the Romans were saying - it’s way Sweeter after difficulties.
Overcome the impostor syndrome
It's scary to start mentoring and teaching someone. I know, I know..
There are people out there that are way smarter than you and me. So much smarter.
But remember that we grow and learn all the time. And we live in a world that has a place for everyone. We can do better. We can be better.
Even if there are haters, that doesn’t mean we are not helping someone who is just starting out.
Never be embarrassed of not knowing something. There are always going to be gatekeepers and there are always going to be haters, but nothing’s gonna matter in 150 years, right?
So why should that stop us from expressing ourselves and learning and teaching?
Conclusion
I promised you a number. In my own experience and the collective information of the people around me I came up with a number. It’s not an official research, but a simple gathering of information that showed me that of almost 200 people, only 3 did what I am describing ( I am not including myself here ). - It means only 1.5% of the people actually do this and let me tell you this.
These people may not be the best programmers in the world ( although I can say they are way above average ), but also take leading roles, people respect them and have a great career.
It may be luck or a coincidence, but people feel them as authorities.
To sum it up - being in the top is way harder and growing there requires skills that exceed our comfort zone.
To start writing blogs, teaching, leading conferences and so on is not something people imagine when it comes to coding.
Having great debugging skills and writing tests is awesome, but unfortunately not enough.
it really depends where you see yourself in five years. Everything takes time and it’s damn hard.
I wish you luck!