Mechanical to software development transition

Hello Everyone,

A short background about myself:
I am 29 years old and I have a Masters degree in Mechanical Engineering and I am currently working full-time in an automotive company as a mid-level Engineer. My knowledge in softwares / coding is close to zero. I only use MS tools (office, excel) and ERP tools as part of my work doing routine, repetitive tasks.

I am interested in learning to code. I have recently started learning HTML on freeCodeCamp. I am also started learning basics of python on the side. I am not sure if I have started the right way and therefore I would like you all to guide me through this. Some questions where I would appreciate your input.

  1. Am I too old to start a career transition from Mech > SW dev as I see 20-25 year olds dominating the field?
    I must mention that I am very adaptable and I have no issues working for someone younger than me but highly competent. I would like to learn doing new and interesting things.
  2. Where do I start?
  3. What do I learn?
  4. List of things I need to learn
  5. How do I learn?
  6. Time required. (if possible)

I have 3 hours of time on workdays and weekends are free. Hopefully, I can transition into software development in a few years time when I am competent enough. Any input from code campers and also from people who have gone through such a transition would be greatly appreciated.

Thank you and Have a great week!


I’m chiming in as a freelancer and not as a very experienced coder, although I’ve been coding on and off since 1998-2000.

  1. No, you’re not too old. There are a lot of 20-25 year olds these days, population wise, but I wouldn’t say they’re “dominating” in this field. I think it’s safe to say that majority of 20-25 year olds would always be considered a junior worker (no matter the field or position). There would be rare exceptions where 20-25 year olds have over 5-8 years of significant coding experience (but I guess this is a growing population).

  2. You could start right here.
    You could supplement your study with external resources (which I guess most people do).

  3. You’d learn a lot. Here in particular? Full stack, if you’re capable.

  4. There’s no single correct answer here. It depends on your goals. Basically, you could focus on HTML, CSS, and JavaScript. There are a lot of tracks for JavaScript.

  5. Freecodecamp has its own course. You just follow its track.

  6. Seriously? A lot. Be prepared to invest a lot of time. It would take years to master a certain skill.

1 Like

You may not have much of an issue - it might be that it just doesn’t click, but really, the processes and methods you learnt as a mechanical engineer should transfer across to software engineering, should stand you in good stead. I’d just say by all means learn HTML, it’s useful and important to know, but it’s a very simple thing and you can’t do much with it. If you’re coming from an engineering background, actually dive straight into a programming language. Python is a very good language to start with; it’s easy to learn and you can do an awful lot with it. It’s simple and powerful and easy to read and understand. FCC is web-focussed, so teaches JavaScript, which is a pretty ok language nowadays. Software engineering is about building systems: it doesn’t really matter what language you learn (just having access to good learning resources, good tooling and a thriving community makes thing 1000× easier), as long as you learn an actual language.


Thank you Jsilver ! That was encouraging :slight_smile: Hope to work my way through

1 Like

Hi Imran,
I’ve done exactly the same thing as you mentioned. Except i did it a few years earlier. At 23. I graduated with a mechanical engineering degree, but because of my location and lack of experience found it very hard to find a job, and also thought the idea of being able to travel for work and eventually remote work would be extremely nice. So I worked through the Free Code Camp Front-End Certificate and completed a couple Udemy courses, and voila. Within 2 months I had my first Front-End Web Developing gig for a large international financial firm.

I think the critical thinking skills, math background and passion for problem solving that you get when you’re training to be an engineer makes us perfect to transition.

I did have background in python, as I used it while at school to analyze material, and system test data and took a course on data analytics on the side. However I was pretty new to HTML, CSS and JS.

Three hours a day might not be a lot, but if you stick at it, I’m certain you can do it. I personally worked for two months doing 12-16 hour days in front of a computer and I was able to build up enough skill for my boss to take a chance on me.

My biggest suggestion from the start, is save all your work, and build a beautiful portfolio you are proud off with the most advance stuff at the top, and more basic stuff at the bottom.

I’ve seen multiple people apply for junior developer positions at my company and 99% of people are turned down because they have no proof that they can do the job, despite the fact that they might have the skills, they haven’t got anything to prove it.

Feel free to personally reach out to me if you need additional advice etc. Good luck!


Can you inform the steps should I follow to get a decent job asap?