During my professional career in India in the past five years, I have spent numerous hours looking for the ideal, well-rounded candidate with a Computer Science background, knowing very well that expecting perfection is meaningless and close to perfection is good enough. As this led to numerous hours of disappointment, I tried going to the root cause of the issue. We were looking for candidates coming out of colleges to be industry ready.
With over 90% of the candidates failing to meet even the basic requirements, I started wondering if we can help the educational institutions with details on what is expected by the industry from the students when they graduate. This blog post is a result of that effort.
If I was approached to define the course curriculum for a Computer Science graduate, here are about a dozen courses that I would recommend during the two year period. We have to keep in mind that in each of the courses, the part with examples (such as Watson, Siri, AWS etc) is bound to change within six months to a year due to the rapid advancements in technology, but the core fundamental concepts remain valid.
Will be happy to know about your views on this.
- Why: Why You Exist? (Before explaining what or how)
- What: What Business Problem Are You Trying To Solve?
- How: How Do You Intend Solving It?
- Soft Skills (Communication, Commitment, Delivery, GetItDone)
- Platform Business (Netflix / Amazon / Apple / Facebook / Google)
- Connection Economy
- Accounting (CashFlow, P&L, Balance Sheet, ARR)
- Principles of Programming Languages
- Source Code Repository
- Automated Deployment Process (Docker, Jenkins)