It is definitely possible to switch from many careers into computer science and tech related fields. Not to say that it’ll be easy, of course to switch careers into a computer science or tech field. But if you’re not liking what you’re doing, absolutely forget what anybody else says! People will discourage you and look at you as if you’re going through some phase. Ignore this. Obviously, you shouldn’t leap into this new area blindly (take finances into consideration) but don’t ever let somebody (even yourself) dissuade you from pursuing what you want to do. Computer science is endlessly rewarding, and you’ll love it.
Switch Careers into Computer Science and Tech Jobs
Many people have a general plan to: (1) learn programming by completing free courses online (I’ve already started at Codecademy), (2) create a portfolio of websites/apps, and then (3) apply to jobs.
- Is this the right way to go about switching to a CS career after college? Or is there a more effective way to do it?
- Are there important changes/details I should add to my plan?
- Are there any potential obstacles?
- Has anyone else been in a similar situation? What did you do, and how did it go?
Online Courses to Switch Careers into Computer Science
I think that learning online courses is a step in the right direction, but online courses are a bit scattered/fragmented at the moment. The “good stuff” is divided amongst different books and sites and forums – the trick is finding them and tying them together. Codecademy is an amazing resource, but it focuses a tad bit more on breadth than depth, IMHO. There’s a vast difference between learning python syntax and writing an actual (useful) program or script, for example. It’s a good resource to START with. But there are certainly others that you should look into.
Codecademy is great for a beginner learning loops and stuff, but there isn’t much practical programming that will get you a job, it’s certainly not going to be enough to pass a technical interview. MOOCs are awesome for learning new things, but without some sort of documented achievement that you get from an accredited degree path your resume isn’t going to make it past HR.
Attending an Actual University May be Better
The main benefit of attending an actual university is the coherence of the curriculum – you have a set of topics that flow (more or less) into one another. But that’s all, really. After all, what is a class but access to resources and a deadline for assignments? Information and motivation is all you need. Getting this kind of coherent structure in your own study routine will be difficult since resources are fragmented and there will not be the pressure of a deadline to motivate you. THAT BEING SAID, If you are diligent and ORGANIZED with the way you proceed, I think you’ll be well on your way. Get involved with a group, though.
Focusing on one language is best in the beginning. There’s no need to obsess over syntactical differences – the same basic concepts are implemented in similar ways across the languages. This changes a bit as you get more advanced, but it’s fine to focus on one language in the beginning. (For example, each language has a way to create an array. HOW you create it is important, but certainly not as important as knowing WHAT you’re creating and how to use the array after you’ve created it.)
Tips and Resources for Switching Into Computer Science Career
- Get Eclipse and Sublime Text 2. Eclipse is a free, massively popular IDE for Java, Scala, and other “heavy” programming languages, while ST2 is typically for the “lighter” languages, like Python and Ruby (also massively popular. I use it myself).
- Regardless of the kind of development, everything is going to be hard without knowing the basics: basic data structures like arrays and linked lists, concepts like inheritance and polymorphism. If you want to be a “hobby programmer” on the side, then you may be able to pass and make some quick money with just codecademy and some online tutorials, but for a full-fledged understanding (which is not as intimidating as it sounds) you should invest in some books and tackle them head on.
- Check out this site for a crap ton of free resources. If you click the “title” box under the search bar, you’ll find more results. Don’t be afraid to look beyond the first page of results for good books, I’ve found gems on the third page.
- Check out coursera org for online courses. I’d look up the courses on data structures to get started.
- Code org is a decent collection of resources.
- w3schools and html net for web development stuff.
- GOOGLE-FU. Learn how to use Google like a monster. Learn things like using “” and – to modify your search results. A sample google search for me might be something like this:site:stackoverflow.com “prevent sql injection” php -node
This will search stackoverflow.com for the exact phrase “prevent sql injection” as well as the general term “php.” It will filter out any results that contain the word “node.” (Ignore these terms for now. It was just a sample query). Point is, learn how to google. GOOGLE ALL DAY.
- Make a stackoverflow account and read their submission guidelines.
- SO MANY MORE. Feel free to message me at any time for more resources and I’ll send them over if I can. ASK ANY QUESTION YOU HAVE, ABSOLUTELY anything. I’ll help if I can, or direct you to somewhere where you might be able to learn more! Best of luck.
Do you need a Computer Science CS Degree to work as programmer?
The short answer? No, not necessarily, but it will be much harder to break into the industry without one. A degree gives you a rigid program for learning, a baseline of knowledge in CS concepts and programming, proof that you have the work ethic to get through a four-year program, and connections to peers and companies for recruiting. Not having a degree puts you at a disadvantage compared to others who will likely be applying for the same jobs with degrees in hand.
If you can’t or don’t want to get a degree in CS, you’ll need to dedicate yourself to some serious learning, you’ll need to build a strong portfolio, and you’ll probably need to network extensively with industry professional to have your best shot at a job.