What courses should I be looking to take to become a computer programmer / software delevoper?
I want to go to college to learn about something within computer programming. #computer #software #programming #development #java-development
4 answers
Morgan Bardon
Morgan’s Answer
It depends on what sort of programmer you want to be. If you want to go into the business market, then you need to look towards C#/ASP and the .Net framework, but incorporating some database techniques too. Look at SQL or MS-SQL. Most businesses run on Microsoft products so look at that side of the development work, but don't restrict yourself.
For cross platform, JAVA is still a popular choice. Its suitable for Desktop and Mobile devices and common within a lot of organizations.
If you want to do web development, then Python and Java, with MySQL would be good, but look at template creation in WordPress too.
For iPhone development, Apple have a number of SDK (https://developer.apple.com/) you can download and start creating apps for IOS devices.
Most developers learn multiple languages, so don't be afraid to concentrate on multiple languages. I for example have developed applications with C# and ASP and MSSQL for one side of the business, while also working on VBA and SQL integration on another side.
Also check out http://www.w3schools.com/ which have great tutorials on a number of programming languages from Java, SQL, HTML etc. It will give you a good background on the multiple languages and technologies out there. You don't need to install anything on your machine either as it has compilers and scratchpads built in.
Do however look at your documentation and writing skills too. There are a lot of programmers that don't document correctly and when someone needs to review their code it can be difficult, so get into the habit of documentation and commenting your scripts.
Qiannan’s Answer
If you want to pursue a degree in CS at college, you may have core classes in: intro programming courses, discrete math, computer architecture, theory of computation, data structure and algorithms, computer systems, and operating systems. After that, you may find a wide range of CS topics in different areas like database, internet and web, networking, machine learning, compilers, mobile development, graphics, distributed systems, etc. My suggestion will be just go for the core classes, and explore what sub-areas in CS interest you most. You will be much more clear about it once you start dive into it.
You may also find it helpful to check out the Degree Requirement and Course Descriptions in Universities' CS Department.
Hope that helps!
Bryon’s Answer
I'd recommend starting off with the core introductory courses in computer science offered at your college or university. In terms of landing a job, most technical interviews for software engineers tend to focus on algorithms and data structures and those topics tend to be covered in the first 2 or 3 introductory courses. As you finish those introductory courses, you may find you enjoy a particular area of computer science (such as compilers, databases, operating systems, computer architecture, or theory) and can take additional courses in that area. Personally, I really enjoyed learning about databases and SQL in college and taking those courses helped me get a job at a database company early in my career.
Don't worry too much about about focusing on a particular programming language. It's generally not too difficult to learn another programming language once you understand at least one. Generally, interviewers at large tech firms like Google or Facebook don't care about what programming languages you know as long as you can use one of them well.
Taking a course that involves working on a large group project or two might be a good opportunity to form some relationships with other individuals that plan to work in the field. Building those connections early on can be instrumental in finding new opportunities if you decide to pursue a career in the tech industry.
Matt Raible
Matt’s Answer
I'm completely self-taught, starting with HTML, JavaScript, and CSS in the mid-90s. When I graduated, I got a job doing Y2K consulting and learned how to program Access databases on-the-job. Six months later, I became an HTML developer at a bank. I was a contractor, so it paid a lot better than a full-time gig. From there, I moved to a small startup as their Lead HTML developers. Then I learned Java on my own by studying books, programming in Java on-the-job, and getting certifications. Next, I started contributing to Java open-source projects and speaking about them at conferences.
I believe the most valuable skill a software engineer can have is the ability to learn. Not only that but the desire to learn. Formal education can certainly help, but it's never held me back.