Uncategorized

So I finally attended Microsoft Build for the first time.

It did feel like a lot of other conferences I’ve been at. It was great to be able to chat with developers that directly work on the products I leverage. It is clear that we are in a Machine Learning and AI battlefield. Both Microsoft and Google are fighting to be the king of this territory. One big difference is that Google is fighting two battles where is it appears Microsoft is really only facing one. In Google’s case they are chasing Machine Learning and AI as well as the dominant mobile platform in which the are battling Apple.

Both Google and Microsoft have cloud services that provide Machine Learning or AI capabilities. A lot of them are very similar. It really feels like they are all playing from the same playbook. Even when it comes to specialized hardware. Google has it’s TPUs while Microsoft is running FPGAs.

Another area that Microsoft and Google share is digital assistants. Amazon owns this space today but now Microsoft is partnered to get Cortona on their Assistant. The two companies see the play that all digital assistances can play in the same world. Each will have their specialties making one better for something than another. Google is not in that mix of sharing at this point. They are making major leaps forward by leverage their AI/ML capabilities. Their demo of Google Assistant calling to make an appointment via Natural Language Processing shows an interesting world were digital assistance can really carry out many tasks. I think it is just a matter of time before these digital assistants turn into robotic assistants. I for one am ready for my R2D2 unit. Bring it.

Google of course has the one market of mobile that Microsoft does not directly have. Google announced their Android P Beta which will be the next wave of Android. I actually thought it was interesting seeing them take a lot of Apple’s gestures and take them a step further. Microsoft though does have a mobile play through Timeline and their Android Launcher. They also have integration with Android which allows them to bring SMS messages into Windows similar to iMessage for Apple fans.

This competition over AI as well as other areas will only benefit us all as we move forward. If we didn’t have these kind of innovations going head to head there wouldn’t be any incentive to do more. I am very excited to see where this goes. I wish there was more to be honest but I’m alright with the way things are being released frequently as well.

So today I am heading to Seattle for my first Microsoft Build Conference visit. I’ve been to a couple of larger conferences in the past like WWDC and AWS RE:Invent, but I’ve never made it to Build. I figured I would post my first thoughts before the conference on what I expect to hear from Microsoft and see how it turns out.

I have high expectations that a lot of the discussions and announcements will center around Data and AI. This will range from tools and services to make it easier to ingest data from your sources where ever they are. This will be followed with more tools around Machine Learning and the like. Microsoft’s past endeavors in this space have been about democratizing AI and Machine Learning.

I would like to see information about HoloLens 2 personally and where the direction of that platform is going along with more mixed reality stuff but that is more of a personal interest than work related for me.

I expect to see more cross platform tooling to follow the moniker of “Any Developer, Any App, Any Platform.” The fact that I jump platforms on a regular basis this is very beneficial. Visual Studio Code has became my default visual editor (with vim bindings of course). I’d like to see more tooling around building Progressive Web Applications. Based on the session list there will be some content on this topic. I feel that this platform has some potential as long as the vendors can all get along and make it happen correctly and not diverge.

I’m going to be trying to travel light this year. I’m only bringing my iPad Pro and my iPhone. The goal for me is to see if I can do any development through virtual machines in Azure if I want to play with anything. I want to see how light I can travel. I tend to bring a laptop with me all the time and barely use it. We shall see how well I can do this on this trip.

If you are at Microsoft Build this year and want to catch up ping me.

As promised I’ve created a little video tonight on me learning to use blender. Tonight’s model is a Low Poly Tree. I show some techniques I would have normally used but I’ve learned some things from another YouTube person Grant Abbitt that I share as well. Grant definitely deserves a lot of credit as he does a great job on his channel. Please check out his work too as he is a true professional versus me who is just dabbling and learning currently.

And with here you are my first Blender video in my series of learning Blender.

 

Have an idea of something I should try to create? Leave me a comment and maybe you will see that in my video later this week or next week.

Consistently throughout my career I’ve ran into situations where problems happen within engineering teams. I’ve heard war stories from others at conferences regarding team issues. It continues to baffle me why engineers can solve technical problems but not human issues. The primary reasons I decided that a software engineering career for me was that I love to solve problems. I’m hoping that others joined a career of engineering for the same reason. Why then do we not treat non-technical problems the same was as any engineering problem.

Think of it this way. Let’s say you have a performance problem with your web application. The first thing we probably do is think through the potential areas the problem could exist.

Potential Causes

  1. Resource Sizes
  2. Database locking
  3. File sizes
  4. Missing caching
  5. Etc.

Then we determine a way to prove them. After that we replicate the issue and work toward a solution. Why can’t we do the same thing with team problems?

Let’s take a scenario of performance to the people side. Let’s say that our scrum team that continues to not deliver on our commitments. Wouldn’t we think through the problem the same way? Let’s look at potential causes.

Potential Causes

  1. Underestimation
  2. To much external noise
  3. Client issues
  4. Inter-team conflicts
  5. Etc.

The next step would be to determine how to prove which one of the causes it really is. Let’s think through this a little further.

1. Underestimation

For number one we could just pull back our estimates for a few sprints or automatically add buffer to our sizing strategy to create buffer till we actually meet our commitment.

2. To much external noise

For number two we could start to track the external disrupters. This could be logging how many non engineering related meetings we have.

3. Client Issues

For number three we could probably just look at our ticket system to determine how often we are getting said number of tickets which could lead to number two being the problem again.

4. Inter-team conflict

As for number 4 that one is tougher. This could be done by getting HR or outside counsel to talk to team members to find out if there seems to be issues. This is sort of the elephant in the room problem though and it depends how easy your team is willing to have open conversation in the end.

Either way the same practices we do to solve engineering problems can be applied to any other issue we run against. I still find it very hard to believe how many times I run into teams or hear stories about how someone continues to come to management or others with problems without ever applying basic troubleshooting steps to their problem. Maybe if we took ever problem on similar to our engineering tool belt we would get to resolution much faster.

To me engineering is all about solving problems and we should use the skills to solve any problem we have. It’s a game to me. I really enjoy it, which is why I got into this career.

Have you ran into engineers being unwilling to solve problems that are not technology related? How did you get past the problems?

Well…I haven’t been doing a good job of blogging recently. Life has been busy for me. I’ve been keeping up on my technology but also working on music. I’ve been getting better and better at guitar recently. I’ll probably be doing some live streams eventually as well. This week is That Conference and I’m camping for realz at my summer camp for geeks.

I’ll do some posting this week of what I learn as well as some of the side topics that happen. One of the greatest things greatest things about getting together with a bunch of other geeks is that we get to share our experiences and advice. The speakers are great but sometimes the hallway conversations are even deeper. I can’t wait to get to interact with a bunch of fellow geeks.

One topic I’m looking to bring up is managing very large project teams. The current project I’m over has 11 scrum teams and continues to grow. I think I have some new insights for folks that I would love to share.

If you are at That Conference come chat.

So I’ve made my commitment to improve my drawing ability. I’ve been drawing daily since the 22nd of December actually and have seen some progress already. It really is true practice makes perfect. I’m definitely not moving as fast as I would like but that is because I’m very impatient. Either way I feel I’ve made some steps in the right direction.

I’ve created a page for all of my drawings to be displayed. Below is just one of the drawings I’ve done so far. I’m continuing to work on it as well so it will evolve. I will probably bounce around between it and other work to keep things fresh though. I have a hit list of technical skills I want to learn which include using silhouettes for character development to learning better coloring techniques.

daytwoskeleton

If you are interested in following my work check back from time to time and look at my drawings page.