Benjamin Hysell – Software, Projects, and People Rotating Header Image

Blogroll

37signals

Next up in my digital reading list:

http://www.37signals.com/svn/

I’ll skip the normal, ‘Why you should be reading their blog’ and start with a couple of videos.  Why not let the guys who run the company tell you in their own words what they are up to?

::Plus have you ever tried to type with a band-aid on your index finger? I’m all over the keyboard tonight, and not in a good way::

http://www.businessinnovationfactory.com/iss/video/bif3-jason-fried

I’ll let Jason continue on with how he markets his company and his decision to out teach the competition:

http://www.businessinnovationfactory.com/iss/video/bif4-jason-fried

and lastly:

http://www.37signals.com/svn/posts/1329-my-talk-at-the-business-of-software-conference-september-2008

37signals has provided me a wealth of information on how one might manage, market, and sell software in the day an age when most companies are giving their software away for free.  How do they do it?

They are assholes.

I’m not the first person to associate 37signals with the term ‘assholes’.  I’m more of a ‘hop on the bandwagon’ type person with this association, but its true…for the most part these guys are assholes.

And it works for them.

They have very strong opinions on how to run a business and they are not afraid to tell you exactly what they are thinking.  The guys at 37signals will likely insult you and your life’s work if you work for a large corporation.  Are you not doing things the way they would prescribe?  They will likely call you a dummy, and then they will move right along without a care in the world.

This style, this arrogance, this ‘assholeness’ works for them.  They have created a strong following of people coming to them for insight and advice on how to manage, market, and sell software.

I have taken away several ideas from their blog over the past couple of years that has shaped how I would market, design products, and build software that I would like to share here:

1. It’s ok to swear in a presentation, given its done tastefully and not abused: http://www.37signals.com/svn/posts/1214-profanity-works

2. Out teach your competition, show that you are the thought leaders in your area of expertise.

This is my favorite message I keep hearing from 37signals, it is a very subtle yet very clever message.  For example, I need to paint my house this summer, the paint is beginning to peel, and it will turn very unsightly come mid August if I do not take action this spring.  I could certainly paint the house myself…there is an abundance of material online to show me the proper way to paint a house.  All the knowledge I would ever desire on the topic of house painting is available for free online.

Am I going to do it myself?

No.

Two reasons: painting my house is not my passion, and my wife does not want me up on a ladder for the better part of the spring attempting to paint the second floor.  To my first point, my passion, who wants to spend every weekend for month and nights after work painting?  I could do it and have done it in the past, and I learned that some things are better left to the experts.

With all the knowledge in the world on how to paint my house, I realize I am not in the best position to do it, and I will gladly pay someone to do the job in a week where it would likely take me three.

I believe this concept translates over to software and product design.  Sure, most competent developers could develop your software or product, but do they possess the passion to see the process through to the end?  Why not go out and buy the product instead of re-inventing the wheel, and in the process why not buy it from the ‘thought leader’ in the industry?

3.Create Fans

Jason states in one of his videos they have over 100k visitors to their blog on a daily basis.  These are people who are motivated to learn from 37signals and they seek out 37signals daily.  In all likelihood these are also the people willing to buy their software.  They’ve created people who are passionate about who they are, and what they sell.  37signals has likely turned peoples’ passion into sales.

4. Just say ‘No’

‘There are no software editors in an industry that desperately needs them…’  Pick a piece of software you are using right now…can you name all of its features?  Microsoft Excel has about 90 features I’m never ever going to use, ::have you tried to use pivot tables?:: yet there they are, all 90 of them taking up real-estate space, using resources, vying for my attention.  It’s not just Microsoft, I’m typing this post on a MacBook using ‘Pages’, Apple’s answer to Word.  Guess what?  Pages still too many features.  Apple has done a better job of hiding their features, yet they are still there, lurking, one mouse click away, ready to confuse and irritate you into having to learn or figure something else out when all I want to do is write a simple blog post.

37signals does more by doing less.  They say ‘No’ to most of their requests for new features or new ideas for their product.  They take a bold stance, ‘if you don’t like what we are doing there are several other software companies out there doing things like us, go try them out.’  37signals is telling people if you don’t agree with us check out our competition.  It seems perverse, sending customers to your competition, however this strategy allows 37signals to make very simple, easy to use products that are directed at people who believe in the way 37signals sees the world…products directed to their fans.

I’ll end this post with the best video I have seen out of 37signals:

http://www.37signals.com/svn/posts/981-the-secret-to-making-money-online

It’s simple, charge money.  Period.

Coding Horror!

Next up on my digital reading list:

http://www.codinghorror.com

I believe I found Jeff Atwood’s blog through Joel’s Reddit feed.  Jeff’s articles kept popping up and I found my self always clicking through to read his articles.  After much deliberation I finally decided to add his RSS feed to my Google Reader.  Jeff has a very easygoing tone and relaxed style to presenting his ideas that I believe create a relaxed atmosphere around his articles.

Jeff is not without his detractors, me being one of his detractors, I should know.

I am finding he will drastically oversimplify a complex idea and then proceed to base his conclusions on the oversimplification, for me, leading to what I believe is the wrong conclusion.

A few articles I believe Jeff was off the mark:

XML: The Angle Bracket Tax

Understanding Model-View-Controller

As with all bloggers, check their facts and don’t take every entry as gospel.

A few of my favorite posts include:

Hardware is Cheap, Programmers are Expensive

My father would have cringed reading that article…he learned his programming chops on the original IBM PC.  My grandmother and grandfather both worked for IBM and were likely the reason we became an IBM household.  What is the easiest way to obtain a brand new, first ever PC?  Forget waiting in lines; know someone who works for the company.

::Actually, I have no idea how the launch of the IBM PC went, if they were hard to obtain or not.  I do remember being told we obtained one the year they were released.  My grandparents are not opposed to waiting in lines though.  I was called up in college by my grandmother asking me if I wanted a Sony PS2.  She and my grandfather waited in line overnight to get one and asked if I wanted it the next day.  They are more hardcore than me…the longest thing I have waited in line for is the Top Thrill Dragster at Cedar Point::

My father wrote all of the software he ever needed to run his practice in BASIC on that PC.  He even bought a compiler for BASIC from IBM.  His main application was so large he had to remove all of his comments so it could compile and run.  My father knew about resource constraints while programming and worked very hard around each problem he encountered.  It was this hard work of finding out how to squeeze every last drop of performance out of a computer that made him adverse to just throwing hardware at a problem to fix it.

::The main application my father wrote for his practice and other ancillary applications he used for diagnostic purposes were impressive for their day and time.  Some even to this day exceed what is currently available in the field of veterinary medicine.  Sadly, my father passed in late 2006 and we never had a chance to sit down and rewrite his code together like we planned so many times to do.::

Avoiding The Uncanny Valley of User Interface

Jeff explores why one needs to be cognizant of not only whom one is writing an application for, but also where the application is going to live and run.  Don’t try to make a web app that looks just like a desktop application.  If you do, people will expect desktop like performance…an expectation even the best web programmers will find hard to fulfill.

Your Favorite NP-Complete Cheat

This article raised the ire of many of Jeff’s commenters, but having not thought about NP-Complete problems in a very long time this article was a great refresher back into the subject.  I am a huge fan of not ‘re-inventing the wheel’, and any tool that I can get my hands on that allows me to say, ‘”Listen, this problem you want me to solve is impossible because it is very much like these other problems that 100s of people have also said are impossible,” is my kind of tool.  Turn on your best Yoda voice here, lazy not I am, practical I very much to be.

Lately Jeff has been distracted with a new venture he and Joel started:

http://stackoverflow.com/

For my money, this is the site for programming questions on the Internet.  Think of the site as a combination wiki/forum where questions are asked and answered.  The most popular answers get pushed to the top for easy reference.  I’ve been using StackOverflow to answer my day-to-day questions that pop up at work, with amazing results.

Follow me on StackOverflow from my profile

Check out the official blog for StackOverflow

Lastly, listen to their podcast.

Joel on Software

My next entry for my digital reading list:

http://www.joelonsoftware.com/

Joel’s been writing a blog since December 1999, I only know this because I went back through his archives and read every single one of his posts.  Madness?  Not quite, but close.  I forget exactly how I stumbled upon Joel, but once I read a few of his articles, I was hooked.  Go back and start at the beginning of his posts, or rather, read the best of the best; they are listed in a column on the right hand side of his site.  A few posts I continually go back to:

The Guerrilla Guide to Hiring.  I have based my whole interviewing technique off of Joel’s guide, (with a few tweaks… I’ll talk about my interview technique in a later post).  This is a must read if you are doing the interviewing, and is even a better read if you are sitting on the other side of the table.  Its almost like cheating, you know what they are asking you and why.  Don’t take me for one of those to game the system, however I always like to be prepared.

Honestly, if you were gaming the system an interviewer worth anything should be able to pick up on the fact you knew a little too well what they wanted to hear.  And if they didn’t notice the fact you were gaming the system I’m not sure you would want to work for that company.

Talk at Yale Series, parts 1 – 3.  I always like to know a little bit about who I am following/reading…take a peak into their past, see if their values match up with mine.  I use the same strategy when I invest in Mutual Funds.

::I like to think I’m a bright guy with decent values…and given unlimited time and energy to do my day job and trade stocks I think I could manage my own mutual fund.  Thus, I want to find someone who thinks like me, and they have the time to concentrate on the stock market.  So far this strategy has worked…well except for this whole recession thing going on right now.::

Know thy blogger and learn from their past.

Can Your Programming Language do This? This is a hard-core article about computer science, but Joel breaks down the concept of functional programming and why you need to know/understand what it means.  Once you grasp the concepts you now know enough to create your own Google.

I plan on citing Joel in a few of my upcoming posts, so take some time, go back, and catch up on his past works.

Go a head, I’ll wait.

Dilbert – He Isn’t Just for Engineers Anymore

For my first post of my digital reading list, I present you Dilbert.

I know what you are thinking…

Oddly drawn characters, situations you never find yourself in:

::unless you are an engineer, in which case try and feel for those who do not participate in our profession::

http://dilbert.com/strips/comic/1994-08-27/

And really, who could enjoy:

http://dilbert.com/strips/comic/2008-12-28/

Unless you are an engineer.  Sure, you could stretch your mind, put yourself in our shoes, but who has the time?  And who wants to work that hard while reading the Sunday comics?

Dilbert doesn’t even work for all engineers.  Its true, its true.  He is not everyone engineer’s cup of tea.  Sure, we can all commiserate about how painful Calc 102 was, but we can’t all agree on Dilbert.

I’m not going to lie, not every comic is a home run, even for a self-professed fan:

http://dilbert.com/strips/comic/2008-11-16/

That comic is currently number one on the all time best comics list.

What I want to draw you attention to is not the comics, but  Scott Adam’s blog.  Try out a few of his past posts, or rather check out my current favorites:

The subjects Scott chooses to delve into fascinate me.  Every day is a new surprise as Scott jumps from finance, to exploring the human condition, to the just plain funny.  Reading Scott’s blog will not provide you the next whiz-bang idea to present to your boss, but rather, Scott’s blog provides great insight on how to communicate ones own thoughts to the masses.

Scott has a natural, easy-going style that allows him to take his complex ideas and effectively present them to me.  I rarely find myself noodling around the same types of idea’s Scott has, i.e. what defines a friend, but I always walk away from reading one of his post feeling richer for the experience.

My ability to follow his sometimes rather arcane trains of thought is a credit to his writing style, a style I hope to learn from and incorporate into my own writing.

My Digital Reading List

At Viewpoint we do a yearly performance review to assess how the past year went, and to look forward to the next.  Around February we get together and bring in one’s direct supervisor, the director of engineering services, and a partner to discuss this last year’s performance, and set out goals for next year.  Being a direct supervisor, I’ve been on both sides of the table, performing reviews for my guys and being there for my own review.  I actually really enjoy the review process…a subject I plan to dive into in a later post.

I joined Viewpoint right out of college, and throughout those first couple years of my employment I flirted with the idea of going back to college and getting an advanced degree.  I remember in my second review I actually had two partners in the room discussing my future when I brought up the idea of going back to school.  The questions started immediately:

“What do you want to study?”

I was prepared for this, you don’t just go walking into a room ready to throw out you want to go back to school and not have a ready made answer, “I’m thinking of getting a masters in Computer Science/Electrical Engineering/Computer Engineering or possibly get a MBA.”  An MBA?  Yes, I threw out there I was interested in getting an MBA…now ask me what I was going to do with a MBA, go a head, I know you want to.

“What do you want to do with an MBA?”

Um…Um…Damn.  I’ve got nothing.

I had spent a good bit of time researching advanced degrees and realized that the courses needed for an advanced Computer Science, Electrical Engineering, or Computer Engineering degree did not really interest me.  In my day-to-day activities at Viewpoint I didn’t see where they would really fit in either.  For me and my career path, they seemed to be just certifications that I may never really use unless I went back out on the open job market.

An MBA on the other hand, now that had appeal.  With a MBA I could…I could…you know, I really couldn’t figure out at the time what I would do with an MBA.  I had gotten it into my head that the ability to manage the business end of the software business would serve me well, and the only place I would be exposed to that kind of training would be while obtaining an MBA.

However, the real reason I wanted an advanced degree…I needed to continue to learn and hone my skills.  Prior to joining Viewpoint I spent four years in college, now that I was out it was my belief that in order to continue to learn I needed to be back in school.

Plus I was scared of the box.

During the summer of my junior year I had a co-op at Keithly Instruments and saw first hand what happened as you aged in this business and you chose not to keep your skill set continually evolving and up to date.

You end up in a box.

They actually put you in a box in the back of the office; there is a ceremony and everything.  They place you in a huge cardboard box, cut out a few holes for air and to run network cable, and there you sit until the next downsizing.  The nice part about being in a box during a downsizing is that packing up your things is very easy-they are already in the box with you.  No fuss, no muss.

I saw a few engineers at my time in Keithly who lived in ‘the box.’  They decided at some point in their careers they had learned all they needed to learn and they almost actively refused to learn anything new.  They had mastered a set of skills and were going to run those skills right into the ground.

Actually living in the box isn’t such a bad place to be.  People from all over come to you and ask for advice, you are, after all, most likely the ‘subject-matter master’ with all sorts of knowledge about whatever it is you chose to learn.  It is often the case you have hundreds of hours with your knowledge, its been battle tested time and time again.  It withstands criticisms.  No one questions you anymore.  You are The One.

However, over time fewer and fewer people will come and seek out your advice.  After all, technology changes and more than likely what you know has been improved upon with a new tool, language, and/or system.  Hell the worst-case scenario is what you mastered back in the day is now being taught to freshman in college in a 100-level course.  Once those kids reach the job market your job is less and less secure.  Entry-level salary is likely 10x less than what you are making.  Oh and by the way, they are too new to have found a box to move into.  They’ll do your job and three others with the energy they have.

Pack up your things, no wait don’t bother, they are already packed with you in your box.

I vowed to never, ever find ‘a box’.

At the time of this review I believed more schooling was the only answer.  Get an advanced degree and stay on top of the industry.  I shared my thoughts and the story of what I saw at Keithly with the partners that day.

::Trivia Question: What company bought the company where the partners used to work before they formed Viewpoint?  Hint: It rhymes with Teithly Tnstruments::

That day I was told by one of the partners:

“Formulate a plan on what you would like to accomplish if you went back to school.  But, reading and staying on top of the industry may serve you better.  We are like sharks, if we don’t continue to read as they swim we will die just like they do.  College isn’t cutting edge, there is a wealth of knowledge out there right now, for free too.”

That day I started reading anything and everything I could get my hands on.  Initially, my reading list was not all that impressive; I read Slashdot, but not much else.  Over time I believe I have developed a fairly impressive daily reading list that I will be sharing here in the next couple of posts.  If I’ve missed someone please feel free to add them to the comments section I’ll check them out and hopefully add them to my list.