How a mechanical engineer became a software developer

Added: Over a year ago by Wiley Edge

Stephanie Hallak is a Mechanical Engineer who became a Software Developer at a leading Investment Bank. She completed a master’s degree in 2017 and moved to Canada with a goal to kick-start her professional career and accomplish her technology passion and dream. 

Houda Chraibi, Team Lead and Senior Talent Specialist for Wiley Edge in Canada asked Stephanie about her complex academic and career path. How did self-learning, training and continuous career development prepare her to become a developer. 

TELL ME MORE ABOUT YOURSELF

I am Stephanie, I am mechanical engineer graduate from The Lebanese University. The first two years of university was a general engineering program including computer science courses. I fell in love with Computer Science and Mechanical Engineering at the same time, so it was the perfect choice to combine them both.

However, at University, I noticed that we do not learn practical skills what will allow us to be ready for the real-world problems and complex situations.

I also noticed that mechanical engineering doesn’t lead to the career path that I wanted, so I decided to focalize my time and energy on Computer Science, which opened so many doors to me.

The first option was to drop out of the mechanical engineering degree and start a new computer science degree, however, there are strict rules at university that don’t allow you to easily proceed this way, so I simply completed my degree in mechanical engineering.

I started by planning my self-learning journey. Technology is a fast-paced environment and needs continuous learning process. I am an engineer with logical and analytical skills, I am able to learn everything by myself and I have my engineer degree, I know how things works and I can pick up quickly on anything, this is my spirit.

To be honest, I felt like I could do better in these five years at university if I could control what I learned. Thus, I simply started to take courses by myself, and these were courses that I chose.

I planned everything for myself: what I want to learn. This is how started my journey.

HOW DID YOU BECOME A SOFTWARE DEVELOPER, EVEN WITH A MECHANICAL ENGINEERING DEGREE?

Step number one, go to LinkedIn. Make sure to go through different job descriptions for multiple roles related to Software Development, I went through them all, Junior and Software roles. I understood the requirements and made sure to become eligible. You are not eligible? No problem, add certifications, have training by yourself, learn what you need to learn in order to get the job.

That way, I had the perfect idea of what I should focus my time on. Very simple: data structures, OOP principles, algorithms, basic understanding of programming of different software languages. I started to go a little more in deep into Java and object-oriented programming.

I invested my time, between two years through university, but for me that was the best way to develop all necessary skills. I am a fast learner! I am not sure if I really need five years to learn basics. So, I took this personal challenge and started to learn everything I needed, by myself.

While self-studying, there was some time where I got demotivated and thought for a while that it might be too difficult to continue; but I always had my husband tracking my progress, encouraging me and reminding me that I can do it very well. He had a big impact mentoring and explaining how can choices can determine my results.

I started with machine learning as I saw a lot of demand in it, in the workplace. I simply wanted to discover everything and have a good idea of everything, which helped me to know where I want to pursue in the long term.

I needed to understand how it works, I don’t like to use a programming language if I don’t understand in depth how to use it. Which means I decided to learn a bit of everything in depth, before moving forward with a career related to it. Finally, I understood that Java is what I liked the most and decided that I wanted to learn Java and Angular too.

There is so many things to learn, that’s true! However, if you know Java, you can code in Angular and in JavaScript, you just need one month to pick-up on other languages.

This spirit, this mentality and this way of thinking, is what hiring managers, interviewers and senior developers are looking for. First, they want to know if you can code, if you were able to give yourself projects in order to develop your skills, and if you are capable to pick-up quickly on other languages. If you have self-learning and motivation, everything is possible.

WHAT ARE THE BIGGEST CHALLENGES YOU ENCOUNTERED DURING YOUR PROCESS?

It’s not easy when lot of Canadian companies are asking for a Canadian University degree.

I wanted to pursue additional university studies in Canada, however, when you do not have a permanent residency, you have to pay a huge amount of study fees, so I couldn’t enter the program that I wanted, I had to learn by myself instead, and I was motivated to do so.

My husband saw a job advert of Wiley Edge, hiring Junior Software Developers in Montreal. It looked like they didn’t need any previous experience in order to be eligible, so I decided to give it a shot.

When I applied to Wiley Edge, I had a work permit, and I was surprised to see that I was given the chance to move forward with the hiring process and had an equal opportunity to prove my skills.

At first, I felt it was too good to be true, but it just happened like that, very quickly.

I thought that I had to wait seven months before getting a response, but I quickly got a call from the recruiter in charge and the process went very smooth. I passed the interview, it was exciting and stressful at the same time, but I was successful.

HOW IS YOUR EXPERIENCE SO FAR AND HOW DO YOU FEEL NOW?

It is interesting to see that people I work with are all from different backgrounds. It’s a multinational company and there is opportunity to accept people from all the world, different skill set, color, ethnicity, gender and academic background. When you are an engineer, you have the skills required, you can do anything.

The team I work with are using JavaScript and Angular, which is very funny as I made the good choice to start my learning journey from here.

This is a very interesting pathway that I took, and I am happy to see the positive results right now.

I am glad to see that Wiley Edge is giving to people the opportunity to start from somewhere even if they are junior without three years of experience. I am very happy now and fulfilled in my current role.

Also, I really appreciate the flexibility and I like the fact that I can be accompanied by Wiley Edge and work at the same time with a FinTech leader, one of the top investment banks in the country.

TELL US MORE ABOUT YOUR CURRENT RESPONSIBILITIES AND TEAM

I enjoy every day as a Software Developer. I start my day with the scrum meeting, between our team members and the scrum master to share our ideas. He is explaining to us what he’s doing and if he needs help, we share our openings and go through what we’re doing in general for the day.

After that, we might have some other meetings with our team members, in case someone has to help me or if I need to help someone. Then, we have tasks assigned to us. We basically build applications, and we give support for users and the team. We have some standards to be aligned with.

The application should work, and we establish the standards that we should use, what library can be used. As a junior, I don’t establish standards yet, but this is something the seniors do, as it’s a big responsibility and the team will follow those standards. My responsibility is to support the applications.

When there are some bugs, issues, or problems, we go need to update some libraries and add some features to applications, and apply the standards, in case they are missing. The goal is to enforce it and put it back on track. The senior members / developers are very helpful, even with remote communication, we are able to figure it somehow.

We are agile team, currently we use Angular with Java, but Java is used for the back end. We also use JavaScript, Angular framework and UI.

WHAT 'S YOUR ADVICE FOR PEOPLE INTERESTED IN SOFTWARE DEVELOPMENT?

There are some basic concepts in Computer Science that are absolutely required to have, for all companies. All candidates and applicants should focus on Data Structures, Algorithms, OOP, develop their analytical and logical skills. You will realise that you did well to learn all of this from now, as you will eventually use a lot, once having a senior position in the future.

You should also choose what you like and what do you want to do. Technology is so vast, so the best way to handle it is to be open minded, flexible and develop your knowledge in everything.

In a few years, you will be able to specialise in a certain field. I always like to explore different fields, front-end to back-end, and then decide what I am more interested in.

The most important thing is to build a lot of solid and relevant projects and put them all organised in your GitHub account (make it public!).

Finally, try to contribute to open-sources, learn about new technologies, what people are doing in their free time and try to participate to it. Continue to learn and never stop, this is how you can go very far in your career.

Follow your favourite employers
Save jobs to your shortlist
Receive personalised alerts
Access our live webinars
Register now
On the move? Download The App
Gradcracker Logo
Gradcracker Limited, October House, Long Street, Easingwold, York, YO61 3HX
01347 823822 | info@gradcracker.com | Company registration number: 6370348
© 2007 - 2024 Gradcracker Limited
Gradcracker and Cookies
We use cookies to ensure that we give you the best experience on our website.
If you continue we'll assume that you are happy to receive all cookies from Gradcracker.
Continue
Learn more