How do self-taught programmers find good jobs?

Abstract:  In 2016, a young programmer asked for help on Quora: I am 17 years old and have been programming since I was 14 years old. I mainly focus on the Java language and got a 5 in AP Computer Science. I'm fairly proficient in Java (like syntax, main classes, GUI/JFrame, etc.), HTML5 and CSS3 are good.

In 2016, a young programmer asked a question on Quora for help:

I'm 17 years old and have been programming since I was 14. I mainly focus on the Java language and got a 5 in AP Computer Science. I'm fairly proficient in Java (like syntax, main classes, GUI/JFrame, etc.), HTML5 and CSS3 are good. I feel like I lack a lot of useful skills to help me market myself in the talent market (like how databases work, and what tools should I use), and I'm curious how other people learn these things. I was planning to go to college to get a degree in software development, but I was starting to get a little frustrated that college was for work. Are there any courses I should be taking now, or things I should be doing?


image

 

Below is the answer shared by Brain Knapp:

I think your view is wrong. You feel like you need to take a class and let someone else teach you and tell you the answer. Fundamentally, self-taught programmers can do different things.

A self-taught programmer and a self-taught guitarist have a lot in common. I don't know if you've ever played guitar, so I'm going to explain to you how to teach yourself guitar.

First, it all started because someone resonated with a certain guitarist. Most people who suddenly want to teach themselves guitar, want to be another guitar player. After that, they made up their minds - "I can be a guitar player too" and went to the local musical instrument store and bought a second hand guitar (because second hand guitars are cheaper, but also cool).

There may be two situations next, you either buy a "Introduction to Guitar" or similar book and start teaching yourself, or you open YouTube and start learning how to play your favorite songs. Self-learners who try to learn to play their favorite songs tend to do better.

When young guitarists actively learn a song, they often need to watch videos, print sheet music, practice chords, and more. Then, based on the video and score they were given, they would sit down and try to re-enact the song.

After hours of practice, repeating chords, solos, beats, etc., they will be able to perform that song in their own form. It's not the same song anymore, but it's cool enough.

Then, they would pick up another song and repeat the process. Along the way, they keep learning beats, techniques, and other things without even realizing what they're learning. Before they know the technical terms and theories, they already know how to operate.

Eventually, playing the guitar became an "intuition," and learning a new song became habitual and less painful. The "language" of the guitar becomes as easy as you and I speak.

It all happened with thousands of hours of hard practice behind it. Even practicing for an hour a day can take years.

So, what does this have to do with self-taught programmers?

In fact, what really makes a self-taught programmer is that they create things themselves, a lot of things. To be a great programmer with great skills, you have to create things and write code.

It's good to learn theoretical knowledge in class, but many professors can't jump out of the box and program in their own way. Even if they try, they can't make an app that other people want to use.

It's not that they don't know what the professor knows, it's just that the skills they acquire as a professor are research and theoretical understanding, not writing code and delivering value to clients.

Do you see the difference?

The best programmers I've worked with, the way they work is to do stuff, a lot of stuff, and pretty much always does.

For example, almost everyone uses WordPress these days. Long before WordPress, I created 3 to 5 different content management systems using PHP and MySQL. I've written games, mobile apps, frameworks, and SAAS apps.

No one pays me to do these things. I do these things purely for fun, learning or curiosity.

I haven't taken a class in years, and even if I did, I don't think it would help my career in any way. However, if I decide to sit down and create my own computer language or operating system from scratch, I bet I'll learn a lot of interesting things along the way.

Yes, I can take those ideas to class, but I get more out of the experience of creating things, making mistakes, and really "feeling" it all than reading a book or listening to a lecture.

​​​​​​​

Original link

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326314625&siteId=291194637