My manager Joe (@jo_williamson) asked if I wanted to go to Dev Intersection. I responded by asking if it was a conference. He explained that it was and I said no I'm too busy right now. I'm new to Harris and right now I'm getting settled in on a new project. The project has been very fun but somewhat time consuming. I really just didn't want to take the time away to go to some conference. One reason was for the actual time off and the other because it would hinder my performance because this inside voice would drive my crazy thinking about it. I really dislike travelling as it breaks my daily routine. As any good manager Joe insisted I go. Finally I said sure I'll go... maybe I'll learn something.
Yes, I learned a few things... well more than that. I learned that I was on a fast track to burning out. Yeah eventually I would have crashed and recovered. I have done it before but why go through that? Why not just learn to take short breaks? I do it when I workout so I understand the concept. The problem is that I live software development. It's really hard to explain it to people. I sometimes wonder what people think when they hear that statement.
A bit of background first...
Let me paint a picture. I wake up and the first thing I do is shower. During my shower I map out my day and all the think about all the different task I plan on completing that day. No not task like mowing the lawn, paying bills, or watching a particular TV show this evening but rather all the projects that I'm currently juggling. I have many projects that I work on. Some are Harris projects and others are personal projects. I lay out a game plan on what I want to complete and how it will get done. Generally I take on way more than I can truly handle in a day. When I plan it all out I truly feel I can accomplish it all in the next 15 hours. I usually get to work around 7ish. Work all day on Harris related things then I go home. I workout (another passion of mine), eat supper, then see if the wife wants to do anything. She always has first dibs of my personal time. My wife April Cannon is awesome and I couldn't do this without a very understanding wife. After that I get right back on it. I work until I just cannot think clearly anymore. I then go to bed.
This is a description of a day in the life of Bobby Cannon. Now when I say "work", many people think about that guy in movies and TV shows where their boss demands them to work all the time. No that's not how it works. Technically I would not work if someone demanded it. Matter of fact I told one COO that had just demanded the whole engineering department that there was a mandatory work weekend that I was not coming in without comp time or getting paid. Now if she would have just asked I would have done it without hesitation. Anyway I say all that to explain how I have a hard time distinguishing work from fun. My work is so fun that sometimes I'm truly surprised that someone would actually pay me to do it.
The Architect, the legend
I take the time off and take the long trip to Dev Intersection. It was only two short flights down but I had to spent a lot of time in air ports. The first day was spent in an Architecture session by Juval Lowy. It was awesome. There's many time where I have a thought or feeling but I have a really hard time expressing it. I spent the whole day so excited that here was Juval preaching the truth that I've always known but had such a hard time communicating it. It was awesome but at the same time he put all of us in our place. His favorite question was "if the project fails, who's fault is it"? The only answer he would accept was "ours". I love it. To many times people do not take responsibility and Juval demands it. I came back the next day for a second helping. Juval was giving a talk on project design. This time my project manager attended the same sessions with me. It was great because we both got to hear how every failure of the projects we have been on was our faults and how it was up to us to change it going forward. I really walked away with a sense of expected ownership of "my" projects.
The unexpected challenger
I moved on to my next session by Billy Hollis (@billyhollis). It was labeled as "what do you do". He started out by telling us if we were easily offended that we should go ahead and leave. I was hooked. I love being challenged and offended. It's really hard to offend me but that did not stop Billy from trying. He let us have it. He challenged my thoughts on software engineering. I have to admit that previous to this conference I was a unit testing evangelist. I had it in my head that you MUST unit test everything! I was asked what did people do before unit testing existed? Did that code work? There is only one answer... yes. What about the 10 lines of code that I put in the UI layer to handle some view logic... should that be tested? Should I take the time to figure out how to test 10 lines of code that will probable never change? He had a point... It has changed some of my thoughts on what should and what may not need to be unit tested. I still think unit testing has its place and so does Billy Hollis. He was awesome.
The one and only GU
I then got to get my picture with the GU (@scottgu). Yes, I was able to see the GU in person. Too bad the camera man sucked and took a really bad blurry picture. I'm looking at you Dave. Scott Gu's keynote was just great. The progress Microsoft has made with Azure just cannot be ignored. I already knew most of it because I already host all my projects on Azure. This site is hosted on Azure. Before Azure all my host providers sucked. No not that they were bad but they all sucked. I never have to worry about my sites hosted in Azure. Multiple backups across many different "blocks" (bundle of computers in a trailer). This means if one dies my site never goes down and just keeps working. What more can you ask?
Funny Man Hanselman
I then arrived early to Hanselman's (@shanselman) session. I wanted to get a good seat. I was ~40 minutes early but about 30 minutes later noticed that the room just wasn't filling up as I expected. Turns out I was in the wrong room... facepalm. I jumped one room over and it was crowded. I was still able to get a front seat. Scott was working the room showing all kinds of silly websites and gifs. As always Hanselman is extremely funny and very entertaining. He describe many thing I had already new about but then it happen. He dropped a really awesome bit of code. Just ~25ish lines of code and boom you could import your whole web API into a Chrome extension called Postman. I'll link the blog post on implementing this later. It only took about 15 minutes and I had Postman able to import my whole API. This makes it so easy to test web APIs.
My last session I want to speak on was the session by Denise Jacobs (@denisejacobs) on the "Art of Disciplined Creativity". Again someone who challenged how I thought. She explained how to get in the mood or zone of becoming creative. She described how to be the vessel for all the creative ideas floating around the ether around us. This helps remove the pressure of becoming creative and just becoming the vessel. It was really great and time just flew by.
The sessions were great but I also had the chance to meet other people. I was able to learn more about what other developers are doing in the real world. I met an interesting developer named Joshua Hardy (@JoshuaRHardy). This guy had the same type of energy as me so we had no problem talking shop. We had such a great discussion about Entity Framework, Angular, and other technologies. It was fun meeting new people. I hope they enjoyed the discussions as much as I did.
I was also able to spend some time getting to know more about Dave Bachowski (@DwayneBachowski) my project manager. It was nice just sitting around late into the morning talking about all kinds of crazy stuff. Sometimes I know I get all caught up in the details and forget that project manager's have a different viewing angle. The see and understand details that even I do not get and honestly may never understand. Dave was able to remind me that communication is very important and that it's something I could work on. It's always good to hear good honest feedback. When you do get this kind of feedback be sure to thank the person. They have taken the time to share with you something that they see will make you better. Be smart and take the advice and do you best to learn from it.
Every session I went to was just great. Each one challenging me in its own way. I am still trying to process the information I have received and allow it to change the way I think... the way I live. I learned that software is not just about code. It's also about the people you work with. It's about taking the time to consider others thought and allow yourself time to consider the other view. If you have noticed I have become more challenging and found I'm asking more question then you now you know why. I'm really excited to take what I have learned and change the world around me.
Rock on and Become Epic!