This guide is designed to show you the various opportunities that exist in the modern world for computer scientists and programmers. Here you will find information on the wide variety of careers available in these fields, economic information, and most importantly, information about how one might go about learning the skills necessary to be successful in the field. It features segments on learning the basics of programming and how to move forward and come to a deeper understanding of the discipline. We also consider the best collegiate computer science programs in the country and the best non-collegiate resources for those that wish to jump-start their study of the field. Relevant professional associations and programming competitions are also listed. This guide will help you understand the field of computer science and is intended to help you find the pathway to success in the field that best fits your needs and goals.
The job growth rate for programmers was even with the national average at 12%, for software developers it was more than double the average at 30%, and for computer and information research scientists it was faster than average at 19%. Technology is driving much of the economic growth in the country, and it is very unlikely that this field will become over-saturated at any point in the near future.
Many companies like Google and Facebook, among others, constantly state the need for new brilliant minds in the industry.
The difference between the three roles really comes down to focus. All of these professionals can program computers, but programmers are focused on
writing perfect, elegant code, whereas computer scientists are often more focused on theory, and software developers tend to be jacks of all trades with leadership skills who get placed
in charge of software projects.
Programming at its core is simple, and there are many free resources available that can help you learn the basics.
Code Academy is one of the foremost tutorial websites dedicated to teaching people of all levels about programming. Whether you are a junior high student interested in computers and how they work or a seasoned veteran looking to pick up a new language.
Code/Racer gamifies learning about programming.
Stack Overflow is a community of professionals dedicated to helping people of all levels develop, and Coder Dojo is a place where veterans help junior and senior high school students begin to learn about the discipline.
Python is seen as being beginner-friendly, as it is easy to read and understand for newcomers, Ruby has a huge support structure devoted to helping new programmers learn the language, and Java is a standby that still serves as a powerful introductory language.
Georgia Tech has partnered with Udacity and is creating the world’s first massive online master’s program in computer science. It's designed to give real credit and a real degree, in an exceptionally cheap online program.
These non-credit courses are similar to the open courseware initiative, but instead of a full program, they are more full-featured classes with less selection.
There are many introductory courses offered by schools around the world available for free.
Many of these courses come with a certificate of completion for those that complete the program. But none of them currently offer college credit.
Though there have been instances of professors teaching these courses that have recommended they count as college credit for individual, exceptional students. These situations however, are still rare.
Entering a program like this in college is one of the best ways to ensure you have a well-rounded understanding of the field.
Many students of high-profile computer science courses experience success, whether or not they complete the programs. Mark Zuckerberg for instance, dropped out of college to start Facebook.
These programs are important not necessarily for the piece of paper you receive at the end but for the invaluable information and perspectives they offer potential professionals in computer science and programming.
These conferences often lead to like-minded individuals meeting and sowing the seeds for startups that would be difficult to undertake as an individual.
The labs are pretty exclusive but offer opportunities for internships andfellowships to up and coming scientists interested in conducting the most advanced research in the field.
The competitions have a wide variety of focuses. Some are just for high school or college students, some are for everybody, professionals and hobbyists alike.
Performing well in a competition can open exclusive doors in the industry and lead to some of the best jobs available.
If you have a competitive side, consider entering competitions; they provide great motivation for learning and can result in amazing opportunities for your career.
Many in the field attend college, earn degrees and go on to do great things. There are also those that begin programming at a very young age, learning everything they can in their spare time, and create innovative programs and systems that change technology before they even graduate from high school, or college.