My learning curve over the last ten years of doing development was not only about success. Most of the time, I was failing (hard). But if you never fail, you will never experience growth! So I’m a happy failure in that sense.
I had the pleasure of working with many smart people in small and big organizations. If I hadn’t worked with them, I would have never become who I am today as a developer.
So in this post, I would love to tell you about the seven biggest lessons I learned from being a developer for more than 10 years. Sit back, relax, enjoy, and hopefully one or more lessons will help you.
1. You Need to Fail 1,000 Times More to Reach Success
I still remember that time when I was 14. A friend of mine was building a website, and I was inspired by his ability to write code and that cool page full of creativity.
So I asked him, “How do you build a website?” But his response was more frustrating than helpful. He replied, “With your notepad.”
Fast-forward to my first year as a developer. My friend’s answer at the time motivated me to try many things with HTML and CSS. Looking back, I made so many silly mistakes:
- Building a website with only
- Building a layout with
position: absolutefor almost everything
I could go on and on. But making more of these mistakes helped me learn why those were not good ideas.
When I started to work as a developer, all of those things were smashed out of my system through my teammates who gave me that feedback time and time again.
I learned that practicing was key to getting better in my work.
To reach success, you have to do a lot of things wrong. Failing is not a bad thing! It’s part of the process to do it better next time!
2. Everyone Can Learn to Code!
Years later, I discovered that I didn’t have to be that smart! I just had to learn the basic stuff very well. I discovered that I had to try to practice those things often — for days or even weeks.
But because of that practice, I learned why things worked as they did or why I got errors and did stuff wrong.
So if you think that you can only be a developer if you’re super smart, you’re wrong! Well, it is helpful to have smarts of course. But you become a developer by practicing a lot.
If you compare it to an athlete, it sounds very logical. That athlete has to train for days, weeks, months, and years before they can reach the Olympic Games.
Be easy on yourself and practice a lot!
3. Senior Developers Are Just As Insecure
I always had the image that those smart and experienced developers are not insecure about their skills.
But I learned that they are just as insecure as junior developers. A lot of senior developers deal with importer syndrome — some more often than others. I admit I deal with this myself now and then.
I think senior developers don’t have to be ashamed about that! We are all humans, we don’t have a hard drive where you put in a stick of knowledge. And we don’t have to!
I learned a lot when one of my lead developers was also not able to solve a certain problem after hours and hours of trying. At that moment, I thought, “Ah, it’s not bad to say I don’t know right now!”
A senior developer becomes a senior developer because they made a lot of mistakes over their career. If a junior developer asks us anything and we don’t know, we are allowed to say, “Sorry, I don’t know.”
4. Communication Is the Most Important Skill
If you think that writing code is the most important skill in software development, then guess again!
In all those years of working as a developer in small and big scrum teams, every retrospective session, someone was saying, “Yeah, we have to improve our communication because this and that went wrong. If we would have communicated better, we could have prevented that issue.”
If you are working alone, this is maybe less the case than when working on a team. But when working on a team, communication is a top priority.
The success of a team or business depends on communication (next to programming skills). If you work on a great team full of top developers who don’t communicate, there is a huge problem.
5. Do You Have Errors? Test More Next Time
As developers, most of the time, we don’t like to test. Yeah, testing a bit here and there is fine, but we’re not into that deep scenario testing.
If you frequently have errors or bugs in your code, spend more time on testing! You can do this manually, but if you invest time in automatic testing by writing tests (unit tests, integration tests, penetration testing, etc.), it will save you from unneeded problems to solve later.
It’s maybe not as fun as building new functionality, but if you write those tests, it will help you get more time to build new awesome features!
6. Be Helpful to Others!
One of the things about my personality is that I enjoy helping people, but I’ve seen senior developers who are rude to junior developers. I hate that behavior!
So at the moment when you become a great senior developer, try to remember how you got started. Think about who helped you and what you learned from that!
Because if you give good things, you will get good things. If you are rude, you will receive that back!
7. I Write Technically to Stimulate My Learning Process
At school, I was very bad at learning. I did not have very high marks.
But when I started as a developer, I learned what my method of learning was! I was so happy that I discovered that.
When I try to get a complex concept into my head, I try to write an article as if I’m explaining it to someone else. I start with a code example to try out. I try to make it work and break it again. I want to fully grasp why it works as it does and what I can change when it doesn’t work.
Well, that works quite well for me. I regularly visit my posts to remember how a certain concept works.
Thanks for reading. I did my best to put as many details into the biggest lessons of my last ten years as a developer. Hopefully, you can take those lessons with you and remember them over your entire career.
But I’m wondering what your biggest lessons are from your time as a developer. So it doesn’t matter if you’re a student, junior, or senior developer. Let’s learn from each other!