Freakonomics, Regulate This!

Some people create and innovate, some people follow the innovators, and some do everything they can to keep innovation down. This is a great episode of Freakonomics Radio.

Freakonomics Radio: Regulate This! 

Computer Programming, High School

To argue that computer programming should be a required high school course is absurd. But I’ve learned that many high schools still don’t offer any kind of computer programming/computer science classes. This is surprising to me, because even my high school, a mostly rural school with children of blue collar families and farmers, offered Computer Programming I and II (and before the days of Visual Studio).

I haven’t been able to find much data on the subject, but this Washington Post article states that few than 1 in 10 high schools across the state offer computer science courses:

Across the Washington region’s school systems, fewer than one in 10 high school students took computer science this academic year, according to district data.

I imagine the statistics are similar in other states. Also, one must wonder what is considered “computer science.” A high school near my house teachers Microsoft Powerpoint, Word and Publisher classes. This I find as surprising as the fact that most schools don’t offer computer science classes at all. Computer science, as far as code design, data structures, methodologies, algorithms, is hardly something of rapid change. These fundamentals are the basics that should be learned before any student delves into the specifics of a language. The Microsoft Office Suite, on the other hand, is little more than a set of common, user-friendly tools, guaranteed to be a version or two out of date in the span of four years! Why waste time teaching such things?

I have read that finding qualified teachers to take on computer sciences courses is a challenge. This makes sense, as any skilled engineer would probably rather be earning three times the income of a high school teacher.

Maybe this is an area where the local engineering community could step up. Why not let a good engineer cut away for an hour a day to do some community service by teaching a class? It would be a great way to help high schools–a win-win. The high schools would get a qualified teacher for a specialized class, and the business community would nurture future engineers. This idea seems so obvious that I can’t imagine it isn’t already being tried somewhere!

On Publishing and Writing and Documenting


I was telling my daughter the other evening that it is important to know how to spell, and just as important to know how to write (and write well). She’s going into 5th grade, so such a lecture may be a bit premature. No worries. This lecture will be a repetitive one.

As I recall, the conversation came up when I made note of how impressed I was that she was reading a book just for fun on summer break. Reading–reading real books by real authors with real editors–is the best way to learn the craft. And for whatever reason, it seems that fiction is the best place to learn to write. (This is an opinion, but I have no problem asserting it as undeniable truth.) The technical stuff–most of it–is dry and full of poor writing. I’ve stumbled across countless examples of verbiage in techie books and articles that would make any English professor curse.

I love fiction. Shouldn’t we all? I read much more fiction than non. It would be easy to argue that the skills used to convey well-written fiction have little, if any crossover into a technical career. Don’t say it! (If you already said it, take it back!)

On the contrary, I’ve found that reading quality fiction is applicable my professional career, and its application comes in a form of learning that requires little deliberate uptake. So long as a story holds my attention, reading is easy and fun, and the learning and improving grammar is a secondary, seemingly osmotic benefit. While lost in a great story, we build upon vocabulary and command of language. We see styles and methods that we like. These we recall. We see styles that seem awkward or boring. These we recall as well (and avoid).

I cannot name a single professional career in which the ability to write is not of importance. I’d be interested in hearing of another opinion on this matter. It may sound absurd, as though I am declaring that simple arithmetic is important. But if this is such an obvious assertion, why does it seem that so many communications are written with bold indifference toward basic English?

Lest I get too far ahead of myself, I should come clean with something. The other day I sent my boss a very short email, typed on my iPhone, as I hurried to get things situated at home. The email, I thought, was short and to the point:

Running a little late this morning. In by 9:30.

(Micky is not my boss’s actual name, for the record.) The text above is what I meant to write. It is not what was sent. When I arrived to work, “a little late,” as I had told my boss, he had already had a good laugh at my email. Here’s what I actually wrote:

Rubbing a little late this morning. In by 9:30.

Rubbing. There it was… In my boss’s inbox forever. Foiled by auto-correct again!

Auto-correct is great for very short things, but only when used with caution. In this case it wasn’t a big deal (or was it?). Aside from the hilarity, my boss knew what I meant, and he guessed that auto-correct created the error. As silly as this example may be, it does leave a certain aftertaste, does it not? I’m a technical person, paid for focus and attention to detail. I write software… Software that needs to work the right way every time. While the example above is chuckle-worthy, it is also cringe-worthy. I know better!


Publishing articles here and there has been fun. There’s something extremely satisfying about seeing your name in print. (See how I used two adjectives in that last sentence? Don’t do that in a technical document. Ever.) There is a certain thrill in having your words read by an audience. But with this comes a great amount of work and time commitment, which I haven’t consistently had the bandwidth for. To be sure, writing an article for a trade publication must be a labor of love, as the payout for such things is right around $0.00.

It isn’t all that difficult to get an article published, and it may be something worth seeking, if not regularly, at least once. The key is simply to have a specific goal for the article and a certain amount of knowledge of the subject (along with a willingness to put in some research where necessary). When it comes to publishing in a trade publication or website, it is also important to spend time self editing. Most of these outlets don’t edit much (or very well). It is embarrassing to see a typo make its way through to the end product. Even worse, reading a sentence or entire paragraph that you wish you had revised can be infuriating.

Infuriating may be a strong word… Or not. Personally, when reading anything, be it a book, article, or blog post, I lose focus and interest when I become annoyed by an author’s lack of writing skill. And while I am fairly confident that even this post will have a sentence or two that should be reworked, I stand by this assertion!

Keep the grammar simple. If you aren’t sure whether a particular sentence structure works, don’t use it. Lofty language is for poets, not for those of us attempting to convey a point. If a may set aside humility for a moment, the most consistently positive feedback I’ve received over the years has been with regard to my ability to write. What’s the secret here? Nothing, really, at least not that I can pinpoint. (See what I did there? I used a fragment. I love fragments. They are concise. And clever.)

A few things when it comes to software development and writing:

  • The developer who actually takes the time to document, from commenting code to precise checkin comments to keeping the wiki clean, already has a leg up.
  • Don’t write to impress. Chances are you will fail. Write to communicate.
  • Keep it simple, grammatically clean, and to the point… “Pithy,” as Bill O’Reilly likes to say. As I mentioned before, if you believe something doesn’t make sense, rewrite it in a way that you would like to read it.
  • There is little need to editorialize when documenting software. It may be necessary for certain things, but only in small doses.
  • Documentation is often treated as something that is done once and forgotten. This is a problem.
  • We all like to insert humor into our work lives. This isn’t a bad thing. But if there is any chance your words will be read by a customer or outsider of any kind, don’t do it. The words you use may find their way to people considering your company as a partner, client, or provider. Given the fact that the things engineers write may escape the scrutiny of corporate leadership, we should inject professionalism early on.
  • Have you ever sent a document out to the team for feedback and peer review? When you don’t get any responses (and you probably won’t), don’t assume that this means your document is perfect. It isn’t.
  • The Oxford Comma is the subject of some amount of debate among literary nerds. I think its use in technical documentation is appropriate.
  • Semicolons suck. Too strong? Okay, fine. Semicolons are way overused! This doesn’t have much to do with technical documentation, per se. I just couldn’t help but editorialize a bit.

I am hitting the Publish button now. I have not re-read or edited this post. Shame on me!

Fiber to Wake Forest Residents (Hopefully)

Wake Forest: Public Meeting Sheds Light on ‘Fiber to the Forest’


Hopefully many people show interest and this can actually happen soon.

What’s The Value of College?

CNN: Surging College Tuition
CNN: Surging college costs price out middle class

Not long ago I found myself working alongside a brilliant college dropout–A young junior programmer who was just plain gifted when it came to software development. I was very surprised that he hadn’t completed a degree of any kind. It made me wonder why I had, without much consideration, put such high value on a four-year degree.

A recent InfoWorld article, 15 hot programming trends — and 15 going cold, touches on the issue of rising tuition costs and the questionable value that they bring.

I attended Ball State University — a place hardly known for being an engineering college. It was a nearby school with a Computer Science program that did not cost as much as IU or Purdue. For someone like me, it was attainable. While I enjoyed my time at Ball State, and I learned much, very little of my Computer Science education turned out to be directly applicable to my career. Sure, I learned formal concepts, design practices and perhaps a little about requirements gathering and QA (very little). Some of what I thought I knew had to be unlearned, as I came to realize that things operate differently in the “real world.”

Ultimately, as someone with an inherent interest in writing software, I suspect that everything I really needed to know could have been learned in a year of dedicated study. The rest comes from workplace experience.

The problem, of course, is that if I hadn’t gone the college route, spending 4+ years working on a Bachelor’s degree, I would never have been able to land my first job interview. And it was that first job where I really learned how all this stuff that I knew really came together in a real business environment on a project of significant size.

Through the years, I’ve met great, good and awful software engineers with varying backgrounds and educations. Many of the best software developers attended college, but graduated with a degree in something unrelated (History, Art, New Testament Studies, English, to name a few). These people gravitated to Software Engineering and Development through various means, some of them going on to pursue certifications and other training.

My experience hardly reflects any kind of comprehensive analysis, but I don’t hesitate to say that most of the software engineers with undergraduate degrees in non-CS fields are among those that I consider excellent.

There was a time, not all that long ago, when droves of students gravitated to Computer Science because they heard that it was a great career to pursue. While I happen to agree that it is a great career, I don’t think it is a career for just anyone. It requires a certain type of interest and motivation. Perhaps it is because some folks enter Computer Science undergraduate programs for the wrong reasons, but I have observed all ranges of skill level from those with CS backgrounds. I’ve found myself shocked (more than a few times) by the poor quality of code created by developers with formal CS educations. I once was asked to help debug some code written by a colleague that had compilation problems. It didn’t take long to find the problme: A 2,000+ lines-of-code function that caused the compiler to choke.

Doctors, Teachers, Lawyers, Accountants–These are all people who require specific degrees and certifications. I know that I don’t want to have my eyes checked by a self-trained Optometrist. In software fields it is different. After a software engineer has some experience, it seems that his or her degree becomes afterthought. Unless the subject of college comes up during a lunch conversation, rarely do I actually know the formal education or degree of a colleague. What I do know is that person’s quality and volume of work. Don’t get me wrong–there are things that may be taught in a Computer Science department that are absolutely necessary. Knowledge of algorithms and design patterns is important. It should be noted, however, that knowledge and application are different beasts.

I wonder–If college costs keep rising at such a staggering rate, at what point does the return on investment lose its worth? With companies hard pressed to find good software engineers, and with a greater percentage of the population unable to afford a 4 year degree at even a semi-respected university, when will the traditional model change? There are so many options–from certifications to local technical schools that are available at a fraction of the cost. At some point it seems that a college degree becomes more of a social status symbol than a true reflection of one’s talent or ability.

We’ll have to begin to ask ourselves: Which candidate is right for the job? Is it the one fresh out of college with a CS degree and a 3.8 GPA who lacks experience working with others on a project of scale, or is it the non-college-route self-taught programmer who has proven talent that can be seen by way of open-source contributions?

Occasionally I have seen job postings for software engineers which claim to require a Master’s Degree in Computer Science. I have to wonder: What does the hiring manager believe he or she might get from the engineer with a Master’s Degree that differs from the engineer with a lowly Bachelor’s Degree? In my experience, most Master’s Programs a little more than the same programs that undergraduates complete… The only difference is that the students in the program have already completed a four-year degree (and that degree could be anything).

This isn’t to demean formal education. If I had it to do over, I wouldn’t change my time at Ball State University. No way! I was fortunate, however. When I went to Ball State, college was merely ridiculously expensive. Today it is insanely expensive. In 10 years, it will be unattainably expensive. When that happens, where will the software engineers come from?

SSH User Annoyance & Solution

I’m in an environment where whenever I ssh to a machine I have a different username than that of my main machine. For example, the username on my desktop of “Some.Desktop.User,” whereas all the Linux environments I ssh to use the username “Some.Linux.User.” I’ve typed “ssh <host>” countless times, only to be annoyed when I realize that the password I am being prompted for is for “Some.Linux.User,” which does not exist on the host. Of course I should have typed “ssh <host> -l Some.Linux.User.”

To make life a little easier, do this:

In ~/.ssh create a file named config. In that file add the following:

Host *
User Some.Linux.User

Likewise, if you have a number of different accounts on different servers, you can do something like this:

Host servername.domain
User Some.Linux.User.1

Not exactly a super secret tip, but a useful time saver.

Obligatory Social Media Advice to the ‘Younguns”

Social-Media-IconsI’ve seen a few good posts and articles that make attempts to explain to young ladies—teens and preteens—the consequences of their posts online. Many of these are very good, with many great points. This is my own attempt. Don’t get me wrong: I love social media. I’m a fan.

Thirteen to eighteen can be strange years of life—this is nothing new. What is new is the technology available, and the way that a single poor choice can do to ruin a reputation. During these years, kids have the ability and know-how to make choices with lasting consequences. They do not always have the wisdom that should be used with such powerful, lasting tools at hand.

I remember being a teenager. (There I go… I sound old with one short sentence.) It wasn’t THAT long ago! I also remember saying things like, “I don’t care what people think about me!” and “As long as I’m true to myself, that should be all that matters.” Neither such statement is, was, or has ever been true. Every teenager who has ever said such things (most of them) thinks he or she is the first one to come up with such an idea. Also, every teenager who ever said this actually does care what others think.

It doesn’t change in adulthood. I care what others think of me. You bet I do! I care what my boss, my family, my neighbors, and my colleagues think about me. Why wouldn’t I? I want them to think that I am loyal, hard working, and kind. Heck, I want them to think that I am smart and handsome! I may be neither, but the desire is certainly there.

While it is important that we don’t allow unfair criticism to impact our personal values and sense of self worth, there is always good reason to take heed of what others may think: Reputation.

I have daughters—not quite to the age where this is yet a problem—but its coming, and its coming very soon. Unlike many parents, I’m fortunate enough to be tech savvy. On the computers in my house, and on my wi-fi, there will be little if anything that goes on without my knowledge. I know how to block certain sites and how to track access. I know how to obtain passwords. Will I snoop on my daughters? You bet I will!

I’m also up on the current trends, so I guess I’m lucky enough to know all about Twitter, Instagram, Snapchat, and Vine and Not long ago I set up an account to see what it was all about. I was bothered—repulsed, actually–by the creepiness of it. If ever there was a tool to allow strange folks with malicious motives to stalk young people, this is it.

In our house my wife and I have established a rule, and to be fair (at least in the eyes of naïve children), this rule will work both ways: No password are to be hidden from one-another. Other than surprises–i.e. gifts–there is never a good reason to keep secrets from immediate family. Sure, they’re young, but it is important to establish such rules early on. Dropping a new rule on a kid when he or she turns a certain age is not likely to go over very well.

To some this may seem like an extreme move. Even the most involved parents that I know sometimes say that children need their privacy. I certainly agree that I don’t need to be breathing down their necks at every turn (nor could I). When it comes to one’s online presence, however, this is necessary. Too many parents have no idea what their kids are doing on the phones, iPods, or tablets that they received for Christmas. Some think that simply disallowing Facebook and Twitter accounts is sufficient, without knowing that the kids have already moved away from these social networks in favor of others that the parents aren’t hip to.

I’m not foolish (well, not always).  Monitoring devices and network access is far from foolproof. At some point there will be nothing I can do to ensure that my children aren’t doing something stupid by way of social networks or text messages. The best I can do is explain the possible consequences and teach them to be smart, safe, and be aware of their reputation.

I’m not the first, nor will I be the last, to say this: A single picture, a single bad text message, or a single bad post can do much to solidify one’s reputation. It can do a great deal to lock in the type of person you are perceived to be—And perception is everything! The unfortunate thing about a reputation is that the negative is much more easily locked in by a few bad choices, while it takes much diligence to maintain a good reputation. We’ve all made bad decisions, but until recently, such bad decisions weren’t so easily disseminated to the masses.

Others have probably heard this advice: Before posting or sending something, ask yourself, “Is this something I would want my grandmother to see?” (Or how about “Would I want my teacher to see this?” There’s a good chance—a VERY good chance—that one of your teachers will see it.)

The above is good advice. Great advice, actually. Unfortunately, most teenagers aren’t thinking of this question as a prompt of appropriateness. They are thinking of the near-term benefits, along with the perception that the “old people” are clueless (old, in their minds, being anyone over the age of 25). (I’ll say it again: If your parents don’t, your teachers can and will see your posts.)

As I peruse Instagram, I am sometimes stunned by the amount of junk that kids post, and the lack of any self-filtering used. In the case of young ladies, it seems that many of them are eager to get likes on their pictures, as they try their best to look attractive and appeal to the boys at their schools.

The duck-lipped-smoochie faces are everywhere. The bikini-selfies, posted with some sort of idea that, while a young lady just happens to be wearing her swimsuit, she really just wanted to post a picture of where she was at—or her new hairstyle—or a new gadget is not the exception. It is the norm. I suspect that many such pictures are posted with the idea that plausible deniability is along the lines of, “Oh, I didn’t realize people would see it that way.” (Yeah, right.) Maybe its true. Maybe the ever-trusting mother will say, “Oh honey, you didn’t know better, but some people may see that the wrong way.”

Here comes the standard disclaimer (I tried not to, but alas, I must): I’m not a prude, but…

What? You don’t believe me? I’m not a prude! Really!

Many, many people—countless more than a kid can imagine—see these pictures. It doesn’t matter what privacy settings may happen to be. Any image can be copied and passed along. I’m reminded of how infuriated Tommy Lee and Pamela Anderson were when their now-famous home video became public. The best way to avoid having it ever seen would have been to not create it in the first place.

With social media, the situation is a little different. The people posting these pictures want them to be seen, at least by some audience. As we all know, however, when it comes to anything on the Internet (including text messages), no such posts will ever be as private as one may hope. I’m sure that telling teenagers to refrain from instant messaging isn’t very easy these days. And even the best, most involved parent cannot look over a kid’s shoulder all day long.

Anyway, here are a few things I would like to point out to any young ladies who may happen across this post. I could say all the things that any of us heard growing up: Trust me, I’ve been there…, I know more than you think I know…, Adults aren’t as stupid as you think…, This is for your own good…, What would (insert relative’s name here) think of that picture?

I hope, for the sake of my own children and for the sake of others, that some amount of this advice becomes commonplace enough that tweens and teens begin to take heed.

Nothing is Private

I know that you think you and your boyfriend will be together forever. You won’t be. When you break up, do you really want him to have that picture you sent? If he does have any such pictures, you can be fairly certain that all of his friends do as well. If he hasn’t passed the picture along to his buddies, he will when the two of you break up.

That picture you sent to the love of your life a year ago will go viral. Maybe not to the degree of Charlie Bit My Finger, but to a much greater degree than you ever imagined or desired.

The Grandma Test

Here’s a better question to ask yourself, even better than asking if you’d want your grandmother to see it: Would you want your future husband and children to see it? Long after middle school and high school, after all the silly mistakes that we make along the way, and after those blunders (you hope) are forgotten, the Internet doesn’t forget. You can try to delete your accounts and remove old posts, but it’s all backed up and cached somewhere. More importantly, you cannot delete the accounts and posts of others. Once that picture or video you sent is out of your hands, it’s out of your hands for good. Sometimes you’ll be on a job interview. Do you really want to wonder if a potential employer happened across that thing from years ago? (Employers Google candidates. Its true. They do.)

You know what you’re doing–Admit it!

You posted a picture of yourself with the caption “I love my new hairstyle!” It just “so happened” that you were standing braless, or in a bikini, when you posted that picture. Maybe 2 guys from your school pressed the like button. Maybe 10. Maybe 100. You’re secretly thrilled, because you know—admit it—that they aren’t liking your hair. Teenage boys can be vile, filthy creatures. On this I will say it without reservation: TRUST ME!

Now that you have posted the picture, for all to see, and you got a like from Billy Smith, that cute guy in your math class, you may have some sense of pride. This is what you were seeking in the first place, right?

What if Billy asks you to the semiformal dance? You are going to meet his parents—His mom and dad, maybe even grandparents—who may or may not have their own Instagram accounts (or maybe they check his phone messages—and maybe he doesn’t even know it). Do you really want his mother’s first and only impression of you to be as that girl who posts and sends provocative pictures of herself? I’m sure the duck-lips that you made while taking the picture will be the least of her concerns.

As for Billy, what are his thoughts about you? Is he someone who likes you because you are funny, pretty, and charming? Or has Billy gotten the idea that you’re exactly the kind of girl who is going to satisfy his teenage-boy urges?

Billy will never admit it, but he’s thinking of pretty much one thing and one thing only. I’ll let you in in case I’m being too vague: Billy thinks that any girl who would post a picture of herself wearing next to nothing, and get away with it, probably has parents who will allow her to stay out late and do whatever. And Billy is fairly certain that his semiformal date has pretty much already said yes to his planned advances.

Maybe you’re okay with Billy having such ideas. Maybe that’s the kind of young lady you are. If you aren’t my daughter, it isn’t my place to scold you. But what if you aren’t ok with this? What if you’re just a young lady who, like most teenagers, wants to know that she’s pretty. And maybe that bikini pose that resulted in100 likes on Instagram provide that kind of boost to your self-esteem.

I’m not ridiculing you. We all want to be liked. We all want to be attractive! I love it when I post a family picture on Facebook and someone comments, “What a great looking family!” I’m no different. There’s a certain satisfaction in being complimented in such a way.

→ Back to Haunt

Here’s another question: How is your self esteem going to be when Billy dumps you a few days later, and shares that private picture you sent to him while getting ready for the dance to all of his friends? (Hint: It’s going to be in bad shape.)

Or what if Billy turns out to be a downright nasty dude, far worse than you could have imagined, and he follows up with a comment on that Instagram picture you posted with a detailed account of what happened after your dance? It could be all lies, but the people seeing such words along with a promiscuous picture are going to assume that its all true. Even before you have a chance to delete his awful comment, it has already been seen by your friends, family, and others. This is far from embarrassing—It’s devastating.

“But Billy would never do such a thing!”

Are you sure?

The Creeps

Let’s not forget about the creepy old men out there. It’s tragic, but true. There are some very bad people in the world, and your lack of experience may lead you to a strange conversation. You’re young. You assume the best. Maybe those kind messages you received lead you to go meet this guy. He told you he’s in college, and that he just turned 19. He even sent some pictures to prove it! Yikes. This goes beyond ruining your reputation. It could ruin your life. It could wreck a family. I’m not trying to play up the possibilities for the sake of creating some worst-case, only-in-the-movies scenario. The reality here is frightening enough. Don’t ever so much as even consider meeting someone in person who solicited you on the Internet. Please.


Finally, bullying. I’ve seen it myself, and sometimes from surprising sources. It might seem funny to post a picture of that zit-faced nerd from you biology class. Maybe the number of comments you get from such a post, along with the “hilarious” comments, offers some sort of thrill. It puts you on a pedestal, somehow bumping you up a bit on the cruel social ladder of high school. You’re way-cool. You’re in the cool crowd! You’re social status has put you in a position of high-school pecking order above the nerds! I could go on and on about bullying. There’s something about the detachment of a post that makes those who wouldn’t typically bully in-person behave much differently. It makes bullying easy, but no less cruel.

That nerd, he’s a real person with real emotions. He’s more than a hash-tag. He’s seen the post, and now we must suffer through all the hurtful comments. His offense? Nothing that he ever had any control over. Maybe he already felt bad enough about the crummy clothes he has to wear. Maybe his family cannot afford anything better than thrift store purchases. Maybe his mother passed away, and his father is doing the best he can, and the nerd, let’s call him Jimmy, has enough difficulty in his life without being publicly ridiculed for little more than not fitting in.

Is the emotional dismantling of Jimmy something that you want to be a part of? You may not realize it yet. You won’t know if for years to come, but that boy you made fun of may turn out to be the best marriage material out there. Jimmy-the-nerd may turn out to be the nicest young man you never knew. Be nice to Jimmy. Sit with him at lunch. He may turn out to be an amazing young man.


I know all of this sounds a bit surly. It probably even sounds like the foolish voice of some “old guy” who doesn’t get it. It’s worth saying, in any case. Apologies for targeting the females out there. All of the above advice is equally appropriate for you men, but I’m a father with daughters.

“New Math”

I’ve heard about new math for a long time now, but only recently have I been impacted by it. This evening I was attempting to help my daughter with division homework. The best way to explain the frustration we both endured is with an example. New doesn’t always mean improved. Old ways of doing things tend to be old because they have worked very well for a long time.

New (Confusing) Math



William Durand: From STUPID to SOLID Code

Working Oneself Out of a Career

ResumeThis is going to be a tough question, and I suspect many won’t like the anwer.

Are you working yourself out of a career?

If this question confuses you, chances are you are doing just this. Perhaps you’re the main guy or gal on your project, and your company values your work (for now). What is your work? Are you doing the same thing day after day? Maintaining Oracle Forms? Updating a legacy web site? Parsing through line after line of Visual Basic to keep some legacy system running smooth?

If so, what else are you working on? Anything?

I remember all too well the dark days of 2001 through 2003, when, just after the dot-com bubble, many skilled software developers were out of work with no good options. Any companies that happened to be hiring took full advantage of the fact that the market for software people was flush with resumes of people who were desperate for jobs. The pay dropped dramatically. I lost my job at a startup that failed, and took the first job offer that came along: A technical writer and quality assurance contractor on a federally-funded project. The job, initially, was horribly boring. I literally hated what I was going–but it was a job.

My problem was, being somewhat young, I didn’t have a powerful resume or much experience under my belt. I didn’t have the proof, so to speak, to convey to a potential employer that I would be a great fit for a position. And the sad fact was that, no matter how great I might have been for a job (so I thought), or how hard I was willing to work, there were literally thousands of other candidates out there. The hiring companies had their pick–and believe me–they were picky!

As good as things seem to be for software developers right now, I’ve learned that the market can change quickly. So it is on you to make sure that your skills are diverse and up-to-date. To that end, it is necessary to continually pursue new learning. Let’s face it: Your employer does not have a vested interest in seeing you grow your career. An employer wants an employee to meet their needs as efficiently as possible. That’s fine. Expected, really.

So what are you doing to ensure that you are valuable when the time comes that your employer no longer needs you, or when your employer downsizes or go goes out of business? It’s a question that many of us don’t wish to ponder too much. It sounds so negative, doesn’t it? But it’s an important question.

It isn’t bad to be an expert at something. It’s great, for example, to be an expert C++ programmer. Kudos! But what does ‘expert’ mean exactly? Does it mean that you do one thing very well, but nothing else? It may mean that you are valuable as a C++ programmer, but of no value when it comes to other needs: UI design, Database Design, jQuery, HTML5, Agile, System Administration. A hiring manager would rather hire a candidate with many diverse skills (yet expert in none of them) than an expert in a single skill.

In a single week at work I find myself working on OS scripts, front-end UI design, back-end data access, business services and Rest APIs. My position requires that I have knowledge of the “full stack” (A term I despise!) as some like to call it. This is good. I feel secure in knowing that I’m hire-able (not to sound self-satisfied) based on a wealth of skills. Should I find myself looking (I’m currently quite content), I’ve built my resume up to show that, while I’m an expert in nothing, I’m skilled in many things. This is a better way to go.

This is  a topic that I plan to write more about, perhaps turning it into an article. I want to leave with this, and this is going to sound a little negative if taken the wrong way: If you have been doing the same thing day in and day out for X years, you have not gained X years of experience. You’ve gained 1 year of experience X times in a row. It may be time to consider looking for a new job right now–while employers are eager to find talented software developers. And not just any new job. You need to find a job that will challenge you–stretch you to learn and grow new skills.

(I hope this post doesn’t strike anyone as self-righteous, cynical, or rude. My intent is only to point out a common problem in the career of software developers.)

No Rock Stars Either!

Screen Shot 2013-08-04 at 11.01.00 PMSpeaking of the “Ninja Programmer” silliness, I stumbled about this ad today. Ug. If you’re company is looking for a “Rock Star Programmer,” you may be misunderstanding a great deal.


I stumbled upon these videos from “Numberphile” on Youtube. I’ve never been much of a math geek, but these videos are really interesting.

Coding Horror/The Software Career

LadderI don’t like to just post links to another blog or article. Anyone can do that, and there are far too many blogs out there that create no original content. So I try to write original thoughts and articles. That said, sometimes this is a rule worth breaking. Jeff Atwood has a great post over at Coding Horror titled So You Don’t Want to be a Programmer After All.

Atwood asks the question, “What career options are available to programmers who no longer want to program?” This is converse to a subject I’d like to write about soon (still gathering my thoughts: What career options are their for programmers who wish to move up in their career, perhaps into management, while never losing the ability to actually write code?”

Unfortunately, it seems to me that in this field the general career path goes something like this:

Junior Programmer->Senior Programmer->Super Senior Programmer->Awesome Amazing Programmer->Manager (stop writing software)

I know of at least one person who got into management, didn’t like it, and gave it up to move back into a full-time developer role. What about the programmer who wishes to do both? And why do we assume that software management means an end to coding in the role? Sure, this isn’t always the case, but in general I think it is. It strikes me that many of the best developers move into management, thereby eventually losing their hands-on skills. That seems unfortunate.

The IBM Tank Keyboard


Look at this beauty! This is a clear case of “They don’t make ‘em like they used to.”

I found it laying around the office one day–free for the pickin’! It’s over 20 years old, and not unlike similar keyboards that are even older. It’s heavy. It makes a satisfying click noise when I type on it. They keys rise over a half of an inch. The date of manufacture on this one is 1992, but the copyright date is 1984. On the back, in large bold print, it reads “Made in the U S A.” The cable is long–at least 6 feet! It works perfectly, unlike the standard-issue keyboards that come with the Dell desktops that so many of us are issued at work.

You know the ones. Certain keys stick after a while. Some come loose. You’re never sure if you pressed a key or not because they feel so spongy.

Sometimes people look at this keyboard and ask, “Why in the world do you have that thing?” Others, those in the know, look at it with a certain degree of envy. Unfortunately I cannot attach it to my Mac. I don’t have a PS2 to USB adapter on hand, and I haven’t bothered yet, as I’m not sure if OS X has the necessary drivers.

I wonder what has happened to keyboards. They often seem to be an afterthought. Sony and Mac laptops are decent, but have you tried typing on a Lenovo, Dell, Toshiba, or HP keyboard? It’s downright difficult, even for a man with average sized hands. I suppose the poor keyboard that we are forced to use are a result of cost. Back in the day, I’m sure this IBM keyboard cost and arm and a leg. But here it is–still being used–and still performing with the lasting quality it was designed with.

Wikipedia: IBM  Model M Keyboard

No Ninjas!

Ninja ProgrammerMany of us have seen them: The job posts claiming to be seeking a “Ninja Programmer.”

I presume that these are companies that are:

  1. Looking for a well-versed candidate with diverse skills and the ability to tackle any project.
  2. A candidate that will find more value in the way he/she is perceived than salary. (Reading between the lines: “We can’t pay you much, but we will appreciate you a lot!”) This may not always be the case, but there there often seems to be a hint of this in “Ninja” job descriptions.

The second point is based on other verbiage I have seen alongside such job posts. Things such as “Do you find more value in what you get to do each day than anything else?” Sure, I find value in the more exciting aspects of a role–The opportunity to learn new things, set direction, and get things done. Of course! I also find value in money. Let’s be honest here.

Sometimes the word Ninja is replaced by other crafty (or not-so-crafty) buzzwords: Rock Star, Guru, Genius, Superstar. It doesn’t take much insight to recognize the aim of such verbiage: Flattery.

I’m sure that any company using such lingo in a job description is sincere in the desire to find a candidate who is very good–one who will be able to complete sizable, complex tasks. Naturally! I also think that a single superb programmer can often achieve the work of three, perhaps four or even five, average programmers. I’m fascinated by some of the legendary programmers out there: People like Linus Torvalds and James Gosling. But even the most famous programmers rely on a tremendous and ever-growing amount of community insight and preexisting work. (By the way, there is a video from a Google I/O Conference, The Myth of the Genius Programmer, that addresses this subject very well.)

BloodsportI’ve worked with a few “Ninja Programmers” over the years. The term is highly relative. I’ve had positions where I may have been considered the Ninja. I’ve had other positions where any Ninja-like self satisfaction was as elusive as the stealth and cunning of a Ninja portrayed in a 1980s movie.

How did this lingo come about? Those of us in the business of writing software often have a few other desires. I know I do. Anyone who grew up in the 80s dreams of being a Rock Star, Ninja, or at least Frank Dux. The buzzword job titles are a way of making a job that might be very difficult, taxing, and demanding of time and talent sound appealing. I may have to work 100 hours a week, but at least I’ll finally be a Ninja!

It’s no different than job descriptions that contain the infamous words, “We work hard and play hard!” What does play hard even mean? It sounds like something that might involve torn ligaments.

The point of this post isn’t to seem cynical (although it might). The point is this: Software Developers, Architects, Engineers, whatever you call them, aren’t some strange group of people that have to be wooed or tricked into accepting a position. We’re grown adults. There are certainly great Software Engineers out there. But they aren’t stealthy, and they don’t hide in trees or karate chop bad guys.

I’ve worked with some brilliant software folks over the years. I’ve worked with some very poor ones as well. Those times in my career where I’ve found myself the lone “Ninja” of the team have been among the most floundering times of my career. It is difficult to teach oneself new things in a vacuum. I’ve found that it is best to be on a team with lots of other “smart folks”–people from whom you can learn, and people who will add checks and balances. That so-called Ninja–The lone genius that a company relies on for all software needs–is going to cause a few problems.

A few that I can think of right away:

  1. A lone programmer–the company “genius”–will soon face burnout. No matter how much the individual loves writing software, one can only be stretched so far. This highly talented individual has all sorts of opportunities coming his or her way. It won’t be long before such a talented person is offered a job making more money and working fewer hours. What happens when the single guru leaves the company?
  2. The lone programmer may not play nice as the company grows. It can be difficult to let others touch your baby. When you’ve written thousands of lines of code and a new team member comes along and starts mucking with it, there can be problems. I’ve been the new guy, pestering the old guy, and messing around with legacy code, much of it poorly documented. I’ve also been the guy on the other side, a bit perturbed when someone dare say that my code might be better ifBe gone, you and your new design pattern!
  3. Along with number 2, any programmer with enough of an ego to allow himself or herself to be labelled the company’s Ninja, is likely to have an ego that does not lend itself well to “playing nice with others.” I have to confess once again to having been on both sides of this. It feels great to be in a position where you are thought of as being “the smart guy.” Although burdensome, it feels good to be trusted with the complexities of software that nobody else understands. It also leads to a certain feeling over ownership of code, and heavy reliance on a single individual.
  4. When trusting that lone smart guy/gal with all of the code, a determination has been made: There will be no collaboration–no merging of ideas–no team to challenge each other, from within, to do better. It’s the sharing of backgrounds and experience that leads to the best software design, and I believe this is true no matter how talented one programmer happens to be.

I’m sure there is more that could be added to this list. These are just a few quick thoughts on the matter. While being a Rock Star might not be all that bad, I don’t want to be a Ninja. Sometimes Ninjas get blow-darts stuck in their necks. Sometimes they get beat up by Bruce Lee.

Mac Startup Chime/Badfinger’s Day After Day

The other day I had an epiphany. Okay, epiphany may be a bit of a strong word for this little discovery, but I did suddenly realize why I often get the song Day After Day by Badfinger stuck in my head many mornings at work. It all has to do with the first note of that song and the startup chime on my Macbook. So I created this video to help solve the mystery. And since I created it, I might as well share it. Sure, it’s of little consequence, and probably a big waste of time, but a little curiosity never killed anyone (except for some cat, apparently). I also spent some time reading about the difference between might as well and may as well. It’s pretty much commonly accepted that they mean the same, although some people nitpick and claim a difference. Happy Friday!

Mac Chime/Badfinger Day After Day comparison

Where Are the Females?

I have an idea for an article, but I’m not entirely sure how to approach. IAda Lovelacet’s a subject that I believe some have written about, but as a male, it isn’t a subject that I have given much though to until recently: Where are all the female software engineers?

I suppose the only reason I’ve thought about it at all is because I have two daughters, neither of whom seem all that interested in video games or computers. Sure, there’s some passing interest. They like simple games on Friv. But really, for the most part, any interest in that which may be considered “technical,” ends once they get Pandora open and playing their songs.

I’m definitely not one to declare this an open and cut case of sexism. It could simply be a difference among genders. As someone who loved Lego as a boy, I tried pushing Legos on my daughters. It didn’t stick. I’ve presented video games. No dice. They’ve watching me tinker with Arduino… With only passing interest.

In college I had two female computer science professors. One taught Cobol, the other taught Data Structures, Object-Oriented Programming, C, and C++. This second professor, not a PhD, was one of the best professors I had. She knew her stuff–and she knew how to teach it. Sure, most professors know what they are talking about, but the skill of teaching is something, at least in my experience, that most lack.

I’m trying to think of how many female software engineers I have worked with over the years. I’ve worked with female managers, product and project managers, quality assurance engineers, and technical writers. But when it comes to counting the number of female software engineers I’ve encountered, I think the number is two or three (and only two that I can recall). I do know another female who majored in Computer Science, entered the workforce, worked for IBM, and left the field because she hated it.

While sexism, I think, is an oversimplified answer, I think that simple gender preference is equally oversimplified. After all, there are many female scientists, math teachers, and engineers of other disciplines. May it have something to do with social nature? One can only guess. One would expect just about any professional field to be weighted one way or the other. We aren’t surprised that there are more female than male nurses, or more male than female auto-mechanics. But in these fields, the reason for a gender preference seems somehow a little more clear.

I may not give this a second thought if I had encountered just a few more female software developers. But just two or three seems low enough to suggest that there is something more at play. I don’t suggest for one minute that it has anything to do with bias on the part of men, and I can say this because I personally have not encountered any such bias. I have never once heard men discuss female engineers of any kind in any derogatory manner, nor would I take part in such a conversation (I have a mom, two sisters, a wife, and two daughters–all of them extremely intelligent). Nor do I suggest that the measure of gender equality is equal numbers of men and women in a given field. I think that assumption would be outrageous (correlation doesn’t imply causality, nor does correlation necessarily imply inequality–it may or may not).

About a year ago I was helping my oldest daughter with her math homework. I was shocked when she said, “Dad, I’m just a girl, I’m not good at math.” WHAT! Where in the world would she have heard such a thing? Certainly not from me. Certainly not from any of her teachers (all of them female). When pressed, she could not explain to me why she thought such a thing or where she might have heard it. The only answer I got was, “Math is for boys.” Similarly, I wonder, if for some reason, young girls develop a sense that computers are for boys. And if so, where would this troubling idea come from?

I’m interested in hearing some thoughts on this subject, and if any female software folks happen across this post, I would be especially eager to hear from you.

The (un)Healthy Developer (Part 1)

Assertion #1: You may not like me. (Not immediately.)

My Fellow Software Developers, Architects, Designers, Engineers, Leaders, Quality Assurance Analysts… Whatever your job title (and whatever your real role, as a job title says little). I have a prediction: You will either read this article and agree wholeheartedly or read this article and take offense. Please don’t take offense. Perhaps ‘take offense’ is a strong way of putting it. Maybe a more likely response is Yeah, yeah, I’ve heard that or I know, but who has the time?

This article is written for us by one of us. It’s FUBU, so to speak.

What makes me an expert? Because, I am proud to say, I have overcome the cubicle lifestyle and found that there is a much better way of life beyond these short walls. Dare I say it? I’m a better employee because of it! Dare I say something else? May I? Here goes: Those of you who read this introduction and are tempted to stop now are likely the ones who most need to read on. Stick with me. I’ll make this fun. I’ll try, anyway. I’m on your side–we’re kindred, after all.

Oh, and one more thing before we proceed: I don’t wish to give anyone false hopes. I have no secrets to share. I know you’re wondering because I’ve been asked many, many times over the years. The question I get often, and one I dread: What’s your secret?

There’s no secret. There’s no miracle pill. There’s no app for this. I have not discovered or unlocked a great mystery here. That said, I have some sound advice. Good advice. It’s changed my life. If you are to proceed, changing your entire lifestyle (one that you’ve become quite accustomed to over the years) It’s going to suck at first. You may hate it–at first. There’s no getting around that. You are going to want to do it. Not for a while. The love of exercise does come, I promise, but it may take a while. (How’s that for motivation?)

Assertion #2: An unhealthy lifestyle seems normal, justified, and typical, in a world that is decidedly unhealthy.

Remember the first Superman movie with Christopher Reeve? There’s this scene toward the beginning of the movie where Superman, as a teenager, is running around enjoying his super powers as he races a train. The train is barreling along at a very high speed as Superman runs alongside it and then right past it.

I thought of Superman the other day as I was out running. There is a section along a trail I run where trains come to a stop, slowing to a vastly diminished rate prior to unloading cargo. On this day, as this particular train slowed to about 6 miles per hour, perhaps for an upcoming stop, I ran past it… Just like Superman, I was outrunning a train! (Faster than a locomotive!) For a good long while I felt like a real stud. I felt powerful. It was very fun to pretend that the train was moving along at a very high speed, and that, indeed, I was able to out pace the mass of steel.

For a moment I was Superman!

Its easy to seem good, great even, when you measure yourself by standards that are low enough. I do this all that time. Heck, I can be downright Christ-like when I find the right people to compare myself against. This might be why I like watching TV shows about prison so much. They make me feel like I’m a really good person. I haven’t robbed any banks, after all! This is why society loves Honey Boo-Boo so much. It has to be! How else can we explain the success of such a show?

What if I was training for a race and I decided that the best way to get faster was by outrunning trains? It sounds impressive at first, but I wouldn’t get much faster if I only raced against trains moving at 6 miles per hour. Before the race I might be a bit arrogant, bragging to others about how I trained for the race by racing trains. And perhaps these people would be as impressed as I can be with myself.

We can all outrun a train if it moves slow enough. I guess its easy to be fooled into thinking of yourself as Superman-like.

What’s the point of all the Superman and locomotive talk? Stick with me–I’m not sure where I’m going with this yet. I’ve only an idea, and possibly a few readers willing to stay through to the end. This is an article about health. That’s right! It’s a topic that you either love or hate. Am I right so far? For good measure, should I throw in some statistics and evidence? Dare me to? Or, can I lighten up a little and trust that you already know more than you’d like about heart health, job stress, adult diabetes, and all the rest of the fun? You’re reading my article, so right away I like you. I am going to trust you to do your own research in this area.

Here’s some more research, and I bet many folks don’t know this part of the story as much as the Chicken Little warnings about bad health. Obviously sitting at a computer all day long in a dark office drinking Mountain Dew and eating M&Ms is not healthy. We learned this back in 3rd grade, didn’t we? Conversely, however, the healthy lifestyle, while good on all accounts, is one that is avoided far too often. If we all know what is healthy and how to do it, why do we avoid it?

Let me re-introduce myself. I am Matthew Rupert, a guy who was skinny in high school, skinny for two years of college, chubby for the other 3 years of college (yes, 3 more years). It was sorta cute that the former skinny guy put on some pounds in college. All my friends got a good chuckle out of it. I did as well. My story is probably very similar to yours (assuming you are my age or older). For those of you young whipper-snappers just coming into your career, listen closely to the rest of this article.

Now a career man, the slightly-chubby frat-boy-turned-professional-software-engineer, life changed. I lived in an apartment with two friends, and for the first time in our lives we had money! Real money! Our own money! We stayed up late most nights, playing video games, going to a bar or two, or just sitting around talking. We drank beer. Not the cheap stuff. Oh no! We were professional young men. We bought the good stuff: Sam Adams and Guinness and other stuff with strange names. We had become far too class for that cheap stuff that our father’s drank.

We bought our own groceries. Wait. No we didn’t Groceries? Buying groceries would require cooking, and cooking would require cleaning, and what young professional ha the time for such nonsense. We ordered pizza and Chinese food. We went out to eat for lunch… And again for dinner. Life was good! And we were blessed in other necessary ways: We could afford to buy cool clothes. And new cool clothes were often necessary, at least for me, as my waist size continued to push to sizes that should have made me blush.

Ah, the life of a young, single professional? Ain’t it sweet? Beer, pizza, video games, and a 38 inch waist.

“38 inch waist?” you say, “That’s not that bad.” That depends on many factors. As for me, I’m a relatively small-framed guy. You’re not going to see me entering the UFC Octagon any time soon. 38 inches turned out to be a mere pause along the journey. A couple of years later I was married. The life of a young married couple with no children isn’t all that different from the bachelor pad life. Lots of nice dinners. Lots of going out to eat for lunch. These lunches were easy to justify. “It’s work, I have to stay on top of the office politics. And I also have to eat two giant burritos to show that I am an alpha male.” The 38 inch pants still fit, albeit with bit less freedom than days past.

My wife got pregnant… And I got a wacky autoimmune problem with my skin. Double whammy! Here’s way:

1. The sympathy weight you’ve heard of during pregnancy, it’s real. It’s SOOOO real.

2. Predisone, sometimes prescribed for autoimmune problems, is an amazing drug. It fixed my skin right up! It also helped me to gain 30 pounds seemingly overnight.

POW! BOOM! BAM! In a span of less than 10 years I had gone from Peewee Herman size to Francis Bucston size! And it all happened without any effort on my part. Effort would require some sort of deliberate focus, of course. This was not effort–this was just plain indulgence empowered by a sedentary job sitting in front of a computer. I emailed a friend a picture. This friend, who hadn’t seen me in 7 years, emailed back, “Did you swallow a coworker?” I laughed. It was funny, after all, the once skinny guy now being a–dare I say it? A fat guy.

There, I said it.

Oh sure, there was much more to me and to my character than being a fat guy. I was a blossoming software engineer, eager to grow into a lead role. I was a daddy. A damn good one, I might add! I was a husband. I was… An avid TV watcher. I was… Really good at sitting after a long day of work. I was leveling up on Everquest. I was snoring more. I was tired. My blood pressure, for the first time ever, was high.

And I was tired. So tired. There didn’t seem to be enough time in the day to do all the stuff I wanted to do. I was exhausted at work, even on the nights when I got a full 8 hours of sleep. By the time I got home I was too tired to do much of anything (although babies require much attention, whatever a father’s state of physical health and alertness).

A little concerned about my blood pressure (and fairly certain that the machine at Walgreens had it wrong, despite checking it out at several different locations), I made an appointment to go see a doctor for a physical.

Assertion #3: Getting started is the hardest part.

There I was, barely into my thirties, overweight, out of shape, tired, and with high blood pressure. My doctor, a fit man at least 20 years my senior, told me as gently as he could. “Matt, it might not hurt you to do some exercise.” He continued, and this was the part that really bothered me, “I don’t want to put you on blood pressure medication at such a young age.”

Me? My 40-inch waistline spoke little of the skinny guy on this inside.  How could this be? I’m not that bad off! I mean, just look at Kevin, Chuck, and Roland. Those guys are the ones who are overweight and out of shape. Not me!

Just as a normal man can feel like Superman running alongside a sufficiently slow train, an unhealthy man can feel perfectly content when comparing himself to others of even worse fitness.

I left that appointment with my head hung low. It had happened so gradually that I didn’t notice: I was heading down the path of my grandfathers before me. Overweight (severely) and well on my way to heart problems down the road. Maybe not for “a long time,” but I knew the doctor was right. And by my early thirties I realized something else: The years seem to move by a little more quickly. (See the Wikipedia post on Time Perception. Specifically the section on Changes in temporal perception with aging.)

I now had a daughter, a lovely little girl who I adored more than I thought it possible to adore anything with the capacity to create such a stench. That evening, as I held my baby, I realized that my health wasn’t simply something to be maintained for my own sake. I now had someone in my life who was entirely dependent on my well-being. Am I being dramatic here? I don’t think so. While my poor health wasn’t going to kill me any time soon, it wouldn’t be long before that baby was a toddler and a little girl, running, playing at the park and the gym, asking her daddy to run alongside as she learns to ride a bike.

I had the obligatory gym membership that was never used. Don’t we all? I’d gone through the visits to the gym over the years, working on my bench press and trying to get buff, sure. But aerobic fitness, for a computer geek such as I, had never been something I was interested in. That feeling of breathlessness–the side stitch–the overheated feeling–not for me!

I put on my cross trainers–the cheap shoes I had purchased from Kohl’s–which I found comfortable for my daily hours of sitting before the glow of a computer monitor. “Honey,” I said to my wife, “I’m going to go out for a jog.”

“A what?” She was perplexed, I’m sure.

“I don’t think I’ll be gone long, maybe 30 minutes or so.”

30 minutes! Keep dreaming, buddy.

I stepped outside, wearing a cotton t-shirt, cotton underwear, and “workout pants,” which I used mostly for sleeping or mowing the lawn. While on this subject, let me say this: Mowing the lawn is not enough exercise. I thought it was at the time. Convinced myself, perhaps. It made me sweat, after all. It wore me out. It must be exercise! Nope.

My Fellow Software Developers (we’re in bad shape!)

As a group, we’re out of shape. I’m working on an article on this subject, but I want to do so in a motivational way, not with a lecturing or accusatory tone. More to follow.

Happy Independence Day

indHappy Independence Day! I’ll be celebrating by eating too much, watching fireworks, and staying up late to work on a new article for SDJ!

RedHat/Downtown Raleigh

dtrRTP is cool and all, but, honestly, there’s lots of space around here, and we don’t all need to be driving the same direction.  I’d love to see more companies build in downtown Raleigh. Hopefully the RedHat move gives it a kick-start.

NewsObserver: Red Hat workers bring energy to new downtown Raleigh headquarters

How About a Book Club at Work?

booksThe other day I had a thought–Why not start a book club at work? I read a lot, and I generally like to have two books going at a time. One book is fiction (just for fun). The other book is something related to my career, whether it is technical/software, business, or leadership related.

A constant question with regard to a software career is How do you stay current? To this point, it is of equal importance that the entire team (perhaps even all employees in the company, from receptionist to CEO) stay current. (As a software guy, I am biased, but I feel that software careers have greater requisite upkeep than any.)

I was eating lunch with a friend the other day when I first mentioned this idea. “Funny you should say that,” he said, “I just started doing that very thing where I work.”

Continue reading

Cutest Text Ever

Not long after my daughters got iPod Touches for Christmas (from their grandparents), I received this text message from my youngest. It’s difficult to get your sister in trouble when being so unintentionally cute.pode


soupThe other day my daughter wanted to heat up some soup in the microwave. She insisted on doing it herself. The lid of the Campbell’s Soup can the type with a tab that can be opened without a can opener. She stood in front of her mother as she attempted to open the can, wrestling with it a little. “Lift the tap up, and then pull on it,” her mother instructed. She added, “I really think you should open it in the kitchen over the sink.”

My daughter struggled with the lid, but still didn’t want help–she wanted to prove to us and to herself that she was capable. Soon enough Campbell’s Double Noodles were spilled all over the floor and her mother. Oops.

Did we get mad? No way! How could we? We knew the possible outcomes, but we also knew that we had to allow our daughter to figure this out. My daughter learned a few things in this situation:

  1. How to open a can of soup.
  2. What can go wrong if you tip the can sideways while opening.
  3. Why she should have done it over the sink.

Continue reading

Computer Science Starting Salaries

According to this recent article (Canadian HR Reporter), the high starting salaries are still in fields related to software and other fields of engineering.

The careers with the highest starting salaries for graduates with a bachelor’s degree in the United States are software engineering ($71,666) (all numbers US$), industrial engineering ($62,245), chemical engineering ($57,500), electrical/electronic engineering ($57,145), and computer science ($55,664), according to the Employers Resource Association (ERA).

If you’re going to spend outrageous sums of money on college, make it count. (But don’t go into software because you think you’ll make a lot of money. If you don’t love it, you’ll hate it.)

Google the New Microsoft?

Techspot: Microsoft Launches Youtube App, Google Demands it Taken Down

Come on, Google. I thought you were bigger than this.

Wired: Tech Time Warp

Fun. (Found via Eric Crane.)

Tech Time Warp of the Week | Wired Enterprise |

The World’s First Web Site

Screen Shot 2013-05-01 at 8.16.31 AMHere is the world’s first web page.

Much has changed, and much hasn’t.

We are still making HTML do things it was never designed to do. But we’ve done some pretty cool stuff with it.


Interview Advice

I’ve been on countless interviews, and I’ve learned a few things along the way. I don’t consider myself an expert by any means, but I’ve learned how to interview well. It took a while to figure it out, but I’ve learned that interviewing isn’t difficult. On the contrary, if you are focused and willing to view the process as a potentially fun learning experience, interviews can be great experiences.

I was astonished to read this article on CNBC: Managers to Millenials: Job Interview No Time to Text:

Human resource professionals say they’ve seen recent college grads text or take calls in interviews, dress inappropriately, use slang or overly casual language, and exhibit other oddball behavior.

“It’s behavior that may be completely appropriate outside the interview,” says Jaime Fall, vice president of the HR Policy Association. “The interview is still a traditional environment.”

Oh my! If you are texting or taking a phone call during a job interview, you have MUCH to learn. My hope is that such an occurrence is rare. Having been on both sides of the interview table, if I saw someone read a text message I would probably inquire as to the reason. I’ve never had this happen. Perhaps there is a family emergency.

I once went into a job interview very near my wife’s due date. I explained up front that my wife and I had an agreement: If my phone buzzes twice in a row and it is her, I have to take it. “My wife is going into labor,” is a perfectly fine reason to take a call in an interview. I can think of a few other reasons that necessitate taking a call or text during an interview, but only a few. (My wife, thankfully, did not go into labor during that interview. And yes, I did get the job.)

I love interviewing. I mean it: I enjoy going on a job interview! That sounds strange to some, I know. I look at it this way: Either I’ll get a job offer or I won’t. In either case, I am meeting new people and making contacts–and, whatever the outcome, I am becoming a better interviewee. As a child I was a very shy kid–scared to death of talking to people. Perhaps I’m making up for lost time, but talking to people–getting to know new people–is fun.

So here is my list of tips:

Continue reading

YouTube to MP3

MediaHuman: YouTube to MP3I’ve gotta plug this tool: MediaHuman Youtube to MP3. A while back a friend sent me a link to a video of this guy, Shakey Graves, playing a song called Late July. I immediately loved the song, as well as all the other Shakey Graves songs I found on YouTube, and I purchased both of the albums that the artist has for sale. He is a fantastic guitarist, singer, and songwriter.

I was disappointed, however, that I could not find some of the versions that appear on YouTube. The YouTube to MP3 coverter (free), works on both Mac and Windows, and makes it extremely easy to convert the audio from a video to an MP3. It even ignores the ads (if an add appears before the video). Now I am happily listening to all of the great music Shakey Graves has available. “Mr. Graves,” if you’re reading this, I welcome the opportunity to buy all of your music!

Shakey Graves