    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
     <channel>
        <title>ACCU  :: Kevlin Henney: An Interview</title>
        <link>https://members.accu.org/index.php/articles/2079</link>
        <description>Professionalism in Programming</description>
        <dc:language>en-us</dc:language> 
        <dc:creator>Administrator</dc:creator> 
        <admin:generatorAgent rdf:resource="http://www.xaraya.org" /> 
        <admin:errorReportsTo rdf:resource="mailto:webeditor@accu.org" />
       <sy:updatePeriod>hourly</sy:updatePeriod>
       <sy:updateFrequency>1</sy:updateFrequency>
       <docs>http://backend.userland.com/rss</docs>




<div class="xar-mod-head"><span class="xar-mod-title">CVu Journal Vol 27, #1 - March 2015</span></div>

<table border="0" cellpadding="1" cellspacing="0">
    <tbody>
    <tr>
        <td valign="top">
            Browse in :
       </td>
       <td valign="top">

                                            <a href="https://members.accu.org/index.php/articles/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c76/">Journals</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c77/">CVu</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c347/">271</a>
<br />
</td>
   </tr>
   </tbody>
</table>




<div class="xar-error">
   <p>
 <strong>Note:</strong> when you create a new publication type,
the articles module will automatically use the templates
<em>user-display-[publicationtype].xt</em>
and <em>user-summary-[publicationtype].xt</em>.
If those templates do not exist when you try to preview or display a new article,
you'll get this warning :-)  Please place your own templates in themes/<em>yourtheme</em>/modules/articles . The templates will get the extension .xt there. </p>
</div>
<div class="xar-norm xar-standard-box-padding">
   <h1><strong>Title:</strong>&nbsp;Kevlin Henney: An Interview</h1>
<p><strong>Author:</strong>&nbsp;Martin Moene</p>
<p>
<strong>Date:</strong> 03 March 2015 21:09:44 +00:00 or Tue, 03 March 2015 21:09:44 +00:00</p>
<p><strong>Summary:</strong>&nbsp;Emyr Williams continues the series of interviews with people from the world of programming.</p>
<p><strong>Body:</strong>&nbsp;<p>For regular attendees of the ACCU Annual conference, Kevlin doesnâ€™t really need an introduction. He is a well-known author, engaging presenter, and a consultant on software development. He was the editor for the book <em>97 Things Every Programmer Should Know</em>, and has given keynote addresses not just at ACCU but at other conferences as well.</p>

<p>How did you get in to computer programming? Was it a sudden interest? Or was it a slow process?</p>

<p class="blockquote">I was aware that computers could be programmed, and the idea sounded interesting, but it wasnâ€™t until I was able to actually lay hands on a computer that I think it occurred to me that this was a thing that I could do myself.</p>

<p>What was the first program you ever wrote? And what language was it written in? Also is it possible to provide a code sample of that language?</p>

<p class="blockquote">I canâ€™t remember exactly, but I suspect it probably just printed &quot;Hello&quot; once. I strongly suspect that my second program printed &quot;Hello&quot; endlessly â€“ or at least until you hit Ctrl-C. It was written in BASIC, and I strongly suspect that it was on a UK-101, a kit-based 6502 computer.</p>

<p class="blockquote">These days I am more likely to disavow any knowledge of BASIC than I am to provide code samples in it â€“ but I think you can probably guess what those examples I just mentioned would look like!</p>
<p>What would you say is the best piece of software youâ€™ve ever written? The one youâ€™re most proud of?</p>

<p class="blockquote">Difficult to say. Possibly the proof-of-concept C++ unit-testing framework I came up with a couple of years ago, that I dubbed LHR. I donâ€™t know if itâ€™s necessarily the best, but it incorporated some novel ideas Iâ€™m proud of. </p>

<p>What would you say is the best piece of advice youâ€™ve ever been given as a programmer?</p>

<p class="blockquote">To understand that software development concerns the management of complexity.</p>

<p>If you were to go back in time and meet yourself when you were starting out as a programmer, what would you tell yourself?</p>

<p class="blockquote">As a professional programmer? Donâ€™t worry, itâ€™s not all crap. As a schoolboy? Yes, it really can be as much fun as you think it is..</p>

<p>Do you currently have a mentor? And if so, what would you say is the best piece of advice youâ€™ve been given by them?</p>

<p class="blockquote">I donâ€™t currently have anyone I would consider a mentor, but there are a number of people I make a point of shutting up and listening to when they have something to say.</p>
<p>You are well known for giving excellent talks on various topics to do with Software Engineering, I recall the one you did at ACCU Conference last year.  How did that come about?  And how scary was it to leave the security of a regular 9 to 5 job and go solo?</p>

<p class="blockquote">I worked as a principal technologist at QA, a training and consultancy company, for a few years. Training was part of my job role and that gets you comfortable with presenting and thinking on your feet. Conference presentations are a little different as the objective of a talk and the environment of a conference are not the same as a course or a workshop, but thereâ€™s enough overlap that practice at one supports practice in the other.</p>

<p class="blockquote">As a principal technologist at QA I enjoyed a great deal of autonomy and so the transition to working for myself was not as jarring as it might first appear. Meeting people at conferences also opened more opportunities than I had perhaps realised were available when I was associated with a larger company.</p>

<p class="blockquote">Iâ€™m not sure I could have gone straight from working for someone to being independent. Actually, thatâ€™s not quite true: I went from being an employee to being a contractor many years ago, but I didnâ€™t find that fulfilling.</p>

<p>And following on from that, what advice would you give to someone whoâ€™s looking to go it alone?</p>

<p class="blockquote">Make sure you know what your motivation is for going it alone, that your expectations are realistic and that you have some work lined up!</p>

<p>Iâ€™m guessing you work from home, if so, how do you keep the balance between work time and family time?</p>

<p class="blockquote">A question Iâ€™ve wrestled with for years and still not one Iâ€™m sure I have a good answer to! I am, however, far better at turning off than I used to be, recognising that work time is an interruption from family time and not the other way around. As I travel a lot the workâ€“family distinction is often reinforced by whether Iâ€™m at home or away, so I try to get more work-related things done when Iâ€™m away because it doesnâ€™t distract from family. I notice that when Iâ€™m working and at home the context switch can be harder because the context is effectively the same.</p>

<p>How do you keep your skills up to date? Do you get a chance to do some personal development at work?</p>

<p class="blockquote">I attend conferences, I talk to people I meet (and people I donâ€™t meet) and I read. I probably get a lot more breadth than depth, but I temper that by focusing on things that interest me â€“ so Iâ€™ll freely admit to being more driven by interest than necessity.</p>

<p>Iâ€™ve seen that you contribute to the Boost libraries as well.  How did you get involved in that?  And what advice would you give to a prospective developer looking to get involved in such a project?  Or any open source project for that matter.</p>

<p class="blockquote">My involvement came about primarily because of my involvement in the C++ standards committee and writing articles about C++. That said, although I have a continued interest in Boost, I am no longer an active contributor, having long ago passed maintenance of my contributions to others.</p>

<p class="blockquote">As for advice on doing it: if you think you want to get involved, then you should. Itâ€™s worth spending your time familiarising yourself with the ins and outs and mores of your project of interest, asking questions, getting a feel for what you can best contribute and how. If youâ€™re a developer, donâ€™t assume itâ€™s going to be coding where you stand to learn or contribute the most â€“ maybe itâ€™s code, maybe itâ€™s tests, maybe itâ€™s documentation, maybe itâ€™s something else.</p>

<p>What would you describe as the biggest â€œah haâ€ moment or surprise youâ€™ve come across when youâ€™re chasing down a bug?</p>

<p class="blockquote">That good practice I ignored? I shouldnâ€™t have ignored it. I donâ€™t know if thatâ€™s the biggest surprise â€“ in fact, itâ€™s the exact opposite â€“ but itâ€™s the biggest lesson. Thereâ€™s nothing quite like the dawning, creeping realisation that the bug was easily avoidable.</p>

<p>Do you have any regrets as a programmer? For example wishing youâ€™d followed a certain technology more closely or something like that?</p>

<p class="blockquote">Listing regrets or indulging in regret is not something I really do, which I would say is no bad thing â€“ and not something I regret..</p>

<p>Where do you think the next big shift in programming is going to come in?</p>

<p class="blockquote">Realising that there are few big shifts in programming that change the fact that, ultimately, itâ€™s people who define software. We have met the enemy and he is us.</p>

<p>Are you working on anything exciting at the moment?  A new book? Or a new piece of software?</p>

<p class="blockquote">Thereâ€™s a couple of code ideas Iâ€™m kicking around that I think are quite neat, but perhaps more for my own interest, and a couple of book projects that have my eye.</p>

<p>Finally, what advice would you offer to kids or adults that are looking to start a career as a programmer?</p>

<p class="blockquote">Look at whatâ€™s happening now, but also look at whatâ€™s gone before. If you can figure out theyâ€™re related, youâ€™re doing better than most.</p>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
