Skip to main content

My experience joining Microsoft, one of the leading companies in the industry

 This past year I finally made a big leap in my career and joined on of the leading companies in this the software industry, it's been one of my lifelong dream to join such a company and now it happened.

It's been quite a journey and I noticed a lot of things so far that I would have never imagined. 

Firstly, the scale of things is something that completely blows my mind. I never thought that I would be part of tens of teams, just in my local division in geographical region. Everything is massive and scattered around the globe with hundreds of teams out there. And getting so many teams to work together is really a challenge, especially making sure that they don't constantly reinvent the wheel. 

Or another very challenging aspect is the fact that no team is actually alone and depends on the work of many others teams. Here I noticed several skills that are really useful which I never though of before. One of the skills is getting the right information and reaching the right contact to offer you the information, technology or tool that you need. It's quite a skill to navigate such a massive company and get to the right person that you need. And something really important, I think you can't really advance without this skill. Another skill is something related to this, and is just general networking and building relationships in the company. Honestly I am a bit lacking in these skills and I need to improve them. And these are just one of the basic skills here. A true master should be able to also influence people and how things are done in such a company.

One more aspect that I noticed here, is the fact that quick thinkers seem to have a great advantage here. A lot of times you can get things the way you want to do if you are quick enough to show and sell your ideas. Or at least if you prepare ahead of time a bit and you have a clear picture of your ideas inside your mind. Here comes in my mind a quote from the Art of War, "Every battle is won before it is fought". It is kind of true.

Another thing related to being a massive company, with probably thousands of teams, a lot of things seem to happen all at once which can be hard to manage in the beginning and might even seem really overwhelming. It's another skill to start to follow so many threads going on at once in other parts of the company that are related to your daily job. It also requires you to know how to filter the key relevant information from the entire stream of information that you constantly get bombarded with. So yeah, keeping up to date with everything.

Another thing that I noticed as I embarked on this journey, is the fact that somehow it brought out a bit the kid inside me. I think the simple fact that it was a long time wish, caused be to lose a bit of my logical and adult mind and so a bit of stupid things that normally I wouldn't have done. It was way more critical of me than I usually am because I felt the need to impress everyone and I may have pushed myself a bit too hard. I felt a bit insufficient I think which triggered this. And because I was stressed out with this, I made other kind of mistakes, like having some trouble acknowledging when I was wrong or over analysing things. I think it was better if I kept my cool and calm, and didn't think too much about anything. It was a bit too easy to get carried away by my emotions.

The processes seemed much more mature at such a company and seem more refined. Even more basic things like HR there are well defined processes put in place. I didn't think too much of diagrams so far in my career but they are really useful in such an environment. Or writing technical documents in general or technical design proposals. The better you are at these things, the more you can influence others and get your ideas across. To be honest I was pretty rusty at such skills and I did have a bit of trouble polishing them. I think I am still not done with them. As an employee you have an entire massive platform at your disposal full of things to take advantage of. I don't think I even started to scratch the surface here. 

In the end, I think I just have scratched the surface and things are a lot more complicated than what I have noticed so far.

 

 


Comments

Popular posts from this blog

Some software development common sense ideas

 I haven't really written here in a long time so it's time to write some new things. These are just some random common sense things that seemed to short to write about individually but seem really interesting and useful to me or other people 1. There is nothing fixed in software development, all things vary by circumstances and time Remember the documentation that didn't seem that important when you started the project, well after a couple of years one the application has grown and become really complicated, no one actually knows everything about the application anymore. So now you really need that documentation. What happens if you suddenly need much more people to develop the application because of some explosive growth? Without documentation, new developers will just look at the application like they look at a painting. This actually happened to me. Maybe in the beginning of a project, a technology really helped you a lot but as the project grew, it started making things

My thoughts as an experienced developer in this field.

To be honest, I would have never guessed that      I would end up saying these these things, especially jn the beginning of my career. As you become more experienced, you kind of get to see everything and you become less impressed by new things. Honestly there is some sort of repetitiveness in this field and we kind of like to reinvent the wheel quite often, because well, we become a bit too easily bored. Take for example how the web looks now, a lot of it has been borrowed from other places, mostly desktop development, especially the parts about making custom reusable components.  Or from older frameworks, like state management in the UI which actually was first properly implemented in Asp .Net Webforms, as far as I know, something like 20 years ago, where you used to have the dreaded view state.  But most likely something similar existed before that too. I was not that surprised when React adopted initially this idea. Or even less surprised when hooks where introduced that seemed a b

Some things which are often blindly applied and followed by developers which are not always good

This is probably one of the most controversial things that I have written so far but I am just tired of hearing about these things and discussing these things. Other developers that I know share part of my feelings. I would rather hear more about how people built things, overcame challenges or what new interesting ideas and concepts they implemented. Those things are really interesting and innovative, not hearing about the same theoretical things over and over again. I can just read and learn those things from 100 sources on the internet. Firstly, one of the most discussed and promoted things is agile/scrum development. I think I have been through 5-8 workshops about agile development methodology. And each time, some things differed. There is no 100% standard approach to this. Everyone uses their own version of this development methodology and seem to argue a lot that their approach is right and everyone else is doing it wrong. You go to an interview, this will be one of the first 10 t