Are you a programmer and would like to grow? The Internet is full of materials on how to do this. Despite this, don't run away - I have something that will interest you. Did you know that Adam Malysz, the legendary Polish ski jumper, was a roofer before he became a flying champion? I dare not compare myself with Mr. Adam, while there are two things we have in common.
From roofer to programmer
When I try to think back to my childhood, I recall the period of early elementary school when I got my first computer from my Dad - a Commodore C64. I remember playing games on it and more. The computer came with a manual and in it something like a tutorial on how to write a program in Basic. I remember writing something like this, which drew a balloon on the screen. This was my first unconscious contact with programming.
Unfortunately, my education ended at high school and the only thing I knew how to program at that time was the TV to turn off at the right time… In my first job I was a helper on a construction site and earned all of 5zł/h. It was if my memory does not confuse me in 2007. After a few months I got an unbelievable job offer as a roofer’s helper at a rate of 10zł/h. That was something.
The work was very hard. Usually 10 hours a day or more. In summer incredibly hot, in winter terribly cold. And wages averaging closer to the national lowest. In the summer one earned a lot, and in the winter almost none. There was barely enough to pay the room rent and live on.
Education
This work taught me humility and allowed me to come to terms with my education. I enrolled in the study of computer science at a private university “WSZ Education”.
When I graduated from high school, my physics teacher told me that he would give me an admission grade if I promised him that I would never have anything to do with physics again in my life. As it turned out, the first semester of IT studies is physics (sorry teacher) and mathematics. After my first lectures in mathematical analysis, I asked myself: what am I doing here? What is it anyway? It was supposed to be computer science and here I am told to learn math and physics.
In order to understand anything, I had to repeat mathematics from scratch. In practice, it looked like I worked on the roofs every day, and after work I studied math to prepare for the next class. In addition, we had lectures on the basics of programming where we first wrote in Turbo Pascal and then with C++. Fortunately, here I did not have to add too much science.
After two years of study, I started looking for a job in IT. I applied for various jobs for C++ or Java programmers, for internships. I wanted so badly to be a backend developer, despite that no one wanted to take me on.
First job in IT
After a dozen or so unsuccessful interviews, I started applying for offers for frontend developers. That’s how I became an “HTML Programmer” and at Chop-chop.org I was in charge of “cutting” designs and turning them into working websites.
That’s how it started. I rebranded, became an HTML coder, then a programmer and after about 8. years a technical leader. This road was a valuable lesson for me, which taught me a very important thing.
Learning and development is a matter of consistency, not big and fast changes.
In my high school days, I didn’t like studying. Science disgusted me and this was mainly due to the fact that they made me learn things that did not interest me at all. I had to listen to teachers who were able to make the material interesting like a Polish league match on Sunday at 12:30. In college it was a little better whereas yes there were incredibly boring and uninteresting lectures.
What’s wrong with the education system?
I am not an expert instead I became interested in what ideas there are about modern science and read some interesting books on the subject. In the book”Revolution in Learning,” the authors write that a modern school should, first and foremost, teach how to learn and allow you to develop the habit of independent, continuous learning.
Self-study - this is what entered my blood during my re-branding. From the very beginning I had to make up, for example, I was so bad at math that I had to recall all the material from high school in order to somehow grasp mathematical analysis in my first year of computer science studies.
Continuous learning - I did not devote all my time to studying, I just regularly studied 30min each day, sometimes longer as I had more strength. This is how I developed the habit of learning, which has stayed with me until now and allows me to develop in a sustainable way.
Learning is not a sprint, but a marathon. Don’t rush into all the material at once just learn new things sensibly, step by step. Patience, patience and after a long time you will see results.
Changes in the technology industry
I have been in the IT industry since 2013, and when I nostalgically look back I can see how much change has taken place here. On the other hand, maybe the changes weren’t that big just I have learned so much over the years that I solve technical problems in a different way than I did a few years ago. Let’s see it with examples.
Frontend
2013 was the year of AngularJS. That is, at the time we were really just discovering the declarative approach to frontend. At the time, it was the beginning of the end of jQuery and ushered in the era of Single Page Apps and a rash of frameworks for doing frontend. Now in 2024, AngularJS is a killed project and in its place is Angular. On the other hand, it is not the most popular framework for frontend, as React/NextJS, Vue/Nuxt and many other similar ones have shown up in the meantime.
Looking back on my development, it was when I learned to wield jQuery fairly well that I found it necessary to start learning AngularJS and a different approach. When I started working with the Magento platform it was KnockoutJS there, and when Magento released PWA STUDIO - a headless frontend done in React then I spontaneously started learning React.
On the one hand, I was sort of forced to do this learning, but on the other hand, thanks to my habit of regular learning, I was able to be a step ahead and get into new technological developments faster than those who waited for someone to tell them to learn.
Backend
When I started doing Magento I picked up PHP. Back then, no one had heard of NodeJS. No wonder because in 2013-03-11 there was a version of Node 0.10.x. Currently as I write this in March 2024 it is version 21. They went with the theme of what? Of course, no one is forcing you to change your specialty and you can be a PHP programmer in 2024. There is only one “but.”
According to the report “IT Industry Earnings and Expectations 2023/2024” compiled by justjoin.it, the average salary of a PHP programmer in 2023 is $13600, and a JavaScript programmer is $16100. Of course, money is not everything, but whoever does not work for money let him be the first to throw a stone. Besides, there are a lot more job openings for JS/Node programmers themselves because it’s now a much more popular technology.
DevOps/infra
Where were cloud solutions and terraform IaaC approaches in 2013? Far from it, and Terraforma was basically gone because the first release was 2014. Now it’s a market standard. I don’t even want to mention that in 2013 there was no Kubernetes yet. :)
Why is skill development important in the technology industry?
As you can see, the changes in the industry over the years are enormous, and year after year something comes along that can stir things up. Therefore, development is the foundation of your work and how you learn to learn and consistently develop your skills is:
-
you won’t fall out of the market, you’ll be up to date
-
you will have better opportunities in the job market
-
Your job satisfaction will be higher - you will have the opportunity to work in interesting projects and with new technologies
Approach to learning - start with this
You can be an expert in a particular field, but if you stop learning you will lose your specialty in a year. For this reason, the approach to learning is more important than the skills possessed.
I have two tips for you to help you develop an approach to learning that will allow CIa to continually grow.
Don’t look at the employer
Are you waiting for your boss to send you for training? Do you expect mentors to guide you by the hand? When you wait for movement on the part of the organization in which you work then you may miss out on training, courses and development. Bet on yourself, set your own goals and finance courses and training. This will pay off later in salary. Of course, if your organization provides CI with a training and development budget then use it as much as you can.
The habit of learning
Make a habit of learning every day. 30min a day is enough. You don’t have to stay up all night, you don’t have to neglect your family. Small steps and consistency are enough. When you encounter difficulties and on a certain day you can’t make it, it’s hard. You will return to study the next day. Set goals for yourself. Write what you want to learn and just learn it. Over time, you will see how this systematic approach works and how little it takes to grow.
Skills development techniques for programmers
Schools teach material that you forget about after you pass the exam. Schools do not teach how to learn. I don’t know about you, but after school I knew one and only one technique for learning: reading, reading and reading the same thing over and over again until you remember (and then forget).
The basic principle of science
Learning must be interesting. If you learn on the principle: here I will read something and it will be good, it will not give you anything. Do you fall asleep after 10 minutes of studying? You won’t remember anything, you’ve got it down to a science.
Learning techniques
Make sure that learning is something fun and engaging for you. Here are some techniques that I use:
-
notes/maps of thoughts - when I read something or watch a video course I take notes. Lately I’ve been doing them in the form of a mind map on a piece of paper. Sometimes I transfer these mind maps to figjam. As a result, I am more engaged in learning and remember more
-
Practice - watching someone do something e.g. programming is cool, and doing what you saw yourself multiplies the learning effect several times over. Practice works wonders
-
Quizzes - there are often quizzes in books and courses. It is a cool exercise for the brain, which makes you remember more. When you learn something and there is no quiz for it, you can make one yourself.
-
fiches - when something is difficult for me to remember I make myself fiches where there is a definition on one side and a description/explanation on the other. I go back to them from time to time and remind myself. For me, it works.
-
own project - coming up with some “pseudo-product” in which you will be able to put new knowledge into practice helps a lot to consolidate knowledge and practice
-
Teaching others - did you learn something new? Try to pass this vision on to someone else. You don’t have to be an expert to impart knowledge. It is enough that you know more than the person to whom you want to communicate something.
-
Mentoring - finding the right mentor to guide you through the learning and development process can significantly help you move forward in your career.
Is it enough and how to advance?
You may wonder if this is enough to grow, advance or change your career. The answer to this question is simple: it depends.
It mostly depends on your motivation. I, for one, was quite handily motivated to learn and managed to develop habits of growth. And as I developed these habits it became a part of me and I continue it. Nevertheless, I am increasingly falling into crises and doubt as my motivation has decreased. You, too, can have that, that you will have better moments and worse moments. You may get stuck and not want to go further. Guess what? This is normal and there is no need to be afraid or ashamed of it in any way.
Sometimes we will be inspired by something and we are excited, but with time this passes and yet we do not want to. You can stop and keep looking for something that will eventually interest you for longer and absorb you. When you are doing something, learning new things then somewhere deep down you feel that this is it and it turns you on. You get into the details, you grow and you get better. That way you do your job well and get promoted.
Answering the question posed above: consistently taking the time to learn and using teaching techniques that make learning fun and something interesting long-term will allow you to advance in your career (if you don’t lose motivation).
Summary
I shared with you today my personal journey from roofer to tech lead. My experiences, from my first forays into programming on the Commodore C64, through educational challenges and professional hurdles, to my eventual re-branding and advancement in the technology sector, are proof that determination and regular time spent developing skills can completely change the direction of a career.
Usually people look at learning as a necessity, while I would like to show you that it is first and foremost an adventure and a chance to explore new and exciting paths in your professional life.
The basis is to change the approach to learning - not as a commitment, but as a daily practice. Think of it as exercising at the gym. You won’t see results after one day, but regular, even short sessions, can work wonders.
In the technology industry, it is not only what you already know that is important, but more importantly how quickly you are able to learn new things. The IT world doesn’t stand still, and the ability to constantly grow and adapt is your ticket to exciting projects and rewarding work.
Ready to develop your skills? Start with the first step - regular learning Knowledge is luggage that you can take anywhere without worrying about how much it weighs. Good luck!
[elementor-template id=“3942”]