Advice to a High School Student About Becoming a Software Engineer

I was presented with the following question on Quora:

A bright high school student tells you they want to be a software engineer. What advice do you give them?

My answer:

Don’t wait. Start learning now.

Don’t be afraid of the many languages and frameworks you could learn. Just pick one and start. The choices may seem overwhelming, especially when you don’t know the difference between the various approaches people talk about online, but most of what you learn on your first language will make the next language easier to learn. Same with the first framework (or game engine, if you choose game development). So pick something interesting and start on the tutorials—and build things.

Don’t skip college. If you build up enough of a skill set by the time you reach college, by all means use your new skills to do actual work while in college. But don’t skip college in favor of a programming bootcamp or you will be forever limiting your potential earnings. If college seems too expensive, at least take community college software engineering classes for two years (if you have that option). College often ends up not being as expensive as you think; even a four year degree from a state university, where the first two years were at a community college, is much more valuable than a bootcamp “certificate.”

But, don’t decide to be a software engineer just because someone told you it’s a good career. It is a good career. A great career.* If* you’re a good fit for it: There is an aptitude and a temperament that you need to have to truly be successful. If you’re looking at it because it interests you, then by all means start learning!

And don’t be afraid to push past the hard part. Because even for those who have the right aptitude and temperament, the initial training of your brain to think like a software engineer takes hard work. Even the smartest among us have to work at learning at the beginning. It gets easier, though, for some of us, and when it does, that’s how you know it’s a great career choice for you.

Finally, try to find the parts of software that seem to be the most interesting for you. Software engineering is a career of constant learning; if you start out in a domain that bores you to tears, the odds you’ll be successful over the long term are very, very low.

Good luck!


comments powered by Disqus