Engineering graduates from electrical, mechanical, civil, chemical and similar degrees switch into software all the time. Fill the CS gaps that hiring actually tests (programming, data structures, databases, how the web works), build projects that use your engineering domain, and apply as an engineer who codes, not as a beginner.
What people tell me
I studied a core engineering discipline, not computer science. I did a little programming in university, usually MATLAB or some C, and I enjoyed it more than my own field. Job options in my branch are limited and poorly paid, and many of my classmates are moving into IT. I do not know which CS subjects I am missing, whether companies will take my degree seriously, or whether I should do a master's in computer science first.
A composite of the messages behind this question, with personal details left out.
Key takeaways
- An engineering degree already proves maths, problem solving and discipline; you are not starting from zero.
- Fill the gaps hiring actually tests: one language, data structures and algorithms, databases, Git and the web.
- Build projects that use your engineering domain; they stand out from generic portfolios.
- Embedded, IoT, data, simulation and industrial software are natural bridges for many branches.
- A CS master's is optional; try the self-study route first unless you want to move abroad or into research.
You have more than you think
Non-CS engineering graduates are one of the most common groups moving into software, and for good reason. Your degree already shows you can handle maths, structured problem solving and hard coursework. Many of you have written MATLAB, Python, C or LabVIEW code for labs or a final project. What you are missing is a specific set of CS topics and practical habits, and those can be learned.
Many companies in India and Pakistan, especially large IT services firms, hire from all engineering branches, and product companies care mainly about what you can do in the technical rounds.
The gaps that matter
| Topic | Why it matters | Where to learn |
|---|---|---|
| One language, properly | Every technical round and job needs it | Programming roadmap |
| Data structures and algorithms | Tested in most online assessments | DSA roadmap and DSA cheat sheet |
| Databases and SQL | Almost every application stores data | CS50's databases course |
| Git and the command line | Daily work on any team | The Missing Semester |
| How the web works | HTTP, APIs, clients and servers | Backend roadmap |
| Operating systems and networking basics | Asked in technical rounds, useful everywhere | CS50 for a first pass |
You do not need the whole CS curriculum. Cover these to a working level, and go deeper in the area you choose.
Pick a bridge, not a blank slate
Your branch points to natural directions where your background is an advantage:
- Electrical and electronics: embedded systems, IoT, firmware, signal processing, hardware testing tools.
- Mechanical and industrial: simulation, CAD tooling, manufacturing software, robotics, data for operations.
- Civil: geospatial software, construction and project management tools, infrastructure data.
- Chemical and process: process data, industrial automation, analytics for plants.
- Any branch: data analytics and machine learning, where your maths is a genuine advantage. See the data analytics roadmap and machine learning roadmap.
Mainstream web and backend development are also fully open to you, and have the most entry-level openings. Pick based on what you enjoy and what jobs exist where you want to work.
Build projects that only you would build
A generic to-do app says "beginner". A tool that logs sensor data from a microcontroller to a dashboard, or estimates material quantities from a simple building plan, says "engineer who codes". Aim for:
- One solid project in your chosen direction, deployed and documented.
- One project that combines software with your engineering domain.
The FYP ideas library has scoped problems across domains that you can adapt, even after graduation.
Should you do a CS master's first?
Usually not as a first step. A master's costs time and money, and many people discover after a few months of serious self-study that they could get hired without it. Consider one if you want to move abroad, go into research or specialise deeply in something like machine learning. The live question on a master's abroad or work experience first goes through that decision.
How to present yourself
- Put your projects above your degree details on the CV.
- In the summary, say what you build now, and mention your engineering background as a strength.
- Be ready for "why software?" with a short, honest answer about what you enjoyed and what you have done since.
- Apply broadly to graduate and trainee roles open to all branches, and use the jobs page and companies directory to find them.
A timeline
At around ten to fifteen hours a week, most people can cover the gaps in four to six months and have job-ready projects within nine to twelve. If you are still in university, start now: your final year project is the perfect place to build your bridge project.
If you are still stuck
Read how do I choose between frontend, backend, mobile, cloud, security, data and AI. If you want help choosing a bridge for your branch, join Sefism and, as a member, book a 1:1 session.
Was this answer helpful?
Read next
- The Fundamentals Worth Learning as a Software EngineerThe software engineering fundamentals that outlast every framework: how code runs, data structures, complexity, databases, networking, concurrency, Git, testing, reading code and writing, with how deep to go and where to learn each.
- Ten Books That Fill the Gap a CS Degree LeavesTen books for software engineers that a computer science degree skips, from Ousterhout and Kleppmann to Feathers and Brooks, grouped by the problem each solves and when in your career it will land.
Your situation is not quite this one?
Members get written answers to their own questions, a roadmap built for them and feedback on their projects. Early access is open: sign up and your account is active shortly after. Prefer to talk? A free call works too.