Are MOOCs (Massive Open Online Courses) Useful for Software Engineers?
Are you planning to take on an online course for learning a new programming language or technology but are not sure if it’s worth your time? Perhaps this article may answer your question!
Introduction
There are plenty of products on the World Wide Web that provide a vast offering of MOOCs, which is an abbreviation of the term “Massive Open Online Course.” Simply put, MOOCs are online courses that can be taken by anyone to learn more about particular topics from many different fields of studies. MOOCs are typically self-paced and contain content that is organized, created and curated by many different academic bodies or companies. These MOOCs are hosted on sites such as Coursera, Udemy, Codecademy, etc., and they all promise certifications of completion that can be used to verify a learner’s proficiency on particular topics. However, there are criticisms regarding the authenticity and quality of these MOOCs and whether or not certificates are considered in the hiring process, which we’ll dive deep into in this article. It’s important to note that I’ll be considering the usefulness of MOOCs from a software engineering standpoint, and whether software engineers stand to benefit from these online courses. I’ve personally taken several MOOCs over the past few months, so I’m excited to share my learnings from my own experiences thus far. Without further ado, let’s begin!
Which MOOCs are available for Software Engineering?
MOOCs come in all shapes and sizes, and can range from a single, 20 hour long course, or a collection of courses that are intended to be completed in a span of six months, or longer. These smaller courses can simply be about learning the absolute basics of a programming language, such as “Learn SQL” or “Learn C++” on Coursera. The larger collections include programs such as the “IBM Full Stack Cloud Developer Professional Certificate” or “Full-Stack Web Development with React Specialization” by IBM and the Hong Kong University of Science and Technology respectively, which are also on Coursera. These programs typically incorporate multiple languages or frameworks, or take a deep dive into the details of a particular technology. The majority of high quality courses also provide quizzes, assignments and even course-long projects to test your knowledge on the material. Therefore, courses can be taken on depending on the needs of the engineer and the scope for a topic which they desire to learn. If you’re a new software developer, it maybe useful to take on a course that teaches you the basics of a programming language. If you’ve had some prior experience in programming, then it could be useful to work towards a larger certification in a tech stack that you’re not familiar with.
When are MOOCs useful to take on?
A problem that new software developers often face is that they don’t know what they don’t know. That is, they can be so overwhelmed with novel concepts and ideas that they’re not entirely sure what it is that they need to learn and which material should take priority. MOOCs are very useful for this particular case, as they are highly structured and are organized in such a way that concepts build up on each other as learners progress through the course. Therefore, I highly recommend these online courses to those who are looking to pick up new skills but don’t know where to start. However, this can be inefficient for more tenured, experienced engineers, who are already familiar with the fundamentals of software development. In this case, it would be much more beneficial for developers to directly seek out the information that they’re missing for a particular technology, usually through reading the documentation.
Do MOOCs help land interviews?
For inexperienced software engineers that don’t have much to put on their resumes or LinkedIn profiles, hiring managers and/or recruiters may take into consideration what type of certificates you’ve earned. Even better are the extensive programs that take a significant amount of time to complete, especially those that are accredited by well known academic institutions or companies. However, this isn’t the case for everybody else. The prevailing sentiment is that for those who have years of experience under their belt, work experience, projects and company prestige significantly outweigh certifications in the hiring process, which is in line from my own experiences and discussions with others. In fact, it’s considered suboptimal to include certifications in your resume as there is limited space to really market your skills on a single page.
Is the MOOC experience comparable to in-person schooling?
This question can be easily answered with a resounding “NO”. From my experience with Coursera, there are quite a few issues with the community aspect of MOOCs. Though there are dozens if not hundreds of people taking the course at the same time as you, oftentimes it can be difficult to find people to work through the content with as most people are self-paced. Additionally, the discussion forums tend not to be useful for discussing study material with your peers, as they are usually filled with spam or with posts asking others to peer review their assignments. From my own experience with several MOOCs, I found that many people are just interested in speed running the course for the certification. Consequently, many assignments that are submitted are filled with errors, and that their answers to discussion prompts are made with very little effort whatsoever. This is in contrast to in-person courses at university, where the majority of students are putting their full effort into the course and take on projects seriously. For any potential students taking on MOOCs, I would recommend that they temper their expectations for peer interaction — it simply isn’t going to happen.
How can I make the most out of a MOOC?
When taking a MOOC, there are several strategies you can employ to ensure you are getting the most out of the course and its material. Firstly, I would recommend NOT to skip any course material. Just like in any course, both online and in-person, the material builds upon each other. This includes plenty of the optional material, where the author of the course includes additional links, resources and documentation for particular topics. It’s really easy to skip out on these extra resources, but whenever you’re learning anything, it’s essential to set a good foundation for your knowledge as it helps you integrate new information into your current understanding of the material. Furthermore, if your course provides discussion prompts or optional assignments, be sure to take them on, even if it delays you from completing your course. Completing assignments is a great way to really test and improve your knowledge of the material, just like in any in-person class. Lastly, it’s important to apply your newfound knowledge. If you’ve just wrapped up a course on React, try implementing a tic-tac-toe game with the things you’ve just learned! Or if you’ve completed a course on backend frameworks, try designing an API that supports CRUD operations.
Conclusion: Should I take a MOOC as a Software Engineer?
I would say, yes —especially if you’re extremely early career, or if you’re planning to learn a new technology but are not sure where to start. Once you’ve gained experience, it’s simply easier to learn through reading documentation and implementing the technology yourself. It’s never a bad thing to take on a MOOC, but at that point it’s no longer the optimal solution for learning. If you’re considering taking MOOCs for a resume booster, know that the certifications that you gain from these MOOCs are not entirely useful and become noise when added to a resume. This is not to say that all certifications are bad, but most do not add value to your resume. However, if you do find that the structure of these courses and the aspect of certification makes the learning experience enjoyable to you, then I would say go for it! One of the most important parts of learning is enjoying the process. For myself personally, I really do enjoy working on MOOCs during my free time, so even though I’ve reached the mid-level mark I’ll still continue to do them.
Hopefully this article helped answer some of your questions regarding MOOCs! Let me know if you’ve got any recommendations for which ones to take and if there are any platforms you enjoy more than others for learning software development. Cheers!
Want to chat? Let’s talk! Feel free to connect with me on LinkedIn, at
https://www.linkedin.com/in/patrick-carlos/