I have recently had another series of calls from friends and family asking me advice on how to get in the technology field. I believe in tailoring advice to every individual situation so I can’t possibly write one article with advice for everyone on how to change jobs. However, here is a list of courses and books that helped me changed my job.
As you may already know, I do not have a computer science degree and I did not start out as a developer. A friends friend (who has a computer science degree but never did anything with it) asked me about how to break in to the technology field. The more I spoke to him the more I realized that he was looking for a fast way in. He did not want to pursue computer science as a discipline but wanted to get trained and wanted to get a job.
This caused me to start thinking about my own situation. I am working in the tech field and am gainfully employed but only recently did I become a developer. I have worn many hats in the past including administrator, architect, analyst and developer but I always had a hesitation towards development as computer science was not my major.
Here are some courses and books that helped me overcomes by initial starting hesitation with code and helped me change jobs which is similar to breaking in to the CS field. This list is for beginners and I am recommending this list in the order I believe the courses ought to be taken / books ought to be read.
Now before I recommend this certificate, I must give two disclaimers. First, I did not complete this certificate. I only took the first course and half of the second course. The reason was that it was a little too beginner for me but as I said above, this is a list for beginners. The reason I am recommending this course first is that it will give the learner an introduction to the basics of computing, networking development and hardware all of which you need to further study.
Next is the first real course dedicate to coding. This is the beginner course offered by MIT as an introduction to Computer Science using Python. Even though this course was written in Python 2, a little tweaking and you can use Python 3 and there is great content in this course.
One thing to be careful of when taking this course or any other is cheating. I mean this course is free after all so there really is no such thing as cheating but by cheating I mean cheating yourself. Don’t cheat yourself by skipping the readings, looking up answer to the exercises or not doing the in-class coding exercises that are recommended. The only real way to learn to code is to actually CODE. This class introduced me to that ethos and I recommend that if you are going to take this course, please do code. Simply watching the lecture won’t get you where need to be.
Next is a specialty course that is lengthy but a terrific course on web development. This course will get beginners started on web development and will introduce the student to a dizzying array of technologies. What I really love about this course is that it forces you to CODE and helps you prepare a profile of completed projects that you can show of as proof of work.
I personally only took 20% of this course but I would recommend it for beginners because of the amount of details it goes in to about web development and other related technologies.
What can I say about CS50 that I have not already said in my other blog posts? I mean what a course this is. One thing I do caution beginners on is that this is a tough course for beginners. Even I struggled with it at times and I had been in tech for quite some time when I started this course. This is why i am recommending this as the third course.
One thing you will find is that CS50 is rigorous and be prepared to be drilled. This means that the assignments will be challenging and you will expected to learn alot in a short amount of time. However, don’t give up. While taking CS50, I notice that many students commented that it was to challenging and that they were dropping the course. Please don’t do that. On average it took me 16 hours per assignment (at times more) and each assignment required tons of concentration to complete. However, the light at the end of the tunnel is worth it. Please stick with this course if you intend to take it. Thank you Professor David Malan. You are one of my favorite professor and I hope to meet you one day.
Next comes the another specialty course but this time with Python and data science. Perhaps some will disagree with me that I am recommending specialty courses to beginner but I believe this is a necessity. The real fun in technology beings with specialties and machine leaning and data scienceis a very cool specialty. This course will take you through a Python crash course and will introduce a multitude of libraries such as Pandas, Numpy, matplotlIb and SciKit Learn.
Alos, please beware that this course really should only be taken after all the courses above or at-least after the MIT Python Course above. Without that background, you will likely feel lost in this course.
Next comes and introduction to cloud computing. I believe that cloud is no longer a nice to have on a resume and without some exposure to cloud technologies, you will be putting yourself at a significant technical disadvantage. I would also recommend passing the certification. It is actually an easy certification exam to pass it will get you over exam anxiety for any future certifications you want to pursue. This cloud also be a stepping stone to another specialty (cloud) but that might be too many specialties for a beginner. Stick with the practitioner certification and see how you feel after that.
Now I know this book is old, (5 years to be exact) and that is ancient in technological terms but I really like its introductry style and just enough attention to detail that I am recommending it. Some of the other books and courses on the MEAN stack are not beginner friendly and being beginner friendly was my primary reason for selecting this book. This book will introduce you to the concept of a stack and will introduce you to the inner working of the web specialty more than the the web development course did above.
There you have it folks. I hope someone finds this list helpful. If you have any questions, please feel free to connect with me.