It’s now been six months since I joined Microsoft, and it’s a good time as any to jot down a few notes on what it’s been like so far, from a very generic (and, above all, professional perspective).
I also slipped on wet cobblestones a couple of days ago and bruised my left elbow and most of my lower arm in quite spectacular fashion, so I’m taking advantage of that to chill out and reflect a bit.
Being part of what is known internally as Cloud and Enterprise makes for some sobering insights on how the company is changing – which is a good deal of the reason why I signed up in the first place. I missed that kind of perspective (it was the sort of industry gestalt I enjoyed daily at Vodafone), and there’s the same feeling of disconnect and incredulity when I peruse what passes for news coverage these days and attempt to match what is newsworthy with what I know is actually happening.
That’s the tech industry for you – a lot of work backstage and a lot of static and guesswork in the media, a lot of it coming from biased pundits.
On the whole, there’s a lot of soundness in Microsoft’s cloud strategy as I see it being outlined and communicated to its traditional customers. Hybrid cloud is a nice, logical first step for established businesses, and the competition can’t match Microsoft’s reach in that regard. So the business logic is sound, although I will freely admit that it may seem like it’s coming out of left field to someone who’s spent their whole life living in an Internet-centric world.
Then again, traditional IT isn’t that big of a match with your typical startup environment. Well, not yet anyway…
The people I work with are, in a word, awesome, both locally and globally. Again, I enjoy the global reach: E-mailing or IMing just about anyone on any topic and getting hold of the actual people driving a product is… interesting, to say the least, and something that I find heartening considering that Portugal keeps teetering on the brink of becoming a technological backwater – there’s a whole world out there filled with educated, highly knowledgeable people, and you don’t have to starve intellectually by keeping to the local industry.
(Yes, the Web Summit is coming. No, it won’t fix our economy or our startup ecosystem as if by magic – we’ll actually have to work at it, but I’ll write about that some other time.)
In contrast, being in a sales-driven part of the business (although my role is technical in nature and focus) makes it hard to do mid-to-long-term projects, something that is constantly eating at me.
I’m fortunate enough to have customers who get it and are leveraging cloud solutions in earnest, and there are plenty of stimulating discussions and workshops to go around, but the enjoyment I derive from doing architecture designs and proof of concept demos/prototypes etc. is not the same as actually hunkering down and building stuff while leading a team.
I’m still trying to adjust, but not actually working on projects in a continued fashion is seriously getting to me – I’m too used to obsessing over a challenge over several days from breakfast to supper (and often the other way around), and there are just too many context switches for me to feel productive.
I get to move around a lot (or, at least, a lot more than I used to). That would ordinarily be a good thing (and I never get bored of going places or meeting new people), but despite flexible hours and being able to work on the go, the overall feeling is of wasted time, for two reasons (one of which is largely psychological):
- No matter how much I enjoy doing talks and presentations, it just doesn’t feel like actual work (much like when you start leading teams and doing status meetings)
- The commute to and from the office takes me an hour or so each way plus anywhere between half and another hour to go from there to a customer
…and those completely destroy any sort of serious productivity (there’s just no way you can keep “in the zone” unless you lock yourself away for a whole day).
Also, in practice, meal times are a bit random and all the extra walking I was supposed to be doing just isn’t happening (or at least isn’t happening as consistently as necessary), so I’m gaining weight again.
Fortunately, I can work from home (or, in fact, from anywhere) – which given my current location means I can hop over to do a presentation to a customer in only half an hour, possibly sticking around for a couple of hours to catch up on e-mail, tying up all sort of loose ends (maybe even doing some impromptu whiteboard sessions) and be on my way to the next meeting.
This, of course, means it’s also harder to separate personal from work time – I do all the usual tricks like stepping into my home office at 9 and leaving it by dinner time as well as not using my work laptop on weekends or evenings unless it’s absolutely necessary, but I always end up reviewing docs and doing deep dives on tech stuff during the evening (//build being a particularly good example – I’m still halfway through the sessions, at best).
It’s either that or losing touch with the status quo of the umpteen technologies I have to deal with – something that is very hard to get across when most “normal” people get by with a couple of summary slide decks.
I decided to get into modern C# and ASP.NET, and am constantly amazed at how much the average .NET dev relies on the IDE for everything. Coming from a world where scripting, automated testing and (above all) thinking before doing stuff makes you much less reliant on graphical tooling, I’m constantly coming across weird corner cases and inconsistencies that the IDEs simply smooth over – and the same applies to database management tools and suchlike.
On the other hand, that deeply ingrained habit of not relying on graphical tools has already saved my bacon a couple of dozen times, so I’m (almost) OK with using a CLI on Windows, even if it entails using PowerShell – which is less of an issue for me every day1 thanks to the increasing emphasis on things like the Windows Subsystem for Linux (which is getting better and better) and my having taken up the challenge of being one of the local Open Source Champions, but that’s a story for another time.
Most of my work (and play) still revolves around terminal windows and browsers, which work well mostly anywhere.
Still, at this point I would gladly swap out my ThinkPad for something smaller, since everything else I use is vastly easier to carry – all of my personal coding is done on a 12” MacBook and all of my writing is still done on an iPad mini (although I’ve shied away from OneNote recently due to an irritating bug in the iOS version).
But for work, the only relevant change is that I have temporarily ditched the company-issue Lumia 640 XL in favor of my ancient HTC One, because the One is a kick-ass LTE modem and I actually need that a lot more on the go than the Lumia’s camera.
After all, you can’t have everything, right?
(Or so I keep telling myself)
Incidentally, if you want to understand why PowerShell works the way it does and where Windows Server is going, I heartily recommend watching this presentation by Jeffrey Snover. I still don’t like the syntax or the aggravating inconsistencies between different sets of cmdlets, but I have a lot more respect for it these days. ↩︎