What are the steps to becoming a computer programmer?
I was interested in computers and was wondering how to approach this career. How do i prepare while in junior year of high school? What majors would I consider majoring? #programming #computer-engineering
3 answers
Nir’s Answer
For personal steps, you can always start learning some programing languages such as Python, Javascript, Java or even C++ as those are some of the more common ones. Any language will give you a heard start and there are infinite free resources online including tutorials on YouTube. Dive in and see what you like.
Mike Clement
Mike’s Answer
How do i prepare while in junior year of high school?
Take any classes that you can in high school!
Also, as Bryan mentioned, there are a whole bunch of resources on the web and via books. Code School (https://www.codeschool.com/) and Pluralsight (http://www.pluralsight.com/) are great resources. (Disclaimer I work for Pluralsight and we recently acquired Code School) Code Academy, Khan Academy and Code.org are also great resources to get started. Code Combat (http://codecombat.com/) is a fun introduction to programming that my sons have enjoyed.
Aside from building technical skills on your own, I would highly recommend trying to get involved with your local developer community and meet professionals in the field and other students interested in programming as a profession. CoderDojo (https://coderdojo.com/ check for a local group) is a great way to meet other students. There are Code Camps (free Saturday community driven conferences) in many areas of the US that are great to learn and network. And there are tons of developer meetups to be found at http://www.meetup.com/
What majors would I consider majoring?
IMO, Computer Science. While a CS degree usually won't teach you what it's really like to code at a company, it will give you the foundation in data structures and other theory that will help throughout your career as those underpinnings are not evolving rapidly. That being said, it is important to learn quickly as you'll likely need to learn new languages/frameworks throughout your career. Note, do research into the CS program at specific schools as they are not all created equal :)
Bryan Healey
Bryan’s Answer
While you are in high school, one of the most important first tasks you should undertake is to learn at least the basics of one of the foundational, object-oriented programming languages: Java, C/C++, Python. Doing so will help you really understand whether computer programming is a potential long-term interest, while also giving you an understanding of a fundamentals of programming. A few recommended books and services are listed at the bottom.
Once you have spent some time getting your feet wet, it's worth your time to put some thought into what aspects of programming appeal to you. The truth is, "computer programmer" is a bit too broad of a title; for example, while they may appear to resemble each other, there are actually pretty big procedural and career-path differences between a game designer, a web developer, an app developer, and a data scientist, amongst others. What, exactly, do you want to do? Do you want to make video games? Do you want to make websites? Do you like numbers, or are you more visual? Do you want to be an entrepreneur?
While you are gaining these basic skills and doing some basic planning, start pursuing college programs for Computer Science (or a more specific discipline if your career goals are more narrowly defined, such as Game Design). I will refrain from recommending a specific school or program, as I will have an unavoidable bias (Northeastern University alum; Go Huskies!), but getting a Bachelor of Science will be the biggest initial boost to your career.
A few other things to keep in mind:
College is only a springboard for a programmer, a way to secure that first junior-level position. As soon as you land your first paying gig, the rest of your career will mostly be dictated by your growing experience and professional network. Make sure you keep your skills sharp, learn new technologies as they come along, network with other technologists, and build up your resume before graduation by taking internships and summer jobs that are relevant to your goals.
Programming can be, if you make careful and logical career decisions, extremely lucrative. The strongest markets are geographically specific, with the hottest zones being San Francisco, Silicon Valley, Austin, New York City, Boston, Seattle, Denver, and to some extent Minneapolis, areas of North Dakota, and Raleigh. As for specifics, the consumer web and mobile space continues to be extremely hot right now. Keep an eye to trends, live where it makes most sense, but of course follow your passions as closely as you can.
Play outside of work. The best and most in-demand programmers have plenty going on outside the classroom and office, often contributing to open-source projects and participating in hackathons, conventions, and meet-ups. If you find you love programming, get out and experience the entire industry, because it is very big, diverse, and creatively ambitious.
Websites:
http://www.codecademy.com/
https://www.khanacademy.org/computing/computer-programming
http://code.org/learn
Books:
http://www.amazon.com/Java-Beginners-Guide-Herbert-Schildt/dp/0071809252/
http://www.amazon.com/Sams-Teach-Yourself-One-Hour/dp/0672335670/
http://www.amazon.com/Beginning-Programming-All--Reference-Dummies/dp/0470108541/