Keeping the Lights On

Thursday, August 11th, 2011
Posted in leadership

A hundred years ago, lighting lamps was a great way to earn a living. You’d carry around a giant pole and go from lamp to lamp lighting them up. See the city while starting fires, I can see the appeal. Many others did too and created a rich set of traditions, practices, and quirks.

Things changed without advance warning though. We figured out how to make gas lamps light themselves and a profession was extinct. A dedicated few kept it alive through sheer force of will but by and large lamplighting was dead even before the advent of electricity.

Such is the danger of specialization, a horribly easy trap to fall into. It’s tempting to focus your energies on improving the process of using long sticks to ignite lamps. However, it’s career suicide to forget that your customers want light, not sticks.

Bringers of light will never go out of fashion, but the demand for people with sticks is always a time-limited affair1. Be very careful about tying yourself to just one way to set things on fire.

-SP

Footnotes

  1. Especially for my friends who call their stick Silverlight, but others have written about that topic better than I can.


obtiva

Friday, August 5th, 2011

People who practice various forms of agile software development often make distinctions between capital-A “Agile” as a set of defined practices and methodologies, and “agile” as a broader philosophy of how to approach software. Bill Pietri sums it up best:

It’s important to note that they weren’t saying that they had an exclusive lock on agility, or even what made software development agile. As with the naming of Grand Rapids, they were pointing at a particular spot in the landscape of ideas and naming it. The word agile has a variety of meanings, and there are a lot of aspects to software development to which you could apply those meanings. They weren’t trying to lay claim to agility as a whole, any more than Grand Rapids is claiming all the rapids in the world, especially the grand ones.

Yesterday, the organization called Obtiva by those who worked there was acquired by Groupon. Just as agile practitioners differentiate between “Agile” and “agile” though, a similar distinction must be made here. While it’s true that this chapter in the history of Obtiva ends, it’s equally true that lowercase-o “obtiva” will continue to exist beyond this organization and even the people who comprised it.

This obtiva is present each time we build software with an empathetic view towards those in need of it. When one developer invests in another at the cost of their personal time and productivity, this obtiva is at work. Engaging with the larger community when there’s no personal gain is totally obtiva.

While I will stop calling myself an Obtivian, I have been extremely fortunate to practice obtiva daily with my friends and colleagues for nearly two years, and I look forward to many more. This is an opportunity to create and find much more obtiva in the world, and I am certain I will continue to share in obtiva with friends both old and new.

It has always been and will always be a great time to be obtiva.

Thank you to everyone who made it possible for me to share in all things Obtiva. I especially appreciate Kevin Taylor, Kat Nelson-Reid, Dave Hoover, and Todd Webb for deciding to take a chance on me and my “top-secret plan” to join them. This company has been a second family to me in times both tremendous and terrible, and I will always value that.

-SP


We’re in need of a venue for this meeting - if you know of a place in the Loop that could help, please contact me

We’re all familiar with words like “process” and “patterns” - in this meeting, we’ll look at different ways to think about and apply those terms in ways you may not expect.

Groupon’s Blake Smith will begin by examining why design patterns lead to good designs at the small-scale program level, why they often get ignored at the macro large-scale system level, and the impacts of doing so on your applications.

Then we’ll switch gears and go through a group exercise on understanding why your employer, (yes, your employer) has the process it does and how that impacts you. As with the previous exercises, this could be a huge success or huge failure but should be entertaining either way.

As always, anyone of any experience level and any background is welcome to come and participate.

Food and socialization will begin at 6PM on Wednesday, July 20th, and we’ll the start the meeting a bit after that. Once we’re done, we’ll wander on down the street to socialize and intoxify.

If you’re interested, please RSVP here.

Both portions be interactive, so please come ready to participate.

To stay informed on what’s happening with ChiSC, please join the mailing list at http://groups.google.com/group/chisc

See you there! -SP


Spray-and-Pray Developer Resumes

Monday, September 28th, 2009
Posted in leadership

I interview a fair amount of software developers (although not as often as I used to, sadly), and so I have people ask me about a variety of issues related to finding programming gigs. What certifications, what schools, what questions to ask, and even what attire to wear.

I really thought interview attire was something of a solved problem, but apparently not.

I digress. When I’m asked one of those questions, I usually try to stress that it’s hard to hurt yourself when answering any of the above questions. Yeah, some schools are better than others, but that doesn’t matter too much for programmers, especially once they have a year or so of experience. Certifications usually don’t hurt or help too much unless it helps you meet a job’s requirements (although an XML Master Certification is resume poison).

However, there is one particular brand of resume that, regardless of talent, really irks me and makes it difficult to get on my good side, let alone get a recommendation from me. I hate, hate, HATE finding a “spray and pray” resume. This is the kind of resume that is two pages long for every year of experience and is absolutely crammed with a wide range of unrelated technical terms. It’s the kind of resume where someone has liberally sprayed the document with verbiage and prayed that some of it tricked someone into interviewing them.

It doesn’t work.

Telltale signs you’ve written a Spray and Pray Resume

  • Under “Programming Languages,” you list every single programming language you have ever encountered.
  • You list every job, ever.
  • For each job, you list an insane number of different, unrelated responsibilities.
  • You have the world’s most vague Objective Statement.
  • You list at least one OS for which you don’t know how to navigate the file system from a command prompt.
  • You list any UI framework for which you cannot instantly tell me the base class/method/approach for displaying a “Hello world” window.

What’s so bad about that, huh?

Many people would say these resumes looks desperate, and you generally want to avoid looking desperate in an interview. I don’t really care too much about that however, as Lord knows I have been desperate for work before and lucked out to find a job despite it.

A more significant problem with this kind of resume is that is just looks lazy. If you can’t make the time to trim your resume down to only those things the interviewer has a chance of caring about, then why should the interviewer make the time to talk to you? Just 2-3 minutes spent making a specific objective statement, removing irrelevant items (or moving them to a Hobbies/Interest section if you really, really want them on your resume) and tightening the resume up in general can work wonders.

Worse than looking lazy is looking dishonest. If you are confident enough in some skill that you put it on a resume, then you’d damn well better be at least at an intermediate level in it. If you haven’t touched that programming language since high school, leave it off your resume. Otherwise, as soon as you have to tell an interviewer you don’t know much about something on your resume, you bring everything into question. It reflects poorly upon you, and the interviewer will subsequently devote a fair amount of time fact-checking your resume rather than really engaging with you.

Even if you don’t look lazy (which you might), and even if you don’t seem dishonest (which you will), you’re still doing yourself a disservice. Why? Because your strengths will be lost in the “noise” you create with unrelated terms and bullet-points. I promise you, even if you are just graduating from school, you already have strengths that are worth showcasing on a resume. It’s many times more effective to have three bullet points that prominently highlight things you excel at than to hide those amongst umpteen other areas where you aren’t so hot. By paring down your resume and saying less, you can let your strengths shine that much more and seem stronger.

Almost all of those problems listed earlier can be solved by simply going over your resume, and asking yourself “Could I answer a simple question about this?” If the answer is no, leave it off your resume. Otherwise, you might just be sitting across from someone like me who ALWAYS picks one of the programming languages you put at the end of your list and asks you to compare and contrast it against a language from the front of your list.

Oh, and never list XML as a programming language. (Although if anyone ever says that they really meant XSLT and that XSLT is Turing complete, I’ll be suitably impressed to overlook the mistake. Throw in a “Duh” for good measure though)


Codeapalooza Tomorrow!

Friday, September 5th, 2008

So I know this guy who knew about this one event months in advance, and yet didn’t think to post a blog about it until roughly 24 hours before.

What a dolt, huh? Sucks to be him.

Anyway, in totally unrelated news, Codeapalooza is tomorrow! It promises a day full of totally free .NET goodness and interesting workshops. There’s a full slate of pretty interesting sessions.

In particular, there’s a tasty-looking treat on rich, reusable user controls with MVC that I’m looking forward to pretty intensely. If we’re going to adopt MVC at the office, feature-rich reusable controls will be a must. But there’s also some lovely XNA exotica, Silverlight salaciousness, a slew of Sharepoint stuff (gag, vomit, WHY HELLO MICROSOFT YES I LOVE SHAREPOINT OKAY THANK YOU) and much more miscellanea.

If you attend, I’ll be the guy in the Chicago Public Radio hat who asks a zillion questions. Hope to see you there. -Scott


How Much Longer Until It's Good?

Tuesday, August 12th, 2008
Posted in leadership

I have a bit of an insecurity obsession with the quality of my code given how long I’ve been at this programming thing. I know that must seem like an awfully vain thing to wonder about, the technological equivalent of thinking about every passerby “Am I hotter than that guy?”

That’s not quite it though. Rather than blather on about it for paragraphs before getting to my point, I’ll let Ira Glass (definitely hotter than me) explain in this wonderful video passed to me via my dear friend Nwokedi

Ira may be talking about storytelling, but I think it definitely applies to nearly any endeavor you care about. I’m at a point where I can recognize the qualities of good code, but the code I’m writing isn’t at all legendary, and I think a good number of junior-to-mid level developers have much this same problem.

It’s made worse in software since many of our heroes are chaps like Linus Torvalds and Sergey Brin - people who were extremely good right away, who seem like “naturals” to us mortals. We read things like Great Hackers and get the impression that if we haven’t developed groundbreaking technology by the time we’ve left college, we’re doomed to obscurity and mediocrity.

It’s no small comfort then to know that Ira was still churning out less-than-stellar copy after 8 years of making radio professionally.

Does this really apply to software development, though? Facts are hard to come by, not least because “Man develops amazing software after 15 years in the industry” doesn’t make for as great a headline as “Kid Doctor Can’t Buy Beer… Can Prescribe Drugs.” So rather than do all that horrible research and come up with a nice general overview, let’s just blow one example out of proportion: SubSonic lead developer and .Net guru Rob Conery.

It just so happens that Rob posted a brief bit about his programming background recently. Thanks to a bit of back-of-the-napkin math, Rob must have been programming for a living around 7-10 years before he first publicly released SubSonic to the world. That seems about right for a bright and motivated person, even quite a bit ahead of the “Ira curve,” if you’ll allow me to compare software to NPR stories.

By that metric, I’m pretty happy with where I’m at. I’m not writing any earth shattering code at the moment, but I’ll get there.


Eyes glazed over yet? Don’t do it! Stay with me!

I was like you once, in a more innocent time we all knew as “one hour ago.” I heard words like Dependency Injection (a technique of making software super-loosely coupled, in a somewhat inaccurate nutshell) and reached for the closest sharp edge to find sweet, sweet oblivion. The little I’ve read on the subject and the ever-intimidating XML Files Spawned By Satan didn’t really help.

Thankfully, Rob Conery was like me too, once. Unlike me though, he spent some time with the lead man behind the DI tool StructureMap, and he saw the light. You will too, once you watch his screencast on Depency Injection with StructureMap. No nasty XML, no major “OH NO MUCH CRAZINESS - BRAIN GOING INTO EMERGENCY SHUTDOWN” moments, just tasty data goodness.

I know that “screencast” can be another of those homicidal-mania-inducing phrases. However, Rob’s really good at making them interesting and at packing an English tonne of information into small chunks. If you don’t believe me, spend a brief five minutes with him learning how to use SubSonic. It will end and you will be stunned at how much you already know about setting up SubSonic.

It’s good. It’s “Matthew McConaughey and Christian Bale fighting dragons1 ” good. It’s “Who eats yogurt at a wedding?” good.

Watching these is way better than going to that Lollapalooza thing this weekend, trust me. -Scott

Footnotes

  1. Why am I referencing Reign of Fire? BECAUSE IT IS CRIMINALLY UNDERRATED.


In a loose worst-to-best order, here are some random thoughts about books on video games I’ve been reading recently. Most are worth reading but if you can only read one, the best of them, “My Tiny Life,” is also the most free.

Synthetic Worlds by Edward Castronova

Synopsis: A professor examines the social and economic impact of MMOs.

An entire book about the economic impact of online games? I was keyed up to read this. He then proceeds to spend the first half of the book introducing online gaming (or as he inexplicably renames them, “synthetic worlds”) in much the same way you might carefully introduce pride parades to that uncle of yours keeps talking about about starting a KKK chapter.

His insights? That people use real money in video games, and that violence is widespread in online worlds but different in context than real world violence.

In other words, the kinds of things that would only be news to the kind of people who refer to Second Life as a “synthetic world.”

Game On! by Simon Byron, Ste Curran, and David McCarthy

Synopsis: Three authors highlight their favorite games

Two-thirds of this book’s authors host two-thirds of the world’s greatest video game podcast that doesn’t talk about video games all that often, One Life Left. Unfortunately the magic of their shows doesn’t really translate into an engaging book.

It’s interesting mostly to see what games they like you may never have played (I need to play Animal Crossing sometime) and what games you agree are unfairly overlooked (Bangai-O is indeed genius).

However, the book fails to really convey anything meaningful for those in-between games. For example, when I saw they devoted several pages to the joys of Super Mario 64 I was thrilled as I was hoping someone could explain what it was I missed in this game everyone else seems to adore. But instead they describe it in generic terms of freedom, authenticity, and the likes. Sadly, that’s the same style that most of the book takes.

Masters of Doom by David Kushner

Synopsis: A surprisingly frank look at the history of id Software.

If you can stop worrying about the historical accuracy of this book long enough, you’ll discover a great read inside. Written as a novel detailing the histories of John Carmack and John Romero, the creators of classics like Wolfenstein 3D and DOOM, it tells a pretty interesting tale. Sure, it’s the standard themes of young talent turning into over-inflated egos, but Carmack and Romero are unique enough characters to keep things engaging.

My only gripe about the book would be the large amount of time devoted to the Romero meltdown, but he still generates such an amount of controversy even today that I can understand why it dominates the second half of the book. Nonetheless Masters of Doom is a quick, entertaining, and surprisingly personal look at the birth of modern video gaming.

Trigger Happy by Steven Poole

Synopsis: Games are important.

“Games are worth paying serious attention to.” This is the central thesis of Poole’s ground-breaking 2004 work. Yes, four years later and already bits of it haven’t aged so well. Yes, he talks about Tomb Raider. All. The. Time. But these are minor complaints in comparison to the wealth of new ideas contained within.

In 240 pages, he touches upon questions of gender identity, gets a rough understanding of how 3-D rendering works, and tries to identify the common elements that make both Resident Evil and Defender effective games. All while keeping it light, understandable, and engaging.

This Gaming Life by Jim Rossignol

Synopsis: Gaming is changing our world in unexpected ways.

Full disclosure: I am a Rossignol fanboy. That said though, I was still caught of guard by how much I enjoyed this book. Ostensibly divided into tales of three cities (London, Seoul, and Rekyjavik), Rossignol covers the spectrum of current trends in gaming. He examines the many (and surprising) ways that games can go from entertainment to employment as well as really delves into ethics and behaviors of online gaming.

Perhaps most telling is his experience in South Korea. Everyone likes to write about how big games are there, how unbelievably huge Starcraft is there, blah blah blah, and so as soon as I saw “Seoul” I rolled my eyes. However, he really digs into the gaming culture there and investigates not just the professional gaming we hear so much about, but each step of the way between that point and the “baangs” or internet cafe that dominate youth culture.

Each of these stories within is told in terms of the human impact upon the gamers, and reading it, you’ll be left with new thoughts and questions regarding their impact upon you too.

My Tiny Life: Crime and Passion in a Virtual World by Julian Dibbell

Synopsis: A year in the life of the vanguard of online gaming in `93.

Before there was Second Life and EverQuest and even DOOM, there were online text-based worlds that allowed people to be anyone and create anything, as long as they could describe it in words. Worlds were created, love was found, and friends made.

Then someone was publicly assaulted in one of these worlds. Or maybe they weren’t, depending on where you stand. In response there was mob justice, or actual justice, or the deletion of a simple record in some database far away. I’m still not sure what I think, it’s tough to sort out.

Years before most people even heard of the Internet, Julian Dibbell was exploring one particular online world in depth. He chronicled his own personal friendships as well as the larger problems of the world. This means you’re right there with him as anarchists and socialists have to come to uneasy settlements on how much virtual government they need, as well the first time he explores the meaning of cybersex and its impact upon his real-world relationship.

It’s heartbreaking, enthralling, and unlike anything else you’re likely to read. And thanks to the magic of expiring copyright, it’s also free, although there’s a marvelous print version available for purchase as well.

EXTRA BONUS!

Soon I Will Be Invincible is a work of fiction that has nothing to do with video games other than the author used to make them. But it’s quite good and it recently came out in paperback. If you ever wanted to be a super-villain, check it out.


Chicago Alt.Net - August 2008 Meeting

Wednesday, July 23rd, 2008

The August 2008 meeting of the Chicago Alt.Net group has been announced by fearless leader Sergio Pereira. It will be on August 13th, 2008 at 6:00 PM (or 6:30P if you don’t want pizza, but c’mon, pizza!) in the Chicago ThoughtWorks office at 200 E. Randolph St, Chicago, IL 60611.

It’s free to attend, but if you’re interested in attending you should register for the event. Otherwise you’ll have trouble getting in the building.

The topic will be Continuous Integration (CI). The meeting will start off with a talk from the lead developer of Cruise, a soon-to-be-released commercial continuous integration tool from the makers of open-source CI darling CruiseControl.Net, and then branch out into general discussion of CI best practices / whatever-the-crap-else-comes-up.

It should be interesting, as according to the developer, “CC.Net is deprecated.” Big words.

If you’re new to Alt.Net (or .Net in general), you’re absolutely welcome to attend. For more information on what the whole Alt.Net thing is about, please visit the Alt.Net Community.


July Braindump

Wednesday, July 16th, 2008

NPR API OMG

If you’ve seen me in person even once, odds are you’ve seen my Chicago Public Radio hat. I’m just a bit of a fanboy.

Imagine my surprise when I saw NPR come up in the ProgrammableWeb “New Programming APIs” RSS feed. But strewth, it’s true! So take a moment (if you are so inclined) and check out the NPR API Overview.

Some initial thoughts:

  • ”The default format of the results is NPRML…” - Seriously? Your results are so different that they need their own markup language? Granted, it’s a subset of XML so it doesn’t sound too crazy, but that’s alarming.
  • It has a lot of features to return queries against their story database as RSS feeds. That means you could theoretically set up some crazy feed that just gets stories that involve Barack Obama, oranges, and the movie Homeward Bound.
  • “… audio from most NPR programs dating back to 1995.” Hot damn, thank you technology.

Another Reason I’m Not Playing WoW

Level 70 = 480 hours. At my probable rate of about three hours a week, I would make L70 in 37 months, with a total subscription fee of about $480 USD.

I think I’ll stick with Rescue: The Beagles.

On a side note, that blog, We Can Fix That With Data, is great. It combines interesting MMO facts with interesting statistical facts. It’s enjoyable if you enjoy either, a must-read if you enjoy both.

← Older Newer →