Categories
Work

With spring comes a new role

I am so excited, to announce that I’ll be taking on a new role at Microsoft. Starting today, I have moved over to our engineering org, where I will be working as a Senior Service Engineering Manager. I’m bestowed the great privilege of working with some of our smartest minds, help grow and nurture our talent, and provide the best customer experience in the field, while coaching and mentoring our high performing engineers.

What is the Azure Customer Experience team

We are a fast growing Engineering team of customer obsessed & passionate individuals that drive positive customer outcomes and experiences. FastTrack for Azure is our newest initiative; a customer success service to help customers confidently onboard to Azure and getting them on the right track to build it right, architect it right, the first time. FT takes a solution-centric approach and provides customers with Engineering resources, best practices, tools and resources that drive Azure usage.

Are you moving

We are not moving, I’ll be doing most of my work from home and besides the new challenges really look forward to traveling less.

Why are you taking on a new role

I have enjoyed working as a Cloud Solution Architect these last 4 years, it’s been a pleasure to work with some of our largest customers, provide guidance and sometimes guardrails. Mentoring and proctoring our new hires, and working in such a strong and high performing team.

There’s a couple of reasons, most of all, I felt I had done all I needed to do in the role. I’ve been traveling a lot, and moving to a team that does most of our work remote, means I will get to spend more days in my office at home. Lastly I’m really looking forward to getting back to a role that’s primarily about coaching and providing guidance to my community, and have a greater impact that way. With that being said, it is a role of a playing coach, so I will still sometimes get to lace up my boot and take to the field, and have that direct interaction with our customers that I appreciate.

Do reach out if you want to hear more or if you want to learn more about the team and what we do!

Categories
Work

Running Hacks – A little structure goes a long way

I’ve been running a lot of hacks/hackathons call them what you will, throughout my career. I’ve found a little bit of structure goes a long way, so I’ve been working on a framework to help better facilitate hacks. This blog post is meant as a guide to running successful hacks, as well as a curious outreach for comments and questions.

It’s based on various engagements, trying out different interations of the following framework, and based on the Microsoft leadership principles: Create Clarity, Generate Energy and Deliver Success.

Hopefully reading this guide, will make your next participation in a hack type situation more successful! Either way, please leave a comment or send me and e-mail. I want to learn from you!

What’s our definition of a Hack?

Duration

A shorter but multi-day (3 or 4 days work best) engagement with a team, that focused on hands-on deliveries.

Process

The X-day event is meant as an open, collaborative learning experience. We want to apply our best hacking and creative problem-solving skills, to the use cases and work together, to find the best solutions for out goal. Be prepared: make sure everyone has access, connectivity etc. in advance.

Goal (examples)

Provide focused implementation help and guidance to accelerate the Azure migration engagement.

Typical Agenda

Day 1

09:00 AM  Introductions to team members

09:30 AM  Introductions to use cases and open discussion

11:00 AM  Division into teams – and hacking

4:00 PM  Stand-up

6:00 PM  Dinner (optional but encouraged)

Day X (everything but first and last)

09:00 AM  Stand-up

09:30 AM  Hacking

4:00 PM  Stand-up

Last Day

09:00 AM  Stand-up

2:00 PM  Team demos

Introductions to use cases and open discussion

Each Use Case Owner present his/hers use case(s) and writes a heading on a whiteboard or flip-over. The headings are used for the next exercise.

Each participant gets 2 or 3 sticky notes, where they can write their name and number. These represent the priority of the participant, to be part of that particular use case team.

Create Clarity and make sure there is time to ask question, and everyone has clear understanding of the use cases.

This is your first opportunity to Generate Energy! Use it wisely, make sure it’s a little fast-paced and there’s excitement for the different use cases.

Morning Stand-up

The purpose of a structured morning stand-up, is to make sure each participant knows what to do for the day.

You can easily Create Clarity with the following question to each participant: “What is your destination for the day, and what road do you intend to follow?”

I often explain it as this; think of it as a punching in your destination into a GPS, you then have a goal and an expected route to follow. If you feel you need to take a break on your road there, or take a different route, that you think is faster once you start discovering your current route. Feel free to do so.

A good way to Generate Energy is to celebrate one or more successes from the day before. For instance naming the winner of the crown award (see afternoon standup)

Finish with “What questions can I answer?” “Is everyone getting the help they need?” To make sure everyone has the clarity they need for the day to be successful. Remember don’t fall into the trap, Stand-ups are NOT MEANT FOR PROBLEM SOLVING

Afternoon Stand-up

Create Clarity for the team and get them to start thinking about tomorrow. The question I use here:

“Did you end up where you wanted to go, and did you take the road you thought you would take there?”

Deliver success; this is a perfect time to talk about the success of the day. There’s plenty of agile retrospective tools that could be useful here, personally I go with the the four emoji squares (the squares are deliberately 3 positive and 1 negative). Every participants write post-its and place them in the appropriate categories.

What did I try today, that was successful!

What did I try today, that didn’t go well.

What great ideas do I have for myself or others to try!

Who did I appreciate today!

Finish with “What questions can I answer?” “Is everyone getting the help they need?”

Remember these are NOT MEANT FOR PROBLEM SOLVING!

Retrospective squares from recent hack

Team demos

The last part of the event, is the team demos. This is the chance for the various hack teams to shine. Often we will invite a broader team to these and include managers, steering-commitee members, sponsors etc.

Deliver Success make sure to talk about the success of the event, I often share either all the retrospectives or selected passages. You can also use it as a good time to highlight the crown winners, and talk about other successful moments from the event.

Each team gets a 15-minute demo, it’s a hands-on event, it should have a live demo

Lastly a conclusion. We expect this X-day event, helped us achieve Y faster / or Z days faster.

Thank you

Thank you to everyone that has been my inspiration for this Richard Spitz, Brian Loeffler, Brig Lamoreaux and Stephanie Lemus. Any mistakes in this are of course my own.

All emojis designed by OpenMoji – the open-source emoji and icon project. License: CC BY-SA 4.0

Categories
Work

Deploying thousands of VMs in VM Scale Sets (*quickly)

I recently worked with a customer who wanted to deploy thousands of the same VM to run various build(s) and test(s). They wanted to do this quickly, to make sure the engineers had results ASAP. To do some tests beforehand I came up with this little script, that takes a config file and other parameters and deploys a numbers of VMs in Scale Sets from a VM template.

Each line in the config file file looks like this:

MyVmss1 100 Win2016Datacenter Standard_D2s_v3 10.0.0.0/24

Values are seperated by spaces, the values are: Name Count Image Size IPs

I found that creating the VNet as part of the Scale Set create command was around 30 seconds faster per Scale Set.

The script also has 3 parameters useful for running it in parallel

$1 Inputfile – path to the input file to use

$2 Location – AZ region to use (use az account list-locations to get all locations)

$3 RGName – Name of the Resource Group to use

To run the script in parallel, just use multiple terminal sessions at the same time with different input files.