Dec
31
2008

Best of 2008 – To lead programmers, you must be humble

dogcupsuperfantastic

I’m tired of talking about how great I am.  What about you, what do you think of me?

There may have been a point in time when someone understood all that there was to understand about computers.  Early on there may have been one person who could stand above his fellow scientists and claim to be the authority on everything in this young field.  Where wizards stay up late makes a good case for a few individuals who may have filled that natural desire we have for an overall authority on a subject.  Yet those men, great scientists and tremendous minds in an unproven field of study, were some of the most humble ambassadors of technology we will likely ever see.

Today we have no overall authorities.  No normal person can hope to represent enough deep expertise to be considered an expert in more than one specialty.  Exceptional people may be able to handle two or three fields before being overwhelmed by the fire hose of information needed to keep up.  Hollywood has it wrong, again, about smart people in technology because there are no generalists out there that know everything.  Computers is similar to any other complex system like medicine, law, scientific research and finance.  It demands that you specialize to do be considered an expert.  (This may also be why I like House as a show but have problems with a plot device that pretends there are doctors that can ever know everything.)  Anyone who either pretends to be an expert on the whole of technology or really has convinced themselves that they are will be doomed to huge management failures.

Pete Johnson Chief Architect at HP and a guy who clearly knows what he is doing around a computer wrote up good article on Dzone about why programmers hate working for Software Architects.  Pete’s experiences run parallel to my own as a manager of programmers and his first point sums up my advice to anyone who wants to lead a programmer.

  • Be humble
  • Ask your people for advice on subjects you don’t know.
  • Make it public knowledge that you are the least important person in the room.
  • Stand back and let them shine before your customers, but stand in front of them to take blame.
  • Programmers can sniff out BS.  Honestly admit when you’re unsure of a direction.
  • Keep them informed and let them know when you are giving fact and when its your opinion
  • Ask only what you would be willing to do yourself.  Prove it by doing it occasionally for them
  • Keep a diverse RSS list and forward on good information to experts in your group
  • Be humble

What’s on your list?

Photo attributed to SuperFantastic on Flickr CC

Dec
30
2008

Best of 2008 – Interview with James Lindenbaum, CEO of Heroku

herokuI got the change to talk with James Lindenbaum, CEO of Heroku. Heroku is looking to eliminate all the reasons companies have for not doing software projects. This interview comes at an interesting time; companies are finding it difficult to justify spending money on software projects that have any risk associated with them (which are all projects, frankly). Heroku is here to remind those companies that when the barriers are low, so are the risks. James was kind enough to take a few minutes for this interview right before getting on a plane for RailsConf. I want to thank him again for that.

Sazbean: So is Heroku a new kind of hosting company, a SaaS provider, or something wholly different?

James: I think it’s something wholly different. We tend to think of it as a new kind of platform. Software as a Service is an interesting thing, but we’re not really providing the software, you are. So it is really more of a Platform as a Service. We follow a very different model from hosting. The end point that we are after is that you can come and say ‘Hey, I need to build something’ and then just have it run. There are a bunch of things we need to have in place to make that happen, and hosting infrastructure is just one of them.

Sazbean: How is Heroku helping businesses that use your platform?

James: The failure rate for software projects is astonishing, somewhere around 80%. People spend a lot of time wondering why that is. Our feeling is that almost all of the cause has to do with barriers. Large capital expenditures mean people have to make tough decisions about whether not to do something, and the cost of these projects is then totally decoupled from the value. You are committing to a set of costs, and those are going to be your costs whether or not your application ends up providing value. So it becomes a risk management game. We think that is a problem. Cost and value should be coupled. An on-demand pricing model is interesting for a number of reasons from an economics perspective, but we think it’s interesting solely because it fixes this problem. If an application is valuable you use it, and if you use it you are paying for it. If it’s not valuable you don’t use it, and if you don’t use it you aren’t paying for it. This removes that risk management aspect. So now you can think about what you want to build and not whether or not it’s worth building. That’s really the difference between us and a more traditional hosting company. Even with someone who is really quick, you have to call them. You have to cut a deal with them and get your servers provisioned, and that can take hours or days. We strongly feel that if you have to pick up a phone and call someone it’s a deal breaker. You have to be able to have an idea, go click a button, and be up and running. We think that is just vital.

Sazbean: Why Ruby on Rails for this Platform as a Service?

James: We’ve seen over time that Rails is extremely accessible, there are a lot of people that are able to build software with Rails that might not have been able to previously, and we think that is a really good thing. We think that it’s great that all these well rounded people are coming in. We disagree that those new to Ruby and Rails should have to go learn all the hard stuff. It is the frameworks and the platforms that need to shape up and make themselves easier and more accessible. Basically if you have an idea for an application and you have to stop and think about whether it’s worth building or not, then we have not done our job.

Sazbean: There can be a perception that user friendliness equates with limited options. Does it in this case?

James: No, and that’s a really interesting thing. One of the reasons why we think Ruby is interesting is because it has a very unique bipolar thing going on. On the one hand, it is one of the most advanced languages available. From a computer science standpoint, it has all the really fancy stuff; meta-programming, fully dynamic typing, reflection, self-introspection, so on. On the other hand, it’s really accessible. It reads like English, the syntax is really clean, and a lot of people who don’t really have programming experience seem to understand it fairly intuitively. Rails took that and advanced it into the web space, where you can do really advanced stuff with a web application but it’s also super easy to use, super easy to approach, and for 90% of the cases, you don’t have to do that much work. We love that idea and we want to extend that even further, up into the tools and down into the underlying infrastructure. It is a difficult line to walk. You have to think about your choices so that you are making everything easy and accessible, but you are not limiting the power and the expressiveness. That’s one of the main things we are keeping in mind when we’re making decisions about what to do and how to do it.

Sazbean: So who is using Heroku today? Is it the Ruby enthusiast, the professional programmer or is it both?

James: It’s a mixture. So far that mixture is in even thirds. A third are people who really haven’t done a lot of development before. They’re coming in enthusiastic about Rails. They just want to build a site, that is their end goal. The next third are fairly serious Rails developers. They know Ruby and are capable of doing all the sticky bits themselves, but they just don’t want to. The last third are really serious Rails developers. They are trying to do really difficult things and they care very much about the details of how our stack is implemented. These guys are willing to take a hands off approach if they trust you are doing it well, and they can get all that time back to spend on the more differentiated stuff like the actual application code.

Sazbean: Heroku is currently free to use. Are there any plans to change this once you leave beta?

James: We are always going to offer free accounts pretty equivalent to what we offer now, with enough resources to do something interesting. We will always offer that, but we will, at some point soon, be opening up a full on-demand pricing model.

Sazbean: And the closed beta, how is that going?

James: It’s going really well. It has been interesting. There is a huge amount of traction there and a really large amount of activity now. We’re up to about 12,000 developers and 14,000 applications. That’s been great because these guys are really hammering on the system and they’re really helping us to smooth it out and make sure it’s an easy process. It’s nice that we have this mix of users too, because we have the hard-core guys saying ‘Hey, what about this advanced feature?’ and then we have the beginners saying ‘Hey, I can’t seem to get this very simple part to work’. They are helping us maintain that balance. We are looking to come out of beta as soon as possible, but we are providing infrastructure and we’re pretty conservative about reliability, so we won’t lift that label until we feel really comfortable about stability.

UPDATE: I posted my technical notes on Heroku that didn’t make it into this profile interview.

Dec
29
2008

Best of 2008 – 11 Tips for Getting Readers for your Business Blog

readerpedrosimoes7You’ve set up a blog for your business and started writing.  Now, how do you get readers?

  1. Content, Content and more Content – Did I mention content?  The only way to attract and keep readers is with great content.
  2. Share – You started a business because you have some specialized expertise.  Share that expertise with your readers.  They will respect your efforts and look to you for advise.
  3. Consistency – Readers need to know that there’s a reason to check back from time to time.  Choose a posting schedule and try to stick with it.  Ideally, you should be posting at least once a week.
  4. Stay on Target – While straying off the path occasionally is ok, readers generally expect you to post on a certain subject matter (whatever your expertise is).  You may want to keep a personal blog for other posts (remember you’re representing your business).
  5. Listen & Respond – Encourage readers to interact with you through comments and email.  Listen to what they say and respond intelligently.  Your blog should be a place to have a conversation with your customers.
  6. Be Helpful – Related to #5, anywhere you see a question you can answer, answer it.  Help people out with problems and concerns, not just on your blog, but anywhere you see people post their issues.  If it’s something you can write about on your blog, you’ll also help out others who may have the same problem.
  7. Market – Add links to your blog on your website, your business card, your brochures, your email signature, and anywhere else you can.  You’ll need to let customers know that you have a blog.
  8. Be Social – Join social networks and socialize with the members.  Most social networks will also allow you to link to your website and blog.  Some will even automatically import posts from your RSS feed.
  9. Blogosphere – Read other industry blogs and comment on their posts.  Link to posts you think your readers would be interested on.  Write opinions about posts on your own blog.
  10. Keywords & SEO – Don’t go overboard trying to get keywords into your posts, but do take good SEO practices into account.  Knowing the keywords you want to target can help you incorporate them into your posts.
  11. Patience – It takes time to grow a readership on a blog.  It can take over a year to get a decent following, so don’t expect your blog to take off right away.  It takes a regular commitment to great content and a lot of patience.

(photo by pedrosimoes7 @ Flickr CC)

Dec
26
2008

Best of 2008 – Which Social Networks Are Best for Promoting Your Business Content?

One way to increase the awareness of your products and services (and your brand) is to have your website and/or blog content show up on social networking sites such as Digg, Newsvine, Del.icio.us, etc.  Users of these social networks will hopefully discover your useful content and visit your site – possibly becoming returning visitors and passing on your name to co-workers, family and friends.  Social networking sites usually have different types of audiences, so it is worth investigating them to see which ones work best for your target visitors.

Here is an summary of some of the top social networking sites:

  • Digg – Started initially in the tech industry as a way to link and rank news and articles and has quickly spread to gaming, and off-the-wall.  Digg is trying to widen their audience, but in my experience, many business-related articles are quickly lost in their huge amount of submissions.
  • FaceBook – Started as college students only, but now open to all.  Best for connecting with long-lost friends and for networking with acquaintances.  There are business networks and groups, but FaceBook does not make it easy to separate close friends with business networking acquaintances.  One possibility is to create two personas – one for work and one for personal use.  Posts from your blog can be displayed in your profile and you can create pages to promote your business.
  • MySpace – Probably one of the more mainstream of the social networks, MySpace is heavily used by younger generations and by entertainment and music groups wanting to connect with their fans.
  • LinkedIn – Targets business users who want to keep track of their networking contacts.  Business can join and create groups to promote themselves.
  • Del.icio.us – Is a link sharing social network where you can share links with notes and tags.  Can be useful across multiple industries and a nice way to add more content to your own blog/site (check out their widgets).
  • Technorati – Started as a way to view news on tech blogs (hence the name) and see their ranking (as a function of how many other tracked blogs link to them) – is now used across many industries for an overview of what’s going on in the blogosphere.
  • StumbleUpon – Has a fairly general audience who use the site to ’stumble upon’ new content that others have submitted.
  • Newsvine – Started as a sort of portal with voting for content from news organization, it now accepts content from anywhere, but still heavily favors news websites.  May be worth a look for your business blog since you can also start your own column on the site.
  • Sphinn – Targets Search & Internet Marketing Professionals.

As mentioned previously, it is also worth taking a look at industry websites to see if there are smaller niche social networks and communities in your own industry.

Dec
25
2008

Best of 2008 – Ruby one-liners get answered

rubymegyarshThe guys over at Rails Envy, a Ruby on Rails enthusiast podcast, have a running joke.  Their catch phrase? – ‘Rails can’t scale.’ Yeah, I wasn’t too sure I got the joke either.  Then I heard it myself in CIO level discussions from smart business people parroting things they didn’t understand and read somewhere once in an article in a magazine bylined by a guy in a suit who looked corporate and trustworthy.  Rational reasoning and discourse can sometimes be co opted by bumper-sticker wisdom even at the highest levels.

Here is the thing about corporations; enterprises are in the business of managing calculated risk within the market or industry they operate.  They do this by forcing non-core operations to be conservative, risk-adverse and predictable.  It’s a bit like hedging your business’s bet in the junk bond market (core business) by backing it with rock solid, non sexy T-Bills (non-core like software development).  Sure, the return on the T-Bills is lousy but you know in three years you won’t be out that investment.  Java, backed by Sun Microsystems, and .Net, backed by Microsoft, are some of the blue chip securities of the programming world.  Enterprises trust them.  One-liners like ‘Rails can’t scale’ are the one-handed brushoff of entrenched corporate IT’ers to the mere idea of using something new like Ruby or Rails.

Still, Ruby is a persistent pitch man, especially in the web technologies.

Corporate IT: Ruby uses green threads and Rails is single threaded, why are we even talking?

Ruby: Ruby’s MRI is green threaded, but the JRuby interpreter uses native threads in the JVM, just like Java.  Also, Rails 2.2 just released 2.2 RC1 that is thread safe.  Merb was thread safe from the start and just released 1.0 RC2.

Corporate IT: There aren’t enough ruby programmers to staff a project.

Ruby: The Rails Rumble contest didn’t have any problems finding entrants.  Five hundred programmers just gave up a weekend to write 248,000 lines of code. Teams up to four completed 131 different Rails projects in under 48 hours, so you can see just how productive a small group can be in Ruby.

Corporate IT: Sorry but we need dependable database connectivity, not this serial locking business.

Ruby: So pooled connections in jruby and Rails 2.2 scratch that itch?

Corporate IT: There still isn’t a big company backing it so no support.  No support, no chance bub!

Ruby: Have you ever actually called Microsoft about a .Net problem?  Or maybe Sun to support your Java app?  Maybe you have, or at the very least arranged a support contract with a .Net or Java consulting company.  Try instead one of the fine Ruby consulting companies like EdgeCase, HashRocket or ThoughtWorks.  Sun already bankrolls the JRuby guys and for the Softies out there, Microsoft is putting its wallet behind Ruby on the CLR.

Corporate IT: Books?

Ruby: New one every day.

Corporate IT: You’ll get me to use some text editor in place of my IDE when Heck freezes over.

Ruby: Not a problem.  NetBeans guy, Eclipse, or IntelliJ?

Corporate IT: Yeah, okay, you win.  Now can I have that stack of waterfall project specs back, they were holding up the table at that end.

Ruby: Have you ever considered Agile?

Photo attributed to Megyarsh @ Flickr CC

Dec
24
2008

Best of 2008 – What is a Brand?

What is a brand? Sometimes business owners think a brand is just a logo or a marketing message, but I think it’s much more:

  • Visual – A brand usually has a visual representation in terms of a logo or graphic that is easily recognizable.  Brands can also be identified by a spokesperson or icon (for example, the energizer bunny). Sometimes there are also visual representations that have been created by customers instead of the company.
  • Auditory – Many brands have a signature theme song or jingle (think rhapsody in blue for united airlines, or the Intel chimes) which can bring to mind the company when heard outside of advertisements.
  • Verbal – Through marketing, sales, and customer service, a company creates verbal impressions of what the company stands for in various situations.
  • Emotional – Brands evoke an emotional response in customers (hopefully good emotions), which are influenced by their interactions with the brand (advertising, purchasing, customer service, other customers, etc.).
  • Communal – With the ease of communication available on the Internet, customers can easily share opinions, feelings, and experiences about your brand with or without your influence.
  • Instinctive – Closely tied with emotional and communal influences, customers have instinctual feelings and opinions about your brand even before they’ve interacted with your company, formed through advertising and information from other customers.
  • Evolutionary – Brands are constantly evolving through interaction and shared experiences of customers, non-customers and companies.  A company can try to influence the evolution, but is no longer in complete control of the brand.
  • Descriptive -  By combining the various interactions with a brand, an overall impression of what the company stands for is shared among customers and non-customers. A brand is descriptive of what a company, product, and/or service stands for, in terms of all the elements above (visual, auditory, verbal, emotional, etc.).
Dec
23
2008

Best of 2008 – Advantages & Disadvantages of Rich Media Ads

Rich media ads with which viewers can interact and may contain animation, audio and video. Rich media ads can be powerful way to convey your message, but these types of ads have some advantages and disadvantages:

Advantages

  • Communicate more information – through different types of media (audio, video, interaction). Rich media ads can have video, audio, animation and even small applications or games.
  • Collect more information – either by programming in more sophisticated analytics or simply by asking for information.
  • More clicks - As annoying as these ads are, they are more likely to be clicked on because they catch people’s attention (please follow IAB guidelines), at least during the first week or so.
  • Powerful branding – Even if the ad isn’t clicked on, viewers are still more likely to see and remember the ad than traditional display advertising.

Disadvantages

  • May slow down a website – These ads tend to be larger in file size, which takes longer to download. Even with faster Internet connections being more prevalent, you should be aware of your audience and how many are on slower connections. Even with faster Internet connections, an overly large file or many rich media ads can still slow down a website. If your website is too slow, people will just go elsewhere.
  • May annoy – Since these ads tend to be more visible to viewers, they also can quickly become more annoying. So stick with the IAB guidelines and place ads for short time periods (no longer than a month) to maximize the effectiveness of the ad.
  • More expensive – They are more difficult to create and require a higher skillset. These types of ads are usually more expensive to place on a website as well (because of the larger file size and annoyance factor).
  • May be blocked – Although most people have the software installed necessary to view these ads, it is fairly easy to turn off this option in most browsers and in some ad blocking software. However, as more websites use the same technology to increase their interaction and functionality, viewers are less likely to block the ads.

If you are aware of these advantages and disadvantages, you can make an informed decision about purchasing these types of ads (or allowing them to be displayed on your website or blog).

If you found this post helpful, please consider signing up for our free newsletter or subscribing to Sazbean.com through our RSS feed or email.
Dec
22
2008

Best of 2008 – Types of Online Advertising

Advertising online can increase your brand awareness and promote a product/service. Online advertising has a major advantage over other types of advertising (tv, radio, print) because it is very easy to measure the effectiveness of online campaigns.

There are 3 Main Types of Ads:

  • Rich Media: The Interactive Advertising Bureau (IAB) has defined these as “advertisements with which users can interact” and can include video, sound, animation. Ads which just animate but don’t have any interaction are just display ads (see below). Ads should follow IAB guidelines to maximize impact without being overly annoying (which has the opposite effect from what you want). There are many types of rich media ads, including:
    • peel-back
    • floating
    • expanding
    • transitional (interstitial, introstitial, exterstitial)
    • video
    • popup/popunder
  • Display Ads: These ads combine text, images, and animation (but are not interactive – those are rich media – see above) to convey a message. Display ads mostly differ in sizes (see IAB for Ad Size Guidelines). Here are some of the most popular sizes:
    • leaderboard (728 x 90 pixels)
    • skyscraper (120 x 600 pixels or 160 x 600 pixels for wide skyscraper)
    • banner (468 x 60 pixels)
    • half-page (300 x 600 pixels)
    • square button (or tile) (125 x 125 pixels)
    • medium rectangle (300 x 250 pixels)
  • Text Ads: Text ads are typically just that, text. These ads typically are cheaper, but have the added bonus of usually being searchable by search engines and are less-ignored by readers than some other types of ads. Some of the more common types of text ads:
    • link ads
    • contextual ads
    • search engine marketing ads (pay per click – ex. Google Adwords)
    • online directories
Dec
22
2008

Best of 2008 – Series

reflectionpimpexposureSince the end of the year is typically a time of reflection and relaxation, we are going to take a look at our best posts of the past year in this series – Best of 2008.  These posts cover a variety of subjects – from advertising, to blogging and even programming.  We hope you have a peaceful and happy holidays and wish you great success and happiness in 2009.

Dec
18
2008

Looking Back at 2008 and Ahead to 2009

crystalballbitterjugTaking a look at predictions I made for 2008, it seems they were pretty close to reality.  To summarize:

  • Business websites will increase the range of information they offer offer on their sites, starting to include more audio and video.
  • Business websites will include more user generated content.
  • Community and social networks will be important to the business community.

These may not have been all that hard to predict, but social networking has really taken off in 2008 for business use.  Not only have LinkedIn, Facebook, etc. grown in use, but so have smaller, more niche social networks.

So what about for 2009?

We’ve recently seen Twitter use explode among business users.  There are still some industries where useage is small, so I’d expect Twitter to continue to grow.  Look for it to be integrated into all sorts of social networks, websites and new applications.  While it already has been incorporated into many of these, I think it will continue to be used in new and interesting ways.

Blackberries, iphones, the google phone, etc. have increase competition for very smart phones which allow browsing on the web and interaction with websites via phone applications.  This trend will continue and many larger business sites will start seriously providing mobile versions of their sites and services.  This has already started to happen, but I think the trend will vastly increase to the point that even smaller sites will start to explore this medium.

Due to the recession I think we’ll see more business websites spending a bit more time providing more content – in the form of blogs, video, audio and ways to interact with their customers.  Sales may be down, which means a bit more time to spend on tasks that have fallen to the wayside.

What are your predictions for 2009?

(photo by Bitterjug @ Flickr CC)