New campus hires in (SaaS) product companies struggle in their first several months (and more). Why, and what can we do to solve it for Indian context?

My problem statement is the following.

When graduating students join mid-size SaaS product companies, first set of tasks include comprehending a large product to a sufficient level so that they can start development work. They struggle because they lack the skills and experience required to comprehend a complex software system. Computing curriculum across the world has traditionally prioritized creation over comprehension, and programs & algorithms over complex systems.

Systems science suggests that complex systems are best understood when learners engage in modeling. In computing, while we do teach modeling, we do not situate it within comprehension and complex systems domain.
How do I design and implement courses for CS undergrad colleges in India that introduces students to complex software systems and teach them comprehension through modeling, so that they can do well in their first set of tasks when joining a SaaS product company?

  1. Feasibility: Is this even doable in a semester course? Should we instead attempt to look at repurposing existing courses and imbue this mindset in them?
  2. Student motivation and engagement: This is a problem that you see when you join a company, students may not even understand this as a problem (have seen this when we taught a similar course earlier this year) and hence may not be motivated.
  3. Curriculum fitment: This may not fit neatly in known types of courses - this is partly software engineering, partly systems, and partly foundational. It is hard to figure out who can champion this in the curriculum committees.
  4. Instructor’s motivation and engagement: Given it is not very clear where this course belongs, instructors may not feel this is in their domain and hence may not want to teach or support it.
  5. Course complexity: Picking anything real-world, especially complex systems can quickly get overwhelming for the students and instructors. How do we keep it simple, while not losing real-world value?


  1. This is likely to require a some industry knowledge and preferably experience which may be hard to find in existing instructors. There is a dearth of industry-experienced faculty in most engineering colleges.
  2. A large number of colleges in India are affiliated, which means they do not have control over what courses they teach.

I posted my problem statement. It may not be very structured, or even research problem quality level, but hopefully it conveys the crux of the theme I am after. It will be great to get some feedback from people here - on each part of this problem as well as your ideas on how to make it happen at India scale.
This is also part of my PhD research work, so your candid feedback will help me make my research better.


I love this statement; so many things to unpack here, all of which I am excited about!

Happy to develop this over the course of the workshop. In addition, I’m happy to talk about this one-on-one after hours (the benefit of us all being on campus), and of course include anyone else who would like to talk about it as well.


Some of our colleagues here have been brainstorming a couple of courses to this effect, driven by very similar motivations, for a long time now. I am not sure if they will be around at CRiCKET, but if you do have discussions after hours maybe it’ll be nice to have them join in.

Just leaving this here so @mrityunjay.mj can remind me to coordinate the logistics :slight_smile:


Thank you @shriram! It will be great to apply the workshop energy and learning to this problem, I am looking forward to it.
I will take you up on your offer for after-hours discussion on this topic :grinning:. would love to get your perspective on the problem as well as solution! We will pull in other interested folks as @neeldhara suggested.


Thanks @neeldhara, if you can connect me to these colleagues, it will be awesome! Definitely we should get that small group going with @shriram and have a deep conversation on this topic, I am super excited!


Thanks @mrityunjay.mj for posting this when I started working as a dev I felt exactly the same thing where reading code is a skill that is left untaught and it always lead code written to get the job and not be looked at ever.

This boggles me that “problem solvers” ignore the disease and start treating the symptoms.

Would love to have a chat over this!

1 Like