The “Self-Taught” Illusion

We all learn through our life, from our childhood to our retiring age. As children, we learn a lot from our parents or other family members, and later from friends, about socializing and other things we need to grow up. Later we learn through teachers in schools in many different subjects and after that, we choose to study what we need to know to be successful in our jobs. Life is impossible without learning. Live and learn.

As developers we actively learn through books, documentation, workshops, or just “by doing”, driven by our interests, curiosity, and the will to improve our skills. Sometimes there seems to be nobody to help or teach us during some stages in our lives and we have to take care to teach ourselves. Skills and knowledge are considered to be self-taught. After years of success and setbacks, we can look back at our accomplishments and a hard path that lies behind us in the past where we invested effort and time to enhance our abilities. Even during a strange year like 2020 there still was one or another achievement that made us better in what we do. Well done.

The other side of the coin

Of course, there were many people in our life who helped us to become better at our jobs, but too many seem to be convinced that it was mostly their effort that made them grow in what they are doing.

Unknown aides

What about you? I’m pretty sure you can name some people who influenced your growth and taught you some crucial knowledge about a framework, the language itself, or some good performance tweaks. But the truth is that there were many more people involved in your work-related progress than you can guess. People you didn’t meet in the past or even never heard of. If you ask yourself “How can this be?”, then I’ll tell you one name that helped me to come closer to PHP after I was looking for a new programming language to learn: Dieter Staas. I never met him. I don’t know what he looks like. While I’m writing these lines I even didn’t know that name a few minutes ago. He’s the author of a PHP book with the simple title “PHP 4”, a book about PHP 4.0 that I bought a very long time ago and that helped me in my beginnings of PHP when I wanted to write something different than C#, ASP or ASP.NET. I still have this book and after all these years I took it from the shelf just to see who had so much influence in my developer life that even affects me today because everything I know and do as a PHP developer was built upon that past.

But it’s not only about book authors (or blog authors). There were and are more people out there who have influenced your progress or your solutions. Yes, I’m looking straight at Stackoverflow. Has anyone ever opened the entry page of that site instead of accessing it over a search engine’s result page? There are so many people offering their help and solutions to problems and it became a regular problem solver for developers like you and me. It was so popular that it even became the target of jokes. Many of you might already have heard about the Exception class that creates a link with a search query to Stackoverflow. It’s a funny joke and I’m sure some created such an Exception class. Nevertheless, when I talk about what you or I learned from Stackoverflow, it was always another developer, another name that influenced your solution or decision. The same goes for any other source.

Who wrote that documentation you were reading in your attempt to teach yourself something new? Who wrote that blog post that made things much easier to understand? Who wrote that book that you used to study? There is no learning without teaching, explaining, or helping. Most cases where you thought that everything was self-taught are just another case of someone teaching you on your way. Even code itself or tests can (and should) be written in a way that makes it easier to understand and be a source of knowledge presented by a maintainer or contributor. But those names will be easily forgotten just as I forgot about the author of that PHP book.

Forgotten but never gone

I want to thank all the unknown developers who helped me to become the person I am today. It’s weird to share my appreciation in such a manner with you but, the sad truth is, we still will forget the names and internet aliases of those who were helpful on our path of improvement. This is going to happen even after realizing that we’re not as self-taught as we thought. But that’s why all that help can’t be taken for granted and before we give thanks to the unknown developer many years later, we should give our appreciation exactly when we learned something new or had other benefits by the help and work of others.

What we can do is:

  • Simplest way: Say/Write “Thank you”
  • Upvote a comment, blog post or video of the author
  • Write how the content helped you with your problem
  • Support their work

Or short: Make them aware that you liked what they did and that they made you a better developer, even when it just was in detail. And after that: Start to be helpful for others too.

Forgotten, but never really gone.

Have a silent night, calm days and plan to rest

The end of 2017 is near and the holidays are right in front of us, making everyone slowly coming down. It’s like December is the after work time of the year. At least for those who are celebrating the new year in January 1st., but even when the new year is happening at another date, we look back at the year to see what we have accomplished. Some are evaluating the past year with some kind of scoring system to see if it was a good, bad, happy or sad year. As developer, we might even look back to see how far we went in our own progress and if we gained something at our jobs making this year worthwhile. Yes, I’m talking about the progress of a career.

We work hard on ourselves and at the job every day of the year, gain new knowledge, master some challenging problems or save company time and money by just helping colleagues or using a new code quality tool. As young developers, we see how a senior developer is doing a lot of work in just a small fraction of time while we feel uneasy or even dumb compared to them. It’s like all problems are a piece of cake to them and they seem to have an answer to everything, being dependable and the first team member who you can ask questions. If anything goes wrong, seniors take you “by the hand” and the cause of the problem vanishes into nothing. Some may even be annoyed by them. Still, at the end of the year we take a look at ourselves and realize that we didn’t come close enough to what they are and what they know. What a bummer.

As seniors we compare ourselves to other seniors, friends or even some well known names of communities and conferences and may think, that we still stuck at the same spot like last year. Maybe others got their promotions or worked successfully on an important project making them look like they rose one step closer to… Yeah, to whatever goal they aim for.

All in all, we get the feeling to stuck in our career, but what does the word “career” mean? If we compare ourselves with others, it must be the same thing for everyone and has to be accomplished in the same amount of time. Some people have to work harder than others, forcing themselves step by step toward their goals and witness that others might be much faster, giving the impression to be more competent in the same matters. So we force ourselves to work much harder, ignoring that our body doesn’t work like a machine, while we go up the stairs of our career goals. Every stair tread has the same size but for a tired body and mind, climbing the very same steps become a hurdle. Your battery need to be refilled, but doing so will cost you time. Time you need to invest into your career.

Calm down! You are chasing the goals of others, not your own. Comparing yourself to others means to have the same goals as them, but this is rarely the case. You’re not perfect and the same goes for every other person too. You only see the current career-state of others and not how they reached their goals. Even if you know about previous steps in their progress, you will never grasp how much work and effort were put into reaching a new goal. Neither do you know if all the work led to the expected results or if there even was failure before that. You have to find your own way and that path in your career has to have some silent moments and times of rest.

Resting isn’t just about health

Wasting time by relaxing while others are already planning their next career steps? Stereotype software developers are working until night time to solve problems or bugs, but real life developers should know how important rest is to us. Sometimes it just takes some sleep to solve big problems and in the aftermath, the problem, that was devouring the time of last night, isn’t looking like a big deal anymore. A good rest keeps your mind clear and will make yourself more creative in what you do. This can even be a break for a few days, a short vacation or just a good time at home. You’re not part of a car race where the fastest one is going to be the winner nor is there only just one path for everybody.

As you may have noticed, I don’t see career as a name for rising to the next hierarchy level where you have to be in lead. I even left a lead-position to become more involved in development again. Did I do a step back in my career? No, because I still make progress and thanks to the PHP community more than ever. I know when I have the strength to spend more time on something (like the mentioned night time coding) and I know when I need to settle down and take it slower, maybe even in form of a timeout. This is an important soft skill to learn on your path to whatever your next goal is. Use this season to find your way for your career and don’t forget to take some rest from time to time.