Tag Archives: programming

Guest Post: The Human Side of Software Craftsmanship

This week at MCM we’re going to start posting guest posts from developers in the community. The honor of first post goes to Jon Kruger. Thanks for contributing Jon!

If you want to become a future guest blogger, just send an email to mashedcodemag@gmail.com.

The Manifesto for Software Craftsmanship states that they “are raising the bar of professional software development by practicing it and helping others learn the craft.” As a software developer, I take pride in my work and have high standards for myself, and I appreciate it when others do the same. But if those high standards turn into arrogance toward others, then maybe we’ve gone astray.

They told us back in grade school that you shouldn’t pull yourself up by putting others down, but even today that wisdom can be hard to remember. I admit that I’m guilty. If you work at a company that has any code that has been around for a few years, you’re going to find some horrible code, and it’s really easy to make fun of it. I still do it all the time, but I’m trying to stop.

Arrogance and software craftsmanship don’t mix. While the technical aspect of software development is extremely important, the human side of things is just as important. It doesn’t matter how good your code is if the software doesn’t meet the needs of the users. If you refer to people in the business as “stupid users”, how are you going to be able to understand what life is like in their shoes? If you know all of the SOLID principles but you have a bad attitude, your teammates would probably rather work with someone else.

People who don’t know what we do sometimes think of software developers as a bunch of people who sit in front of a computer all day and never interact with anyone. In my experience, that hardly ever happens, and in fact, we often get rid of cubicles in favor of more collaborative workspaces where we can communicate easier with other team members, and sometimes even have business users come sit near us so that we can have their constant feedback.

I remember a situation several months ago where I had to meet with some users to design some functionality. After the first few meetings, I had to present a potential design idea to them. Before I went into the meeting I had already thought of potential issues that the users might bring up and the rebuttals that I would give. The users expressed some concerns and I wasn’t winning them over.

I stopped after that meeting and took a step back. Maybe I was listening to the words coming out of their mouth but not actually hearing what it was that they were really saying. Maybe their concerns weren’t petty after all and they had good reason for bringing them up.

The next time we met, I tried to go in and just listen. I mean really listen, like let them talk without thinking about what I’m going to say next. I tried looking them in the eye and processing every word that they say, the feelings they were expressing, and the reasons why they believed that way. Then when they were done talking, then I would think about how I’m going to respond. And this time I finally saw what they were talking about. It really hit home when one of the users (who was excited about me finally getting it), said excitedly, “That’s what we’ve been saying for the last month!”

I’m glad that I finally got it right, but I’m disappointed that it took me so long to get there.

In my mind, in order to really consider yourself a craftsman (or craftswoman), we need to not only value technical expertise but skilled human interaction and communication skills, and that starts with having an empathetic attitude toward others instead of finding ways to put them down.

Advertisements

Leave a comment

Filed under Guest Post

Time to Rehash CodeMash (2012), Conference Video on InfoQ

It’s that time of the year when software developers, mostly in Ohio, Michigan and the surrounding states but all throughout the country too, start getting ready for CodeMash. The call for talk abstracts has already opened and runs through September 15th and the conference organizers are now also taking on sponsors. So if you are endowed with either the talent and desire to speak at CodeMash or the capital to help underwrite it, we encourage you to do so, heartily. Otherwise, all of you eager would-be attendees (you know it’s going to be a mad rush at registration again) can get ready by watching the suite of videos from the 2012 conference that have been uploaded to InfoQ.

If you go looking on InfoQ for the videos you might have a little trouble being sure that you’ve found them all. Unfortunately, the site does not provide a convenient means of finding videos by conference. However, searching for “codemash” produces this page, http://www.infoq.com/codemash,  which appears to be as complete a list as you can get. The last time I hit that link it showed that the newest video, uploaded on June 18th, 2012, is “Erlang for C# Developers” and there were a total of 17 videos listed.  I’m not sure how many videos were recorded in total or if the plan is to upload all of them to InfoQ.

So if you got to the registration page too late this year or you just need to revisit one of your favorite sessions, head over to InfoQ and rehash CodeMash.

And not that you should be surprised, but the infamous Ted Neward keynote is not on InfoQ. Nonetheless, the thoroughly entertaining keynote from the multi-talented Barry Hawkins is there (and below) for your edification.

Barry Hawkins Keynote @ CodeMash 2012

1 Comment

Filed under Conference Information

Poetry and Programming A Good YouTube Video Make

Not of a local nature, but something that all of you developers will enjoy anyway – Tim Berglund and his thoroughly entertaining video productions for programmers. In May of 2011, Tim produced the poetic video Oh, the Methods You’ll Compose; an ode to the composed method pattern as first presented by Kent Beck. Earlier this month, Tim debuted his latest poetic monologue: The Maven. This new piece re-words the famous work The Raven by Edgar Allen Poe and, as you might have guessed, takes some shots at the interminably opinionated Java build tool Maven.

Both videos show not only Tim’s intellectual prowess but his extensive skill in understanding deep technical topics and then conveying them creatively and effectively. In fact, Tim has been able to use that talent for the more practical purpose of teaching Git and Gradle with cohort Matthew McCullough for O’Reilly.

Enjoy the videos below.

I’m sure that some of you Ohio/Michigan devs are using your imagination and creativity too to teach to the programmer community. If so, promote yourself (or your friends and co-workers) and let us know about it the comments section below.

Leave a comment

Filed under Uncategorized

Summer Issue Published

The Summer issue is ready and, as always, this issue is free!

Obtaining the issue can be anywhere from a benign act to a feat of sheer geekery. Here are the methods at your disposal and the geek point boost you get for using each one:

+0 – Novice

Just click on a link….this one.

+10 – Novice, with account setup skills

Go to MagCloud to get the PDF as a download or on your iPad (with the MagCloud iPad app). Print versions are also available at MagCloud for $12.99.

+100 – Hip Git User

git clone https://github.com/mashedcodemag/issues

+1000 – Command Line Fu Master

wget --no-check-certificate --progress=bar \
https://github.com/mashedcodemag/issues/zipball/master \
--output-document=mcm-june-2012.zip

We sincerely hope that you enjoy the magazine and find it useful. If you have any comments or questions, or want to report errata, comment below or send an email to mashedcodemag@gmail.com.

5 Comments

Filed under Announcement, New Issue