I am currently a software developer in India and have been working for 3 years. I also have a bachelor's degree in Electronics and Communications Engineering. I have been shortlisting universities for my Master's degree and I am going for universities that offer an MCS/MEng program or a Course/Project-based MS CS program.

Please can you guys tell me how I can best prepare my application to counteract the preference universities have towards Computer Science graduates and prepare a good application?

Here is what I have done so far:

  1. 3 years of solid experience in a startup as a software developer, with multiple leadership positions held.
  2. Final year project in Embedded Systems involved a lot of concepts from CS and could be accepted as a good CS Final year project as well.
  3. Pet projects which showcase the skills I use in my full-time job (should I be focussing on technologies I don't use on my job? What looks better here?)
  4. Azure Certifications - started with the fundamentals, planning to do more once I apply - should be visible on my website and Linkedin
  5. Competitive coding - I have picked it up, will be putting more time into this once the application is complete. Links to Codeforces, CodeChef, Leetcode profiles in resume so that the committee always has the latest info.
  6. Helped teach coding to students in underprivileged societies via NGO once COVID-19 hit.

Thanks in advance!

  • 1
    Why do you believe there is a preference for CS?
    – Buffy
    Aug 21, 2021 at 10:15
  • @Buffy Because they ask for it in the information about the degree, especially Canadian Universities. Some say they want CS grads, but are willing to take candidates from other backgrounds if they have relevant experience and a few pre-requisite courses. Some say they want CS grads only.
    – Omkar
    Aug 21, 2021 at 11:18

1 Answer 1


I can only speak for the US, not Canada, but here it is pretty common to switch majors/fields when entering graduate school. While there may be a "preference" for those with the undergraduate knowledge that you get in a major in the same field, it isn't considered essential. But, it is easier to switch if you are entering a doctoral program, since there will be more opportunity to fill in any blanks.

And, FWIW, I don't find your undergraduate major/degree all that distinct from CS as to be a barrier.

But for your situation, I don't find any of the six items to be especially helpful to an application (US). They basically all say "I can program effectively", but programming is just the base level skill that is acquired in an undergrad CS degree. Programming, even effective programming, isn't the goal, but only a tool for exploring deeper things; especially theoretical things.

None of the six are negative, but they are just a bit "marginal". If you have the knowledge required of a CS graduate (or most of it) they would be helpful, but not so much if you have serious gaps. In particular, they don't substitute for required knowledge.

You may actually have the required additional knowledge and just don't state it here, but you need to be "up" on data structures and algorithms, operating systems, database theory (not just use) and probably a few additional things (Network theory...). Your undergrad degree certainly suggests you have some, perhaps much, of it. In that case the "preference" for a CS graduate may not apply to you.

To see what you might be missing, look at the undergraduate curriculum of a good CS program and ask which of those courses you are missing knowledge. Find a way to get any remaining knowledge. The best way is to take actual university courses that provide a transcript, not just online courses that provide less evidence of actual competence.

Note that in the US, a MS isn't a requirement to enter a doctoral program. If such is your ultimate goal, you might think about applying for a PhD directly.

  • Thank you @Buffy! That makes a lot of sense. As you mention that the points that I have stated here are marginal, how would you suggest I can improve my profile? Would doing the mentioned courses on Coursera help? I have studied network theory and DS Algo before, but not OS and DB. Also, how should I go about choosing the topics for my project - should I be doing projects with different technologies or focus on the same ones I use at work? Are these projects important considering I have work experience?
    – Omkar
    Aug 22, 2021 at 10:38
  • 1
    @omkar: regarding Coursera: academia.stackexchange.com/questions/21526/…
    – Daniel K
    Aug 22, 2021 at 12:51
  • 1
    The gold standard is a university course. Some universities will let you take a course as a non-matriculated student (usually for money). But you use what you have available. A university curriculum website will often list books. You can study from these (doing a lot of the exercises, not just reading). But you miss the feedback that you get from a proper course. Stress the theoretical aspects, not the practical ones. Hence, DB Theory, not just learning SQL. Used copies of some of the classic books might be reasonably priced (though some are exorbitant, too).
    – Buffy
    Aug 22, 2021 at 12:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .