November 1st, 2014

Iowa Code Camp - Fall 2014 - Speakers


Registration is now open! Register now!

Get the schedule, session lists and speaker bios on our mobile app.
Android | iOS | Windows Phone


Austin Thompson

Austin Thompson is a software engineer with a love of learning and 15 years of professional experience. Currently a full stack developer using Microsoft technologies and AngularJS, he at one time owned only Linux machines while developing embedded systems in C/C++. When not spending time with his family he can be found working on his Windows Phone apps and open source tools. - www.gettingdevdone.com @austhomp

9:00 AM - 10:15 AM : Room D (30) : Intro to Translation: From Zero to Implementation (Level: 100)

Ben Northway

I am a recovering Windows server administrator and now I develop web apps full time. When my code is compiling, I enjoy riding motorcycles, advancing the cause of liberty, hanging out with my friends, and reading. I have never received an order under Section 215 of the USA Patriot Act. I would expect to challenge such an order if served on me. - pixelchef.net @northben

12:45 PM - 2:00 PM : Room F (30) : The birds and the B-Trees (Level: 100)

Benoy John

Benoy John is a Software Engineering Professional/Agile Development Coach with experience in all phases of product development and design aspects. He continues to help organizations to figure out better ways to deliver value through improving software development practices and improving business process. He works as Technical Mentor/Coach at both the Leadership and Team levels, building the supporting agile adoption framework, providing agile adoption guidance to leadership, and working with the team on the execution of proven practices and techniques that bring agility to the projects. He is actively involved in Agile Coaching, mentoring, training and building high performance professional agile teams. He has great passion in Test Driven Development, Business Driven Development and Domain Driven Design practices in software development and believes in collaboration and team work for success. - http://valayathil.blogspot.com/ @benoyjohnv

2:15 PM - 3:30 PM : Room G (30) : Domain Driven Design Building blocks, Entities, Value Objects and Aggregates (Level: 100)

Brent Edwards

Brent Edwards is a Principal Lead Consultant for Magenic. He is an accomplished software developer, architect, mentor, and speaker with over 9 years of experience developing innovative solutions with Microsoft technologies. Brent has worked on projects with ASP.NET MVC and jQuery, WPF, Silverlight, and Windows 8. He is also the author of Charmed (https://github.com/brentedwards/Charmed), an open source, cross-platform MVVM support library for Windows 8 and Windows Phone 8. In addition to working with Microsoft technologies, Brent is also an accomplished Android developer whose apps have more than two million downloads. When not cranking out code, you can find him hanging out with his wife and four kids or riding his wakeboard, snowboard or mountain bike. Check out his blog at http://brentedwards.net and follow him on twitter @brentledwards. - http://brentedwards.net/ @brentledwards

3:45 PM - 5:00 PM : Room D (30) : Building a Modern Windows App (Level: 200)

Cecil Williams

Cecil G. Williams is an agile coach and senior software engineer at Source Allies, director of curriculum for Tech Journey, and an adjunct instructor & tutor in information technology at Kaplan University. Cecil can be heard presenting at local events and his insights are published on the Source Allies blog. Cecil was a technical lead on the project team featured in Chapter 14 of *Specification by Example - How Successful Teams Deliver the Right Software* (2011, Manning). Cecil has worked with companies of all sizes including General Dynamics, Verizon, Monsanto, Telligen, Ryko, and Iowa Student Loan. Cecil has helped teams successfully adopt Scrum, XP, and Kanban processes. Cecil has held various information technology positions including agile coach, software development manager, technical lead, system administrator, and software developer. Cecil holds masters degrees in business administration and information technology, along with a bachelors degree in nuclear engineering. Cecil uses his more than 20 years of information technology experience combined with his more than 7 years of university teaching experience to share his knowledge on agile and many of the software development engineering practices. - http://blogs.sourceallies.com @cecilgwilliams

10:30 AM - 11:45 AM : Room G (30) : TDD Workshop (Level: 100)

Chad Brewbaker

Chad Brewbaker was a teaching assistant for many semesters of introduction to programming at both Drake University and Iowa State University. He is now cofounder of DataCulture LLC, and a contract software engineer in the Des Moines area with a passion for testing and scalable computing. - http://chadbrewbaker.github.io @cbrewbs

9:00 AM - 10:15 AM : Room H (30) : Introduction to Functional Programming Lab Session (Level: 200)

Chris Ortman

Chris has spent the last decade helping teams build web apps and api's ranging from real time telecommunications to golfing startups and local search engines. He is a newly minted Iowegian and now does rails for UI. He founded the South Dakota DNUG, co-organizes South Dakota Code Camp, and is a former INETA regional mentor. - chrisortman.com @chriso

9:00 AM - 10:15 AM : Room A (50) : Build a cloud enabled iOS app with Xamarin (Level: 100)

Chuck Rolek

Fueled by silliness and coffee I try to create efficiency in everything I and others do. My specialties are Front-end development, architecture, continuous integration, and bringing much needed innovation to enterprises. I absolutely love technology and spend a vast majority of my time learning about it or teaching it to others. - chuckrolek.com @crolek

10:30 AM - 11:45 AM : Room C (30) : Intro to Grunt: Stop doing things manually (Level: 100)

Darren Cauthon

Darren uses TDD to write production code. - http://github.com/darrencauthon @darrencauthon

9:00 AM - 10:15 AM : Room G (30) : Bringing Unit Testing and TDD To Rails (Level: 100)

David W. Body

David W. Body is an independent software developer, founder of the Iowa Ruby Brigade, and avid runner. - https://www.bigcreek.com/ @david_body

3:45 PM - 5:00 PM : Room F (30) : Git Demystified (Level: 100)

DJ Daugherty

DJ has been using state models and asynchronous processing for many years to solve business problems for companies of all sizes. As small as a logistics software company responsible for the routing of trucks, a web hosting company responsible for the handling of website malware detection, to large-scale financial electronic processing and natural gas logistics management. I currently freelance within the technology and agile world along side Pillar Technology Consultants. I like to create business solutions for business problems... this might include the use of technology. I am all about people. I love to take seemingly complex problems and find simple solutions, providing business value and hopefully a great return on investment. I am a big fan of the under-rated vi editor and I love to eat, sleep, and breathe... fly fishing and drones! - @ddaugher

12:45 PM - 2:00 PM : Room G (30) : why tests provide more than code coverage... the business value behind a test. (Level: 200)

Dru Sellers

In the world of .NET Open Source community, Dru is a familiar name. Part of the team that brought you Topshelf (a framework for simplifying service hosting on Windows and UNIX) and MassTransit (a distributed application framework), he is also one of the committers for the Castle Project project as well as FubuMVC, an Open Source MVC framework for ASP.NET. - http://drusellers.com @drusellers

9:00 AM - 10:15 AM : Room E (30) : ELK (Level: 100)

Dustin Thostenson

Dustin Thostenson is an independent .NET consultant, leading Delta3Consulting. He has been a developer and trainer in the Des Moines, Iowa area for the last decade and a half. Experiences span from developer to educator to architecture and mentoring roles. To keep it interesting he helps lead the Iowa .NET User Group and volunteers in Central Iowa. To keep it real he spends time with his wife and 4 kids. To keep it random he tweets @dustinson -

10:30 AM - 11:45 AM : Room A (50) : FDD: Navigating Independent Consulting with Failure Driven Development (Level: 100)

Iowa Code Camp

Sessions presented by Iowa Code Camp. - http://www.iowacodecamp.com @iowacodecamp

8:40 AM - 9:00 AM : Room A (50) : Opening session (Level: 100)

11:45 AM - 12:45 PM : Room B (50) : Lunch (Level: 100)

Jason Bock

Jason Bock is a Practice Lead for Magenic (http://www.magenic.com) and a Microsoft MVP (C#). He has worked on a number of business applications using a diverse set of substrates and languages such as C#, .NET, and Java. He is the author of "Metaprogramming in .NET", "Applied .NET Attributes", and "CIL Programming: Under the Hood of .NET". He has written numerous articles on software development issues and has presented at a number of conferences and user groups. He is a leader of the Twin Cities Code Camp (http://www.twincitiescodecamp.com). Jason holds a Master's degree in Electrical Engineering from Marquette University. Visit his web site at http://www.jasonbock.net. - http://jasonbock.net @jasonbock

2:15 PM - 3:30 PM : Room D (30) : Code Reactions - An Introduction to Reactive Extensions (Level: 200)

Javier Lozano

Javier is principal for lozanotek, a .NET focused software development boutique based in Des Moines, IA. His specializations are in ASP.NET, Azure, system design, and developer mentoring. Javier is also an ASP.NET Insider, Azure Insider, and ASP.NET MVP for all of his contributions to products and community. For fun, Javier runs and manages the popular dotnetConf and aspConf virtual conferences. He's is an avid supporter of the community and likes to give back by speaking at user groups, local/regional/national .NET events. In his spare time, Javier loves spending time with his family and enjoys writing about himself in the third person. - http://jglozano.io @jglozano

12:45 PM - 2:00 PM : Room A (50) : ASP.NET vNext Unleashed (Level: 200)

Jenn Strater

Jennifer "Jenn" Strater is a Software Engineer at Altegra Health and Co-Founder of Gr8Ladies, an organization for the support women in the Gr8 community. She uses Groovy and Grails daily and is an active participant in the Gr8 community. She regularly attends the local user group, GroovyMN, and annual conferences including Gr8ConfUS. Jenn also presents introductory interactive sessions at various Minnesota tech events including as part of the Gr8Workshops initiative and national conferences including the Grace Hopper Celebration of Women in Computing. - http://gr8ladies.org @jennstrater

12:45 PM - 2:00 PM : Room B (50) : Groovy at Gr8Ladies (Level: 100)

Joel "Danger" Taddei

I am a Sr. Programmer Analyst with the IMT group where I spends my days writing code and fixing bugs. I enjoy running and biking and to top both off with some scotch. - http://joel.io @taddeimania

9:00 AM - 10:15 AM : Room B (50) : Supercharging your static sites with Jekyll (Level: 100)

Jon von Gillern

Jon is a C# MVP and Consultant from West Des Moines, Iowa. He became interested in code in his junior high programming class when, in a ""delusion of grandeur"", Jon convinced himself he found a pattern to prime numbers using BASIC-A. Although deflated after realizing his theory was quite silly, his passion for writing software flourished and Jon continued on to get a degree in Computer Engineering from Iowa State University. He has been paid to develop everything from Excel Macros to large scale genetic visualizations using WPF. Currently, Jon is the tech lead for two new developer tools - Nitriq Code Analysis and Atomiq Duplicate Code Finder. - http://blog.nitriq.com @vongillern

2:15 PM - 3:30 PM : Room A (50) : Data Viz 101 (Level: 100)

Jonathan Mills

With over 18 years of experience in Software Development and Management, Jon has led and built agile teams in a wide range of environments from small start-ups to large scale financial institutions. As a skilled mentor and international speaker, Jon has the opportunity to promote positive management practices and personal development skills to developers and managers in many different situations. As a director at PaigeTechnologies, Jon has the opportunity to help hiring managers identify and attract the best possible candidates for their IT needs. Jon is also able to work with potential candidates to teach them the skills necessary in the ever changing technology field. - http://jonathanfmills.com @jonathanfmills

10:30 AM - 11:45 AM : Room E (30) : Aggregate your Data with MongoDB (Level: 200)

Keith Dahlby

Keith Dahlby is a father, web developer, Git enthusiast, language geek and five-time C# MVP from Cedar Rapids, Iowa. By day he engineers e-commerce solutions for J&P Cycles and the Motorsport Aftermarket Group; by night he sometimes blogs with Los Techies. His open source efforts include posh-git, a Git environment for PowerShell; and up-for-grabs.net, a site featuring open source projects looking to mentor new contributors. He's also a core contributor to LibGit2Sharp, used by GitHub for Windows and Git for Visual Studio. Keith studied Computer Engineering and Human-Computer Interaction at Iowa State University, and has spoken at developer events around the world. His talks have been described as "terrific!", "very interactive!", and "the best I've seen all hour!". - http://keith.lostechies.com/ @dahlbyk

2:15 PM - 3:30 PM : Room B (50) : One Delegate to Rule Them All: Understanding OWIN (Level: 200)

Linda Oyolu

After erasing the operating system from her graphing calculator, Linda Oyolu decided that professional development was the path for her. She has a broad range of technology-related interests ranging from digital forensics to geographic information systems. This past summer she completed the Dev/Iowa bootcamp and she is interested in computing for social good. Follow @linda_gccs - @linda_gccs

9:00 AM - 10:15 AM : Room C (30) : Decoding Javascript: Principles of Documentation & Great Documentation Generators (Level: 100)

Lwin Maung

Lwin Maung is an expert on mechatronics with over 9 years of consulting experience. He has consulted for small startups, fortune 500 companies as well as NGOs world wide. Lwin's mobile applications have been featured on technology sites such as engadget, gizmodo, and pocket now. He has also designed and created programmable microcontrollers as well as microcontroller controlled robots from the ground up to use in teaching children(and teens) simple programming. In his free time, Lwin teaches and mentors highschool and university students who are building applications and developing hardware prototypes. - http://lwin.maungs.com @lmaung

10:30 AM - 11:45 AM : Room D (30) : Every developer can write games (Level: 100)

M.J. Hoag

M.J. is a Lisper who currently writes PHP for a living, a state of affairs once described with the phrase "talk about Dr. Jekyll / Mr. Hyde". He is not very good at writing bios. - http://blog.kepibu.org/

12:45 PM - 2:00 PM : Room E (30) : The Terrible, Horrible, No Good, Very Bad Things I Do to PHP (Level: 200)

Matthew Nuzum

Matt is a web developer, open source enthusiast and avid reader with a passion to help others learn. - http://www.bearfruit.org/ @newz2000

10:30 AM - 11:45 AM : Room B (50) : RESTful web applications with Node.js and Sails (Level: 200)

Michael Frain

Michael Frain has been a software developer for the last five years, focusing on apps for both iPhone and iPad. Currently working for Hudl in Lincoln, Nebraska, he has worked on apps for Hilton, Draftpedia, and Final Draft. Prior to becoming an engineer, Michael was a studio musician for ten years, performing and touring in Chicago and Los Angeles. Michael now permanently resides in Los Angeles, and in addition to being an iOS guru is a college football official. - @TheHudlReferee

10:30 AM - 11:45 AM : Room H (30) : Swift and Cocoa: New ways, old patterns (Level: 200)

Mike Cole

Mike Cole is a developer currently focusing on .NET working remotely from Cedar Falls for ClickPoint Software in Scottsdale, AZ. He's been around the proverbial block in the IT profession and has a wide array of experience in many fields. He is an officer of the CVINETA user group and is actively involved in the community. He is incredibly lazy and is always looking for easier and more streamlined ways to solve everyday problems. His passions in life include his family, sarcastic memes, the outdoors, and always having the last word. - http://colemike.com/ @colemike

3:45 PM - 5:00 PM : Room B (50) : How Getting Involved In The Community Changed My Life (Level: 100)

Min Maung

Name a new technology that Min isn't interested in. Min has developed on all mobile platforms from latest Windows 8 to Windows Mobile 6.5. Of course that also means that he has had countless smartphones and tablets. Min is often honing his skills by aggressively competing in hackathons dating back to his days at Dominican University. Being technologically agnostic, he does not stop tinkering with mobile platforms like Android, he creates his own personal microcontrollers for robotics projects. When he's not coding, he's building robots. When he's not adding more robots to his robot army, you will see him speaking at conferences such as That Conference and CodeMash. Monday through Friday, you'll find him at a leading, privately-held payroll and HR software solutions company, cranking out .Net code and writing apps in ASP.Net, KendoUI, Knockout.js, Node.js, and other web solutions. - http://www.ByteACode.com @IAmMinMaung

3:45 PM - 5:00 PM : Room A (50) : Introduction To 3D Printing and G-Code (Level: 100)

Min Maung & Lwin Maung

Min Maung: Name a new technology that Min isn't interested in. Min has developed on all mobile platforms from latest Windows 8 to Windows Mobile 6.5. Of course that also means that he has had countless smartphones and tablets. Min is often honing his skills by aggressively competing in hackathons dating back to his days at Dominican University. Being technologically agnostic, he does not stop tinkering with mobile platforms like Android, he creates his own personal microcontrollers for robotics projects. When he's not coding, he's building robots. When he's not adding more robots to his robot army, you will see him speaking at conferences such as That Conference and CodeMash. Monday through Friday, you'll find him at a leading, privately-held payroll and HR software solutions company, cranking out .Net code and writing apps in ASP.Net, KendoUI, Knockout.js, Node.js, and other web solutions. Lwin Maung: Lwin Maung is a Microsoft Client Development MVP and an expert on mechatronics with over 9 years of consulting experience. He has consulted for small startups, fortune 500 companies as well as NGOs world wide. Lwin's mobile applications have been featured on technology sites such as engadget, gizmodo, and pocket now. He has also designed and created programmable microcontrollers as well as microcontroller controlled robots from the ground up to use in teaching children(and teens) simple programming. In his free time, Lwin teaches and mentors highschool and university students who are building applications and developing hardware prototypes. - http://lwin.maungs.com http://min.maungs.com @IAmMinMaung @LMaung

12:45 PM - 2:00 PM : Room H (30) : Portable Libraries Will Rock Your Socks Off In Mobile Development (Level: 100)

Mitchel Sellers

Mitchel Sellers, Microsoft C# MVP, is the CEO of IowaComputerGurus a West Des Moines based software development company. Mitchel spends a great deal of time developing software, diagnosing performance issues, and educating others on software development methodologies. He enjoys speaking at code camps and other software development events to help share his experiences and learn from others. When he isn't coding you can often find him flying around in the skies above! - http://www.iowacomputergurus.com @mitchelsellers

12:45 PM - 2:00 PM : Room D (30) : Back to the Basics: LINQ and You! (Level: 100)

Nate Buwalda

Nate is a polyglot (multiple language) developer from the Des Moines area. He has a strong focus on Agile and XP methodologies in addition to constantly branching out into new languages and techniques. In particular, Nate enjoys coding in Scala. His career started in a Java and COBOL polyglot environment and over the last 11 years has progressed through small and large enterprise systems with polyglot challenges. He has spoken at many of the Des Moines software user groups, Iowa Code Camp, and Nebraska Code Camp. Outside of software development, he enjoys off-roading, video games, and keeping up with the newest movies. - @scotchnate

3:45 PM - 5:00 PM : Room G (30) : Getting started with Fake (F# make) (Level: 200)

Nic Grayson

Nic Grayson is UNI graduate and Iowa native originally from Mason City. He has worked for Banno (now Profit Stars) as an Infrastructure Engineer for 4 years configuring and managing the hosting platform. Nic has a special interest in hosting applications at scale. - about.me/nicgrayson @nicgrayson

3:45 PM - 5:00 PM : Room H (30) : Using Docker and Fig to create a local development environment (Level: 200)

Nicholas Starke

Nick Starke is an Iowa based programmer interested in the limits of computer science as well as emerging topics in computer science. - http://blog.alephvoid.com @nstarke

3:45 PM - 5:00 PM : Room E (30) : Esoteric Languages (Level: 100)

Rob Glazebrook

Rob is a Senior Front End Developer for Voce Communications, where he creates shiny new websites for big national brands. A serial hobbyist, Rob currently fills his downtime with running, rowing crew, brewing beer, building HTML5 games, and occasionally writing on his website, CSS Newbie. - http://www.cssnewbie.com/ @robbyg

2:15 PM - 3:30 PM : Room C (30) : Everyday Sass (Level: 100)

3:45 PM - 5:00 PM : Room C (30) : Getting to Know Canvas (Level: 100)

Ross Hendrickson

Ross Hendrickson is a Senior Software Engineer at Workiva in Ames Iowa. A lifelong hacker he has worked on diverse subjects such as machine learning, natural language processing, and distributed calculation engines. He is also contributes to open source projects such as Octoprint (a 3D printer web control system), Furious (a task queue library for Python) and go-learn (A machine learning library for Go). - http://savorywatt.com @savorywatt

2:15 PM - 3:30 PM : Room E (30) : Machine Learning in Go (Level: 300)

Tim VanFosson

Tim VanFosson works as a senior C#/.NET developer at The Nerdery, an interactive development shop with offices in Bloomington MN, Chicago, and Kansas City. Prior to joining The Nerdery Tim wrote software, administered systems, and occasionally (gasp) managed IT workers for 27 years at the University of Iowa. He spends way too much time on Stack Overflow and way too little time on his blog. In addition to leading projects and writing software, Tim mentors other developers and works with the Nerdery's internal cross-training program. He is a graduate of the MOR Associates IT Leadership program. He works from his home in Iowa City. - http://farm-fresh-code.blogspot.com @tvanfosson

2:15 PM - 3:30 PM : Room F (30) : Mentoring: Let's Learn Together (Level: 100)

Tom Henricksen

Who am I? I'm Tom Henricksen from West Des Moines, Iowa. For the past fifteen years Information Technology has been both my career and hobby. Currently I work as a Development Services Manager at Zirous. I am a developer and manager and have been a Scrum Master as well. I enjoy working with people in Technology and speaking about with problems we run into. - http://myitcareercoach.com/ @TomHenricksen

9:00 AM - 10:15 AM : Room F (30) : Good developers read the classics! (Level: 100)

Toran Billups

Toran Billups is a software professional with a passion for all things javascript. When he isn't debating the tradeoffs of one-way vs two-way databinding you can find him teaching 5th grade students python! For anyone interested in my tmux/vim/zsh configuration please refer to the dotfiles below. https://github.com/toranb/dotfiles - http://toranbillups.com @toranb

12:45 PM - 2:00 PM : Room C (30) : Writing maintainable javascript apps quickly with ember.js (Level: 100)

Tyler Treat

Tyler Treat is a software engineer at Workiva. An avid full-stack programmer, he uses technologies like Python, Go, and JavaScript to solve interesting problems. Tyler frequently contributes to open source projects and enjoys blogging about software development. - www.bravenewgeek.com @tyler_treat

10:30 AM - 11:45 AM : Room F (30) : From Mainframe to Microservice: An Introduction to Distributed Systems (Level: 100)

Zac Harlan and Keith Dahlby

Zac Harlan is a applications development manager for J&P Cycles which is based in Anamosa, Iowa. J&P Cycles is the world's leading aftermarket retailer for motorcycle parts and accessories and one of Iowa's largest eCommerce sites. Zac believes in Agile development processes and works to focus his and his teams efforts on "being Agile" more than "doing Agile". As a software professional for well over a decade Zac prides himself on being a "full stack" developer having worked in such industries as eCommerce/retail, manufacturing, telecommunications, and health care. Zac carries with him a pragmatic approach to building software and looks to improve processes that will improve the business, both inside and outside of software. Keith Dahlby is a father, web developer, Git enthusiast, language geek and five-time C# MVP from Cedar Rapids, Iowa. By day he engineers e-commerce solutions for J&P Cycles and the Motorsport Aftermarket Group; by night he sometimes blogs with Los Techies. His open source efforts include posh-git, a Git environment for PowerShell; and up-for-grabs.net, a site featuring open source projects looking to mentor new contributors. He's also a core contributor to LibGit2Sharp, used by GitHub for Windows and Git for Visual Studio. Keith studied Computer Engineering and Human-Computer Interaction at Iowa State University, and has spoken at developer events around the world. His talks have been described as "terrific!", "very interactive!", and "the best I've seen all hour!". - @dahlbyk @ZacHarlan

2:15 PM - 3:30 PM : Room H (30) : When Learning Stops: Recovering from an Expert Beginner (Level: 100)


Session Levels

(see http://blogs.technet.com/b/ieitpro/archive/2006/09/29/459944.aspx)

Level 100 Description:
Introductory and overview material. Assumes little or no expertise with topic and covers topic concepts, functions, features, and benefits.

Level 200 Description:
Intermediate material. Assumes 100-level knowledge and provides specific details about the topic.

Level 300 Description:
Advanced material. Assumes 200-level knowledge, in-depth understanding of features in a real-world environment, and strong coding skills. Provides a detailed technical overview of a subset of product/technology features, covering architecture, performance, migration, deployment, and development.

Level 400 Description:
Expert material. Assumes a deep level of technical knowledge and experience and a detailed, thorough understanding of topic. Provides expert-to-expert interaction and coverage of specialized topics.

Details

Links