If almost everyone can learn programming for free, why is the salary relatively very high?

 

Let me tell you a story!

As a college freshman in New Zealand, my room mate who happened to be in his sophomore year in computer science recommended that I take COMP103, which was the introductory course for computer science. I had an elective left, so I took him up on that.

That class was my first experience with programming of any kind. And it changed the course of my life almost instantly!

Two weeks later, I changed my major from Chemistry to Computer Science and never looked back.

For the next 3–4 years, I lived and breathed programming. I soaked up as much information as I could. Sadly, I didn’t properly learn some of the more critical ideas as well as I should have. Namely, software design and Object Oriented design.

I understood the fundamentals of Object Oriented programming (OOP) well. Things like inheritance, encapsulation and polymorphism. I even knew what Design Patterns were and how to apply some of them. I understood those things, but I didn’t really understand how to leverage them. I didn’t know the how’s and why’s of OOP. Nor did I truly understand that just using objects wasn’t the same as OOP.

My salaries reflected that. Sadly, my pride and arrogance stopped me from really growing as a developer for about 10 years. I literally wasted 10 years of my working life because I was too proud to admit I didn’t understand the ins and outs of software and software design.

Many of the systems I designed were brittle and prone to bugs. The ones that weren’t were the ones that kept me afloat. I was smart enough to understand I needed to modularize my designs, but not smart enough, or experienced enough, to do it in a way that the system could organically grow and evolve.

Then one day, a light went off in my head. I realized that if I really wanted to continue to pursue software for a living, I needed to learn the principles of software. Really learn them. Understand the whys of S.O.L.I.D. programming principles and why they work.

There have been a few bumps along the road since I started my new journey, but I can honestly say I’ve enjoyed the journey and I’m enjoying the hard earned benefits of that journey, both monetarily and intellectually.

I once had a friend say to me:

“It must be nice to sit at a desk all day and type. That sounds like the easiest job ever!”

I looked at him and simply asked him:

“Do you remember your finals for your senior year?”

“Yes”

“Did you enjoy that process? All the study and the hours of grinding through the exams?”

“Hell no!”

“Imagine doing that for a living. All day, every day! Still think it’s easy?”

“Hell with that!”

I’m not the highest paid programmer out. I’m not the lowest paid programmer out there. But we get paid according to the value and experience we bring to the companies that employ us. For some companies, we are little more than code monkeys and they pay us accordingly. For others, we are valuable assets that keep their business afloat because we create the services that drive their business model. Again, they pay us accordingly.


Comments

Popular Posts