It’s been a while since the last time I posted a WDIL blog. During this time, I was involved in a program to be a better software engineer based on the book Apprenticeship Patterns by Dave Hoover and Adewale Oshineye.
Maybe it’s the last time that I post something in this format, but I will continue posting about other topics and curiosities that I encounter in my way of developing software.
The foundations that worked
One of the first steps in the apprentice program is starting to empty the cup.
This is especially important because, how do you are going to fill the cup with more knowledge if you think that the cup is completely full?
This was especially useful to me, to not directly start reading and studying, but be more patient and first think a little bit about my relationship with knowledge.
One of my favorite courses in this phase was the Learn how to learn, a free course on Coursera.
Ordering my priorities and skills
Something that is pretty obvious and simple is that think in your main stack as a developer, but to be honest, I don’t really stop thinking about that.
Yes, programming languages are just a tool, and as a software engineer, you need to adapt your knowledge to the tools that you have.
But also, the book talks about your “mother language”, I see that like your home, your safe space where you do and undo whatever you want and have full control of what’s going on, the place to learn a lot of new things and then apply them to other technologies.
My main stack
In my personal taste, I select C# as my main stack because of the versatility to make from CLI programs to desktop, mobile, servers, and videogames.
I’m at this time reading a book called C# in a nutshell by Joseph Albahari, being deeper into how the language and the compiler work.
One of my favorite phases by far was helping other people’s projects just for altruism.
This opened the doors to know how the open-source programs and projects work, why the documentation is a very important part of the projects, and be organized with the tools that you have to explain to future programmers how the things work.
Also, this was my favorite because of the implication of reading a lot of code from other people and knowing them.
It was a pleasure meeting and working with a lot of people around the world.
After all those months, I learned a lot of things in a short amount of time (in comparison to how I did it before), although I don’t post this post every week, I write a few sentences every day about what I do learn.
This gives me the metrics of how much I progress along the days and most importantly, I can read my notes again to remember the concepts and things that I can forget with the passing of the time.
This program was a big boost not only for my career but also personally, making me more comfortable with my work and with what I do every day in my job.
After all, there is just one thing to do and it’s perpetual learning.