Another Successful ThatConference!
For the second straight year, I attended ThatConference and I couldn't be more excited to share my experiences. Billed as "The Summer Camp for Geeks", ThatConference offers three days packed with sessions on a wide variety of topics around web, mobile and cloud technologies. The most unique part of the conference is that family is welcome to the conference with a strong offer of sessions for various age groups. I'm going to cover a couple of the sessions that I attended, giving you both highlights of the session and some of my opinions. Near the end, I'll also cover some of the additional details around the conference in case you would be interested in coming next year.
Keynote - The Future of Software - (Uncle) Robert Martin
"Where are we going? What is the future of software development? To answer that, Uncle Bob will take us on a trip through our colorful past. He'll describe the trajectory of software development from the 1940s to through the 1990s and into 2015. And then he'll turn 180 degrees and show where that trajectory will lead us."
While I was aware of who Bob Martin was, this was the first time that I have seen him speak in person. Bob covered how development grew through the 1940s-1970s, starting with Alan Turing. The key thing he stressed was that. early on, craftsmanship was extremely important. As the number of computers increased, the number of developers also increased; though, the rate was manageable due to cost. Businesses would take their smartest people, with a mixture of men and women, and put them in charge of developing for the computer. When IBM released a more affordable computer, businesses flocked to buy them. This resulted in a glut of computers, but a shortage of people who could program them. Businesses turned to very young, male students as they were highly energetic and very cheap. Because these students were unskilled, processes needed to be put in place, which led to the development of Waterfall as a methodology.
Next, Bob covered the past 15-20 years. Most of the young, male students from the 70s had matured and gained experience leading into the 1990s. As computing became more of a profession, technology leaders looked to address the issue of craftsmanship. He covered how Agile came about (Bob was a co-author of the Agile Manifesto). Specifically, he detailed how Agile was a direct challenge to the Waterfall method and the complex processes that were in place. He then evolved the story by noting the challenges that are now facing Agile. He noted how business users flocked to Agile; however, they really only understood how it impacts business processing. Craftsmanship is still a second-class citizen. Therefore, Agile projects tend to start out well, but often just become a mess over time as the quality is still not there.
Finally, Bob provided his take on what the future may hold. He started by addressing the possibility of standardizing our profession. This would mean programmers would need to be "certified", very much like a lawyer or doctor. His argument was compelling. You need only look around at how technology is being used today. Its everywhere. The average car now has software with millions of lines of code. Any failure in quality could result in loss of life. As more applications of technology are discovered, it will become even more important to focus on quality. He also called out for a merger of the Agile and Craftsmanship movements to help realize a standardized profession. Bob also painted a bleak picture if we are not able to standardize. The potential risk being a mass casualty caused by poor-quality software.
The part of Bob's keynote that resonated most with me was the continued need to promote craftsmanship and find a way to have the Agile and Craftsmanship camps co-exist successfully. While I am not sure I agree with requiring software developers to be "licensed to practice", I do think we need to push harder than ever to define standards. We need to challenge standards bodies to drive key areas of software practice, most importantly where there is impact to human life and impact to our financial well-being. The concept of an apprenticeship is certainly one that should be popularized.
If you would like to read more from Bob Martin, his website is http://blog.cleancoder.com and his twitter handle is @unclebobmartin.
Stronger, Smarter, Faster: Angular 2 - Joe Eames
"Even though Angular 1's popularity isn't beginning to crest, the Angular team is already innovating with Angular 2. Built on web standards, Angular 2 doesn't take the typical v2 approach with just a few iterative changes. Angular 2 is almost an entirely new framework, with almost as many differences as similarities. Ultimately this is a good thing because Angular 2 is vastly improved over the awesome goodness that is Angular 1. This session will show you the current state of Angular 2, how to play with it right now, the differences between Angular 1, and most importantly, the similarities which will help you get going with Angular 2 so that you are ready when it launches"
As Joe Eames is an Angular Google Development Expert and organizer of ng-conf, I expected a lot of good information from his presentation. The presentation started out with a laundry list of questions as an unscientific poll. His first question was how many people were running Angular 1 in production today. A major portion of the attendees had their hand raised (no surprise given the topic). He then polled for "how big is your code?" Surprisingly, the number of hands for an application over 10,000 lines of Angular code was quite high; though, I'm not sure how many of those people actually track the number of lines in their app and/or know the number off hand. Next, he asked how many people have had performance issues with Angular 1. Again I was surprised, this time that so few people had raised their hands. Next, he asked how many people think Angular 2 is needed. Similar to the performance question, very few people raised their hand. The people that did raise their hand were asked why they think Angular 2 is necessary. One individual noted that they wanted Angular 2 to be more opinionated. A second individual wanted less injection into their HTML code. A third wanted a more robust routing framework.
After the questions, Joe started by couching his presentation with where Angular 2 was at. He noted that while its stable/working, its also still in a development phase and not ready for prime-time. He said that he thinks it will be coming in the next 12 months. To give some understanding of the current state, he said that a demo he did a month ago no longer works with the latest build. Another key thing he noted was the lack of documentation, and more importantly, testing support. This will likely be coming in the near future. Some of the inspiration for Angular 2 comes from the Elm programming language (http://elm-lang.org/).
Finally, Joe dove into some of the features found in Angular 2. The most notable shift is the change in support for two-way binding. This is part of the shift towards improved speed for the framework. Other changes include options for transpiling and a change in directives.
Overall, I walked away from the presentation feeling a lot more comfortable about the direction that Angular 2 is taking; though, I think there is still a way to go before it will begin to be adopted regularly by application teams.
ThatConference is held in August at the Kalahari Resort in the Wisconsin Dells, Wisconsin. The two sessions I covered are only a small fraction of the events held over a five-day period. Along with the great sessions, there are also ample opportunities to network, speak with vendors and just have fun. Here are some of my highlights:
- GiveCamp is an opportunity to spend the weekend prior to the start of the conference as a volunteer. As part of GiveCamp, volunteers code features for the Humanitarian Toolbox, which supports disaster relief. You can find more about the Humanitarian Toolbox at: http://www.htbox.org/
- Open Sessions are an opportunity to have an open discussion around a topic with fellow attendees. Sitting in a circle of chairs, you are given the opportunity to openly chat about anything from a technology topic to leadership practices to motorcycles. I find Open Sessions to be one of the most rewarding activities at the conference as its always great to get feedback on your ideas and hear how others are dealing with challenges that you may be facing.
- The night before the conference ends, the indoor waterpark is rented out from 10:30 PM until 2AM for conference attendees only. Its a really wonderful time, especially if you have kids.
- Speaking of kids, the conference does a great job of incorporating families into the format. My daughter got to build a Minecraft server, build a Minecraft mod, use Minecraft command blocks and build robots. The Timbavati wildlife park brings in several of their exotic animals and does a presentation of the animals to the families. There is also a game night where a pinewood derby was held this year along with a variety of board games.
- Finally, the last afternoon of the conference, a pig roast is held. All the bacon and smores you can eat.
If you are interested in attending next year, the conference is very affordable and a lot of fun. You can find more at: https://www.thatconference.com