DEV Community

Cover image for My journey into software engineering role at Microsoft
Ela Moscicka
Ela Moscicka

Posted on • Edited on

My journey into software engineering role at Microsoft

I was thinking about writing this kind of a summary of my journey for quite some time. And even though it is still ongoing, I decided to share it as I truly believe that “sharing is caring”: maybe it will inspire someone else to follow their dreams, maybe someone is also learning how to code and is having one of the “Omg, I don’t know anything and can’t code” moments. Whatever the reason is, I hope you’ll enjoy reading it 😉

How it all started…

I think first time when I was super happy about being able to build something on my own was high school. During one of Informatics classes teacher introduced QBasic to us. We were practicing it and I decided to solve one of his tasks he prepared for us. It took me quite some time (and a lot of lines of code) but in the end it worked! I showed it to him, and he quickly made changes: my code was rewritten to just few lines. I cannot remember why I didn’t continue back then. What I remember though is the fact that I was considering choosing mathematics as one of the exams for my secondary school certificate, but in the end, I picked geography. Why? I discussed my plans with one of my teachers and I heard from her: “you better go with geography; it will be easier”.

Alt Text

Second time was during “Rails Girls Warsaw” Ruby on Rails workshops (if you never heard of them go and check what they’re doing). It was the time when I was already working in recruitment industry. I was super curious to learn more about that community and ROR but wasn’t seriously thinking about changing my career. Here I’d like to pause for a moment and say huge “THANK YOU” to our Mentor: Olga Grabek! 🙂

Everything changed when I joined Microsoft in August 2014. Working with passionate people, on the projects using latest technologies made me feel that it would be good to get better understanding of how particular languages and programs works – not only know theory. And as I am primarily hiring Software Engineers and working closely with Managers who are building/growing their teams, I decided to take next step.

Learning through online courses

Codecademy:

Alt Text

I was already actively using Twitter at the time I decided “I want to learn how to code!“ and I think thanks to it I found out about Codecademy.

Based on my experience I can highly recommend it and together with freeCodeCamp they’re just perfect (in my opinion 😉) for all beginners. They are free and user friendly: you do not have to install anything; you just log in into your account and write code directly there!

Udacity:

Alt Text

At some point I felt that it would be good to try something else. Thanks to social media (again:) I learnt about Udacity. I decided to give it a try and it was very good decision: while Codecademy was mostly about reading text and doing tasks, here you have videos with topics being explained by industry experts. Depending on language you want to learn or “path” you want complete you might be doing some coding on their website or using your IDE. There is a lot of free content available, but they also have some paid Nanodegree programs.

Udemy:

They offer a lot of courses – the trick is everyone can create content and become “an expert”. I would recommend you do some search online before investing money (even if it is only 10 euro) into something that might be not worth it.

Thanks to being part of #100DaysOfCode, #301DaysOfCode, #WomenInTech community on Twitter I was able to select great courses. When I started feeling more comfortable with coding and wanted to finally understand Algorithms and Data Structures, I bought “JavaScript Algorithms and Data Structures Masterclass” course by Colt Steele. I finished it long time ago, but as I want to refresh my knowledge will be going through it again soon.

Videos on Youtube

There is some interesting content out there! As I’m using HTML, CSS, JavaScript and React I often check what new videos have Brad from Traversy Media and The Net Ninja uploaded. Thanks to Brad I discovered Materialize and built my personal website based on it! 🙂

Alt Text

Meetups and Tech events

It can be fun to attend them! Not only you have a chance to learn more about various topics, but you also have an opportunity to network (NEVER miss networking -> that is often the best part of every meetup or tech event!).

Don’t be afraid if you don’t know anyone: I recently met girl who came to the meetup because she had free time during the evening. Her background was not tech and she told me she doesn’t understand what speakers are telling about, but she likes the atmosphere and people.

Alt Text

And never think “you’re not smart enough” to attend them. When in summer 2018 I noticed on Twitter that WarsawJS is organizing regularly meetups (every month, if you’re in Warsaw join us!) I just thought “Ok, I’m going”. I knew that few people I am following on social media will be there, so it was a little bit easier for me but believe me: I had NO IDEA what they are talking about.

There are still cases when I feel like this, but the more I am into coding and going to meetups/tech event, the easier it is for me to understand them.

Programming Workshops

WarsawJS community is HUGE. And organizers (shout out to: Kasia Grabowska, Piotr Kowalski and Piotr Zientara) are not limiting themselves to meetup only: they’ve also programming workshops.

I was super excited to go on my very first workshop (it was about “unit testing”)! If you want to know how I felt sitting there among all other people who were already working as Developers and knew what do to have a look at this pic below (I just love it <3)

Alt Text

Did I know what to do? NO. Was I lost? Yes. But as group was really supportive (as well as our Trainer Rafał Pocztarski) and I’m the type of person that whenever I don’t know something I ask until I get the answer, I was able to understand a lot in the end:) I even made pull request to GitHub repository that improved frontend part of the application we have been working on!

Outcome: I liked that workshop that much that I decided to go on another one..and another…and… In total I took part in 7! And I was even able to help others when they were stuck or lost during coding.

Here’s full list if you are interested what I was learning about.

Alt Text

Working on my own projects (social media, mentoring, GitHub)

That was probably the most difficult part. Online courses, YouTube videos, workshops are great because you are following someone else. They tell you what to do and how to build app. But when you are about to start building something on your own, that is when “so how do I write that code” thoughts are coming.

I consider myself super lucky because thanks to my activity on social media (one more time let’s mention Twitter here;) I “met” many great people who were helping me overcome many challenges (Wassim Chegham – thank you for your patience, you saved me many times!).

Another benefit of being active online is community. If you’re using Twitter I’d advise you to follow i.e.: #100DaysOfCode, #301DaysOfCode, #CodeNewbie. You’ll see what they’re working on, you’ll understand that you’re not alone and you’re not the only one struggling with writing code.

2 years ago, I decided that “I want to become a Software Engineer and I need a mentor!”. I discussed that idea with my colleague from Engineering Recruitment team, Milena Iwańska and she asked me “Why don’t you find a mentor at Microsoft?”. If you think I was 100% supportive of this at that time, you are wrong. I was full of doubts and wasn’t sure someone will be willing to mentor me (2 years ago I was just starting seriously learning coding, so let’s say I knew “zero”).

Long story short: in the end I found 2 mentors at Microsoft (one of them was my former candidate and we’re still continuing mentoring sessions – thank you Martin Petrla, I wouldn’t made it that far without you!). I also learned what mentoring means to me and that I cannot imagine having sessions with someone who does not believe in me.

Alt Text

The more time I spent working on my projects, the more I believe in myself. I keep track of all my coding/learning activity on my GitHub. The project I’m most proud of: I was able to built from scratch my very first Chrome extension with Martin’s help (you can find it here: ).

Challenges

Those are the most important challenges I had (or still have) to overcome while I’m following my dream to become a Software Engineer:

  1. Changing career path & switching to another role is not easy and does not happen overnight. You need to put a lot of energy, time and passion into it, otherwise you will not succeed.

  2. Combing full-time role & learning how to code – I wish I would have more time to code and that way make faster progress, but I’ve “9-5 job” and family. I also need to find time to relax and take care of myself. And sometimes I am just too tired to code and not opening my laptop for a week (the longest break I had was around 2 months).

  3. Believing in myself – we all have ups and downs. I had few moments when I wanted to quit, because I did not know how to write to code or I considered myself “too stupid to learn coding”. Being part of #100DaysOfCode, #301DaysOfCode, #CodeNewbie communities is great, but you can sometimes feel like you are doing less (or less cool things) than others. In my case I was also comparing myself to people already working at Microsoft as Software Engineers and believe me, I felt frustrated many time (luckily that was mostly in the beginning and I am not doing it now).

  4. Resources – there are many resources available and that is great. At the same time, it can be hard to pick the right one.

  5. Trying to learn everything – I always like to get deeper understanding of how particular things works, how they are connected, but at some point, I just had to focus on one area and stop jumping between topics.

  6. Haters – they are present and no matter how hard you are trying, there always will be people trying to put you down. Below are just a couple of thigs I have been hearing from completely anonymous people as well as from people who know me:
    “Frontend is not serious programming”

“She’s just nice face looking for attention”

“Hahaha, good luck”

Learnings

Below are some learning I want to share with you:

  1. Be open about learning new thingsela – as I had moments when I doubted my skills, it took me some time to start being open about my plans and career aspiration. Since I became more confident I started sharing my coding journey on LinkedIn, Twitter and also on Instagram. I believe it might be helpful for other people following their dreams 😉

  2. Track your coding progress – this is what I decided to do. GitHub is perfect place for that. Also, you never know who might find your repositories useful!

  3. Attend meetups/tech events and programming workshop, be active on social media – all those things will help you on your journey!

  4. Don’t compare yourself to others – what you see is just a part of “their journey”. You don’t know how they life looks like or how much time they have to learn. Find your own pace.

  5. Taking a break is important – don’t put a pressure on yourself that you have to code every day. If you feel that you need a break just do it. Otherwise you might soon find yourself frustrated.

  6. Never give up – progress is progress no matter how small. Some people will change role in few months, others will spend a year or more to achieve their goal.

Alt Text

This was my very personal story about becoming a Software Engineer, I hope it will have a “happy ending” 🙂 Maybe you are also considering career change? Or you’re currently learning programming? Leave your comment 😉

[UPDATE 25.03.2020: My story has a happy ending and in a few months I’ll be joining “Microsoft Teams” Prague team as a Software Engineer!!! Read more here and here.

article was originally published on LinkedIn (11th November 2019)

Thanks for reading,
Ela

Check my blog for more career-related articles: https://elaintech.com/

Top comments (9)

Collapse
 
elamoscicka profile image
Ela Moscicka

Thank you so much! 🙏🏻
All the best to you in your journey, Im keeping fingers crossed🤗
P.s. I recently started blogging and will be sharing more career advices on my blog: elaintech.com , feel free to stop by 😉

Collapse
 
daregoodness1997 profile image
Dare Goodness

Wow, I'm inspired...I started coding not too long ago and it has been an up and down journey, sometimes i feel lost. I will be really appreciative if I can get a mentor

Collapse
 
elamoscicka profile image
Ela Moscicka

Thanks!
Regarding mentoring - check Facebook groups, meetups, online programming workshops, Twitter community (#100DaysOfCode, #301DaysOfCode, #CodeNewbie, #DEVCommunity, etc.) there are people online who offer help :)
Good luck on your journey.

Collapse
 
tvinko profile image
Tomaž Vinko

Wow, very informative and real life post. You put so much effort into your knowledge, congrats

Collapse
 
elamoscicka profile image
Ela Moscicka

Thank you, Tomaž. My journey lasted almost 3 years, but I made it. Never give up!🚀

Collapse
 
ali_hassan_313 profile image
Ali Hassan • Edited

Thank you for sharing your beautiful journey. Hope it will encourage newbies.

Collapse
 
elamoscicka profile image
Ela Moscicka

Thank you! 🙏🏻 thank was my main goal when I wrote this story: encourage others, share my knowledge and prove that it's never to late for a career change 😊

Collapse
 
rakesh profile image
Rakesh

inspiring and insightful...

Collapse
 
elamoscicka profile image
Ela Moscicka

thank you, Rakesh :)