Dave Hoover is an owner of Obtiva. Obtiva is a great craftsman workshop in the Chicago area that focuses on delivering true value for the customers, building software and relationships that are intended to last long-term.
Dave is also a co-author of Apprenticeship Patterns, a (currently) online book containing advice on being an apprentice in the software industry. He's not only an author about apprenticeships, as Obtiva also has an apprenticeship program for their entry-level developers.
I was very excited to get in to Obtiva for several reasons: I only had the opportunity to spend an afternoon there in December (interview with Dave from then); Obtiva is taking part in a Journeyman Exchange program with 8th Light starting April 6; Obtiva is an example of a successful software development shop that emphasis the techniques and practices that I espouse.
In this conversation, we talk about the Journeyman Exchange program, as well as the value and feasability of holding true to your techniques and practices in the 'real world' and still deliver true business value.
Talk with Dave Hoover (February 2009) from Corey Haines on Vimeo.
Friday, February 27, 2009
Sunday, February 22, 2009
Sponsor - Anthony Eden
Anthony Eden was entirely the reason that I was able to make it down to Florida on tour. A short time before Acts As Conference, he contacted me about coming down and doing some "How I Got Started In Programming" interviews. After talking to him briefly, I mentioned that I would be interested in turning it into a 2-week tour, as well. He did a fantastic job of finding a few people who were willing to cover my travel expenses, as well as some incidentals while I was down there. Not only did he find sponsors, contribute to the expenses, but he also hosted me for 2 days, where I got to pair with Matt Williams for an afternoon, as well as a full day with Anthony. I captured some of his thoughts in a journeyman tour video, which I posted a little while ago.
I want to say how much I appreciate people like Anthony. Without community support from people like him, the ideas behind journeyman tours, as well as Software Craftsmanship in general, would have a much more difficult getting out there. So, thanks, Anthony!
I want to say how much I appreciate people like Anthony. Without community support from people like him, the ideas behind journeyman tours, as well as Software Craftsmanship in general, would have a much more difficult getting out there. So, thanks, Anthony!
Talk With Stephen Caudill
While down at Hashrocket, I had the extreme pleasure to pair for a couple days with Stephen Caudill. During that time, we wrote some great code, had some great conversations about craftsmanship (drink! watch the video, and you'll understand), as well as getting me a lot more comfortable in vim.
At the end of my stay there, Stephen sat down with me and had a great conversation. And, yes, that's the sound of a ping-pong game in the background.
Enjoy!
Talk with Stephen Caudill from Corey Haines on Vimeo.
At the end of my stay there, Stephen sat down with me and had a great conversation. And, yes, that's the sound of a ping-pong game in the background.
Enjoy!
Talk with Stephen Caudill from Corey Haines on Vimeo.
Tuesday, February 17, 2009
Talk with Anthony Eden
Anthony Eden (blog) has played a very important part in my Florida tour. Not only was he the third stop, but he also was both the primary organizer of the tour and a major sponsor. He contacted me a couple weeks ago to come down to Acts As Conference to record people for the "How I Got Started In Programming" interviews. After talking a bit with him, it became clear that it would be possible to not just come down for the conference, but also spend two weeks pairing with people down here. I spent 2 days with Anthony, pairing with both him and Matt Williams.
Anthony works for a small company that is developing the chi.mp website. This is a very interesting take on aggregating your digital life and brand into a single place. The company is a domain registrar for the .mp domain, which means that you, when you sign up, you are given your own domain (mine is coreyhaines.mp) that you use as a main window to the rest of your digital life (facebook, twitter, rss feeds, etc). The really cool thing about chi.mp is that, unlike some of the other aggregators, this is intended to combine everything about you, not about the people in your community.
I'll be posting another entry regarding his sponsorship and coordination efforts, but I want to take a moment to really express my gratitude to Anthony. He got in touch with the conference, as well as a couple other people who put their resources together to bring me down here. So, thanks a lot, Anthony, it is through the belief and support of people like you that this idea is really able to survive.
Anthony has seen a lot of startups come and go, and he has fantastic insight into some of the reasons why they fail. He definitely cares about writing a great system, and we talked about the ideals present there both on and off video. This video contains some very great thoughts on the subjects.
Enjoy!
Talk with Anthony Eden from Corey Haines on Vimeo.
Anthony works for a small company that is developing the chi.mp website. This is a very interesting take on aggregating your digital life and brand into a single place. The company is a domain registrar for the .mp domain, which means that you, when you sign up, you are given your own domain (mine is coreyhaines.mp) that you use as a main window to the rest of your digital life (facebook, twitter, rss feeds, etc). The really cool thing about chi.mp is that, unlike some of the other aggregators, this is intended to combine everything about you, not about the people in your community.
I'll be posting another entry regarding his sponsorship and coordination efforts, but I want to take a moment to really express my gratitude to Anthony. He got in touch with the conference, as well as a couple other people who put their resources together to bring me down here. So, thanks a lot, Anthony, it is through the belief and support of people like you that this idea is really able to survive.
Anthony has seen a lot of startups come and go, and he has fantastic insight into some of the reasons why they fail. He definitely cares about writing a great system, and we talked about the ideals present there both on and off video. This video contains some very great thoughts on the subjects.
Enjoy!
Talk with Anthony Eden from Corey Haines on Vimeo.
Friday, February 13, 2009
Talk with Greg Pederson
My second host on the Florida tour was Greg Pederson. He is an independent software developer (NSight Development) in Orlando, doing Ruby on Rails. He has an interesting story, because he spent about 10 years doing support for cell networks before moving over into software development a few years ago. I had a great time working with him, and we had a great conversation about what it is like to move from one area of the technology world to another: what is common and what is different.
Greg had contacted me about a month ago to possibly come down to Florida and work with everyone down there, but I didn't have a good way down, yet. Once the avenues opened up, I made sure to contact him again. I'm glad I did, as we had a really fun time doing some refactoring. As people who know me have heard, I consider refactoring the reward for actually writing production code. :) I only spent one day with Greg, but I know that I got a bunch out of working and talking to him; I like to think he did, too. :)
Enjoy!
Talk with Greg Pederson from Corey Haines on Vimeo.
Greg had contacted me about a month ago to possibly come down to Florida and work with everyone down there, but I didn't have a good way down, yet. Once the avenues opened up, I made sure to contact him again. I'm glad I did, as we had a really fun time doing some refactoring. As people who know me have heard, I consider refactoring the reward for actually writing production code. :) I only spent one day with Greg, but I know that I got a bunch out of working and talking to him; I like to think he did, too. :)
Enjoy!
Talk with Greg Pederson from Corey Haines on Vimeo.
Thursday, February 12, 2009
Conversation with Mike Blake
My Florida tour started with a couple days at Acts As Conference, where I was able to get a few great "How I Got Started In Programming" interviews. After that, though, the pair-programming tour started with Mike Blake, owner of AppTrain Software. He was kind enough to host me for two days, and we spent the time exploring RSpec, talking about the joy of coding, and working on a site that he had revived for our time together. We spent the first day retro-fitting some specs onto the codebase, while the second day was introducing him to resource_controller and reworking the application.
Along with hosting me, Mike was super supportive by contributing significantly to cover expenses while down here in sunny Florida. Mike's "How I Got Started In Programming" interview will be before too long, but we also sat down for a great talk about software development, looking at development as fun, and the relationship between music and coding.
Mike is also an active member of the local arts community in the Orlando area, working with and supporting the music and art scene.
I really enjoyed the time I got to spend with Mike, and I continue to be flattered by the support I get from local community members along my tour.
Enjoy our talk!
Talk with Mike Blake from Corey Haines on Vimeo.
Along with hosting me, Mike was super supportive by contributing significantly to cover expenses while down here in sunny Florida. Mike's "How I Got Started In Programming" interview will be before too long, but we also sat down for a great talk about software development, looking at development as fun, and the relationship between music and coding.
Mike is also an active member of the local arts community in the Orlando area, working with and supporting the music and art scene.
I really enjoyed the time I got to spend with Mike, and I continue to be flattered by the support I get from local community members along my tour.
Enjoy our talk!
Talk with Mike Blake from Corey Haines on Vimeo.
Monday, February 9, 2009
Sponsor - LeanDog Consulting
Through my travels, I get to talk to a lot of people and companies who are interested in adopting agile techniques. While Scrum-ey seems to be very popular, there are some companies that believe in going to the extreme: eXtreme Programming, that is. While I won't say anything bad about companies that don't want to adopt developer practices, as well as the management practices that Scrum introduces, it is always encouraging to see a consulting company that knows the values of good developer techniques. LeanDog is one of those companies, developing software using tried and true XP techniques such as pairing, test-driven development and continuous integration. Plus, as an added bonus, their office is on a boat next to submarine and across from the Rock and Roll Hall of Fame! Rock on, literally!
Cleveland has not had the greatest time with its economy over the last bunches of years, what with the steel industry going belly-up and Wal-Mart moving in. However, there is one thing that my experience with Cleveland has shown me: there are a lot of really sharp, passionate software developers and technology-minded entrepreneurs. LeanDog's owners, Jon Stahl and Jeff Morgan, are excited about contributing to the local economy by hosting trainings, code retreats, ignite events and being the home base for at least one user group. They are working on helping Cleveland live up to its potential as a technology hub of the area.
I appreciate their generous support of my tour, as well as upcoming Test-Driven Development courses taught by yours truly. Yup, I'm going to be teaching a TDD course on their boat! More information will be coming soon, so keep your eyes open.
Sunday, February 8, 2009
Sponsor - Made From Dolly
Before I left for this leg of the tour, Jamie Wright contacted me again to say that he would like to sponsor me again. This makes Made From Dolly my first two-time sponsor, as he also sponsored my Chicago tour in December. I want to really express my gratitude to him for sponsoring me a second time. I'm seeing more and more people reacting positively to my tours and being inspired to focus on their own practices and career development; I'm flattered to be a part of their renewed interest in becoming better software craftsman, and it is through the support of people like Jamie that I can continue these tours.
So, if you are one of those people who are following my tour and wondering how you could help, why don't you go buy a tweet shirt from Made From Dolly. Supporting me doesn't always take the form of helping me cover my expenses, it can also mean letting people like Jamie know that you appreciate their involvement.
My tweet shirt came in the mail last week, and I can tell you that it is super cool. For me, the simplicity of the shirt is the cool part, just very simply twitter.com/coreyhaines with a "Follow Me" on the back. He also supplied me with some coupons and stickers for people. According to Jamie, the coupons vary between 30% and 100%. I handed out a bunch while at Acts As Conference, but I've still got more, and Jamie said that he'd send me more when I run out.
Tuesday, February 3, 2009
"Getting it done" vs "Doing it right"
After watching the Stack Overflow podcast's Joel Spolsky and Jeff Atwood's laughable comments on TDD go down over the weekend, and seeing Uncle Bob's response and others' in blogs and comments, I noticed a recurring theme that I see a lot.
If you find that you are faster doing it in a way that does not conform to what you consider "good" and "right," then you are suffering from a deficiency in your skills. Period. The techniques that you fall back on when the deadline looms are the only techniques that you can call your own; everything else is something you are still learning. How quickly they become 'your own' is a question of how much you practice. If you have a technique that you think is 'better' than how you do it when the deadline looms, you owe it to yourself to practice it.
Notice, nowhere do I mention exactly what techniques I mean. That is for you to decide. If you are interested, I will gladly tell you what the best techniques I've found are (hint: the blue circle in the picture).
Before I get to that, though, here's a thought. For anyone who is an experienced TDD (or variant thereof) practitioner, Joel and Jeff's comments are utterly telling of their complete and overwhelming lack of experience and understanding of the underlying concepts of TDD. So, I'll let people who have more patience than I do respond to them. My only statement is that they obviously have no clue what they are talking about, and their opinions are so stale and old that I think all responses should consist of telling them to google their concerns/questions; there are lots of answers already published on them. But, that's not why I'm writing this entry.Now, on to the thing that I've noticed in the blog posts and comments and tweets about this: "Getting it done" vs "Doing it right." I spoke about this in my last Road Thoughts, but I wanted to make a very simple statement about it (Ron Jeffries makes a much more encompassing statement on this topic, too).
If you find that you are faster doing it in a way that does not conform to what you consider "good" and "right," then you are suffering from a deficiency in your skills. Period. The techniques that you fall back on when the deadline looms are the only techniques that you can call your own; everything else is something you are still learning. How quickly they become 'your own' is a question of how much you practice. If you have a technique that you think is 'better' than how you do it when the deadline looms, you owe it to yourself to practice it.
Notice, nowhere do I mention exactly what techniques I mean. That is for you to decide. If you are interested, I will gladly tell you what the best techniques I've found are (hint: the blue circle in the picture).
Sunday, February 1, 2009
Road Thoughts - Practice
'Doing it right' vs 'Getting it done'
Back in November at RubyConf, Micah Martin did a great talk on Kata and Sparing. It was very inspirational to me, and I've been mulling over the idea of katas ever since then. Over the last couple months, as I've been focusing my attention on craftsmanship, the idea of focused and deliberate practice kept rising to the surface. After the first Code Retreat in Ann Arbor, I really had some specific thoughts on the influence of practice on our work. So, as I was driving back from Weberville, MI, I stopped outside Toledo at a metro park and recorded some thoughts.
The main topic of the thoughts is the idea of 'doing it right' vs 'getting it done' and why those have to be in opposition. The techniques that you can call 'your own' are the ones that happen when you have a deadline looming. How do you make it so that those techniques are the ones that you know lead to quality code? Focused practice.
Enjoy! And, as always, please either comment below or write a response on your own blog. Please send me a link to your blog entry, and I'll update this post to link to it.
[Michael Finney wrote a great blog post proposing some ideas for a java practicing project. Check it out.]
[Over a year ago, Chris Cyvas wrote a blog entry about discipline in software development. These concepts and ideas have been building for a while now; I think it is time we bring them to the forefront.]
Road Thoughts - Practice from Corey Haines on Vimeo.
Back in November at RubyConf, Micah Martin did a great talk on Kata and Sparing. It was very inspirational to me, and I've been mulling over the idea of katas ever since then. Over the last couple months, as I've been focusing my attention on craftsmanship, the idea of focused and deliberate practice kept rising to the surface. After the first Code Retreat in Ann Arbor, I really had some specific thoughts on the influence of practice on our work. So, as I was driving back from Weberville, MI, I stopped outside Toledo at a metro park and recorded some thoughts.
The main topic of the thoughts is the idea of 'doing it right' vs 'getting it done' and why those have to be in opposition. The techniques that you can call 'your own' are the ones that happen when you have a deadline looming. How do you make it so that those techniques are the ones that you know lead to quality code? Focused practice.
Enjoy! And, as always, please either comment below or write a response on your own blog. Please send me a link to your blog entry, and I'll update this post to link to it.
[Michael Finney wrote a great blog post proposing some ideas for a java practicing project. Check it out.]
[Over a year ago, Chris Cyvas wrote a blog entry about discipline in software development. These concepts and ideas have been building for a while now; I think it is time we bring them to the forefront.]
Road Thoughts - Practice from Corey Haines on Vimeo.