Hi, I'm Jakub and I work for Microsoft
After I got my degree in August I moved to Redmond, WA to start my new job at Microsoft. I work for Azure App Platform Team. My official position is Software Development Engineer (SDE).
It has been a month since I started. So far, my team, work environment, the product and development process are great.
My team (which is part of Azure App Platform) is working on the new Azure Portal. People in my team are smart. All of them. Moreover, they are really passionate about things they are doing, and they really care. I am working with Steve Sanderson, the creator of Knockout.js and one of the best technical speakers. The team is very diverse: people from many different countries all around the World, with a quite few girls among them.
My team is working in Agile. The working culture is generally: "Get the job done". People are in the office usually between 10am and 5pm. Some are coming later, and stay longer, others come early and leave early (there are also people who come early and leave late). If somebody feel the need to focus and don't being interrupted then he/she is working from home, and it is not a problem.
What is the best, I am not implementing some spec written by somebody 5 levels above me. I need to implement an idea, add my contribution, suggest changes etc. When I asked a question what are the expectations from me, my lead and my manager told me that they expect me to suggest some ideas how to make the product better, how we can improve it, and what we are doing wrong. This is exactly what I was looking forward to!
The building I am working in (Microsoft Building 44) is designed for Agile interactions. There are white boards everywhere. We work in Open Spaces (around 15 people per room). Microsoft is changing approach, and moving from private offices/cubicles to open spaces. What is cool, there are 3 conference rooms 'attached' to our Open Space (2 small, 1 big), and if somebody needs to work in peace, he/she can use one of them. If all are occupied (which does not happen very often), there are special 'focus rooms' (with desk and chair) in the building.
I have great machines to work on: HP Workstation Z420 (Xeon E5-1650 v2 3.5 GHz, 32 GB RAM, 128 GB SSD + 256 GB SSD + 1 TB SATA) with two 24" monitors DELL Ultrasharp U2415, and Microsoft Sculpt keyboard and mouse. I have also ultrabook Lenovo ThinkPad X1 Carbon (i7-3667U @ 2 GHz, 8 GB RAM, 240 GB SSD). I have adjustable height desk, and very comfortable Haworth Zody Task chair.
We use HTML5 and LESS for our View layer. LESS is very handy in maintaining big style sheets.
Our unit test framework is QUnit. For integration tests we use Selenium.
We use git for source control management. As Continuous Integration Server, we use Jenkins.
We have code review process supported by CodeFlow. It is required to have at least 2 reviews before code can be checked-in/pushed to the repository.
Building process is supported by MSBuild.
Behind the scenes, we use bunch of other JS libs, e.g. q.js, inject.js, d3.js, hammer.js or ZeroClipboard.js.
After 1 month I love it! There are many challenges, and interesting problems to solve. I am still new to the project, and I didn't discover it entirely yet. What I can say now, I really like the people from my team, the software development process and work environment in my team.
Probably I will be writing about my work on this blog. Stay tuned!