Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
December 27, 2020 03:42 pm GMT

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 dont know anything and cant code moments. Whatever the reason is, I hope youll 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 didnt 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 theyre 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 wasnt seriously thinking about changing my career. Here Id 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 theyre 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 Im 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!).

Dont be afraid if you dont 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 doesnt understand what speakers are telling about, but she likes the atmosphere and people.

Alt Text

And never think youre not smart enough to attend them. When in summer 2018 I noticed on Twitter that WarsawJS is organizing regularly meetups (every month, if youre in Warsaw join us!) I just thought Ok, Im 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: theyve 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 Im the type of person that whenever I dont 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 anotherand In total I took part in 7! And I was even able to help others when they were stuck or lost during coding.

Heres 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 lets 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 youre using Twitter Id advise you to follow i.e.: #100DaysOfCode, #301DaysOfCode, #CodeNewbie. Youll see what theyre working on, youll understand that youre not alone and youre 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 Iwaska and she asked me Why dont 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 wasnt sure someone will be willing to mentor me (2 years ago I was just starting seriously learning coding, so lets say I knew zero).

Long story short: in the end I found 2 mentors at Microsoft (one of them was my former candidate and were still continuing mentoring sessions thank you Martin Petrla, I wouldnt 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 Im most proud of: I was able to built from scratch my very first Chrome extension with Martins help (you can find it here: ).

Challenges

Those are the most important challenges I had (or still have) to overcome while Im 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 Ive 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

Shes 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. Dont compare yourself to others what you see is just a part of their journey. You dont know how they life looks like or how much time they have to learn. Find your own pace.

  5. Taking a break is important dont 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 youre currently learning programming? Leave your comment

[UPDATE 25.03.2020: My story has a happy ending and in a few months Ill 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/


Original Link: https://dev.to/elamoscicka/my-journey-into-software-engineering-role-at-microsoft-35o3

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To