Some advice on IT management from a marketing pro

I noticed that Seth Godin posted a piece on the tendency to take star programmers and transform them into mediocre managers, it’s a mistake that cuts you twice, once with the loss of the key performer, and twice with the fact that you now have a management problem to deal with that may impede more key performers from joining the team. I asked and received permission to post the piece here in its entirety. The original can be found at this link, and a lot of other stuff on management and marketing that may be of intrest.

The extraordinary software development manager

Being good at programming is insufficient qualification for becoming a world class software project manager/leader. Too often, we take our best coders and turn them into incompetent managers because it seems like a logical next step, and because we don’t pay adequate attention to what we really want from these critical executives. (Hint, this is about many fields, not merely software).

1. Clients want useful visibility into the future in terms of costs, timing and deliverables

in fact, it’s almost impossible to be too clear, to benchmark enough and most of all, to overdo the work of identifying forks in the road when it comes to decision making. When a client hires a developer or a company embarks on a software project, they are lost. Even something as complex as building a house is dwarfed by the rapid change, shifting priorities and most of all, the requirement for the new, that’s involved in even a simple software project.

The indispensable software development manager is aware of this and lays it all out for us.

2. Code is going to be used, reviewed, updated and inspected by people other than the person writing it

At some point in the next [insert time frame], a dozen people we have never met will either be updating or using this code, whether they are people we hire or people we partner with. It’s tempting to question the value of an organized architecture and clear code commenting, but again, it’s almost impossible for an organization to overdo this. We don’t have time to do it over so we have to spend the time to do it right. In software programming only the amateur’s approach rewards speed over long-term usability.

3. A great programmer is worth thirty times as much as a good one.

Which means that hiring a good programmer in a competitive field is a killer error. It also means that managing a programmer in a way that accepts ‘good’ will lead to a fail as well.

4. Programming at scale is more like building a skyscraper than putting together a dinner party

Architecture in the acquisition of infrastructure and tools is one of the highest leverage pieces of work a tech company can do. Smart architecture decisions will save  hundreds of thousands of dollars and earn millions. We’ll only make those decisions if we can clearly understand our options.

Or, you can have some newbies hack something together real quick. Up to you.

Facebooks IPO documents reveal the real reason why traditional media companies will fail in the future.

Facebook’s pending IPO is bound to be the biggest financial news short of an improvement in the economy in the coming weeks, and in moving toward the IPO the company has filed registration statements with the SEC. In addition to the usual statements of profitability the companies CEO and founder Zuckerberg released what he calls the “the hacker way” on page 69.

This should serve as a warning for those media empires that have grown complacent, and the managers that are enamored with an earlier time that seemed to move at a slower pace (with fewer social connections that seemed to elevate their importance). A company that places the following in their core values,

“Move fast and break things.” The idea is that if you never break anything, you’re probably not moving fast enough.

is probably going to be in front of it’s competition before they know what has happened. If they stick to these rules they will also likely solve most of the bugs before the group of core complainers starts to chip away at their product, see you can be faster than those that fail to move for fear of failure, or worry about what others have to say.

More importantly, if there is going to be a fight for programming talent in the future where would you want to work, somewhere that takes chances and wants to change the world, or will you remain an old school corporate stalwart?

Let me reprint page 69 – 70 below:


The Hacker Way (Facebook’s IPO registration Page 69)

As part of building a strong company, we work hard at making Facebook the best place for great people to have a big impact on the world and learn from other great people. We have cultivated a unique culture and management approach that we call the Hacker Way.

The word “hacker” has an unfairly negative connotation from being portrayed in the media as people who break into computers. In reality, hacking just means building something quickly or testing the boundaries of what can be done. Like most things, it can be used for good or bad, but the vast majority of hackers I’ve met tend to be idealistic people who want to have a positive impact on the world.

The Hacker Way is an approach to building that involves continuous improvement and iteration. Hackers believe that something can always be better, and that nothing is ever complete. They just have to go fix it — often in the face of people who say it’s impossible or are content with the status quo.

Hackers try to build the best services over the long term by quickly releasing and learning from smaller iterations rather than trying to get everything right all at once. To support this, we have built a testing framework that at any given time can try out thousands of versions of Facebook. We have the words “Done is better than perfect” painted on our walls to remind ourselves to always keep shipping.

Hacking is also an inherently hands-on and active discipline. Instead of debating for days whether a new idea is possible or what the best way to build something is, hackers would rather just prototype something and see what works. There’s a hacker mantra that you’ll hear a lot around Facebook offices: “Code wins arguments.”

Hacker culture is also extremely open and meritocratic. Hackers believe that the best idea and implementation should always win — not the person who is best at lobbying for an idea or the person who manages the most people.

To encourage this approach, every few months we have a hackathon, where everyone builds prototypes for new ideas they have. At the end, the whole team gets together and looks at everything that has been built. Many of our most successful products came out of hackathons, including Timeline, chat, video, our mobile development framework and some of our most important infrastructure like the HipHop compiler.

To make sure all our engineers share this approach, we require all new engineers — even managers whose primary job will not be to write code — to go through a program called Bootcamp where they learn our codebase, our tools and our approach. There are a lot of folks in the industry who manage engineers and don’t want to code themselves, but the type of hands-on people we’re looking for are willing and able to go through Bootcamp.

The examples above all relate to engineering, but we have distilled these principles into five core values for how we run Facebook:

Focus on Impact

If we want to have the biggest impact, the best way to do this is to make sure we always focus on solving the most important problems. It sounds simple, but we think most companies do this poorly and waste a lot of time. We expect everyone at Facebook to be good at finding the biggest problems to work on.

Move Fast

Moving fast enables us to build more things and learn faster. However, as most companies grow, they slow down too much because they’re more afraid of making mistakes than they are of losing opportunities by moving too slowly. We have a saying: “Move fast and break things.” The idea is that if you never break anything, you’re probably not moving fast enough.

Be Bold

Building great things means taking risks. This can be scary and prevents most companies from doing the bold things they should. However, in a world that’s changing so quickly, you’re guaranteed to fail if you don’t take any risks. We have another saying: “The riskiest thing is to take no risks.” We encourage everyone to make bold decisions, even if that means being wrong some of the time.

Be Open

We believe that a more open world is a better world because people with more information can make better decisions and have a greater impact. That goes for running our company as well. We work hard to make sure everyone at Facebook has access to as much information as possible about every part of the company so they can make the best decisions and have the greatest impact.

Build Social Value

Once again, Facebook exists to make the world more open and connected, and not just to build a company. We expect everyone at Facebook to focus every day on how to build real value for the world in everything they do.


Motivation, Performance, and how it relates to Open Source

Morgan Spurlock takes a look at product placement and marketing and finds out what the problem with transparency is

How to train to be a better programmer :-)

If a runner stretches before a race, or a martial artist meditates before sparring, what should we do as programmers to reach that state of mind that puts in the ‘zone’. It must be logic tests judging by all of the famed interview tests that come out of the large software companies.  One of the trickiest logic tests is said to have been invented by Einstein when he was a boy, and there are claims that only two percent of the population can solve the puzzle, so could there be a better test to spring on candidates for development positions? If there are any reservations that it would be too difficult for the potential candidate, given the 2 percent completion rate, I was surprised to see a variation of the puzzle come home with my daughters 7th grade math homework as extra credit this past year. Try and see how you make out with this, without the help of any internet searches. I would be interested in knowing how you solved the puzzle.

  1. There are five houses.
  2. The Englishman lives in the red house.
  3. The Spaniard owns the dog.
  4. Coffee is drunk in the green house.
  5. The Ukrainian drinks tea.
  6. The green house is immediately to the right of the ivory house.
  7. The Old Gold smoker owns snails.
  8. Kools are smoked in the yellow house.
  9. Milk is drunk in the middle house.
  10. The Norwegian lives in the first house.
  11. The man who smokes Chesterfields lives in the house next to the man with the fox.
  12. Kools are smoked in a house next to the house where the horse is kept.
  13. The Lucky Strike smoker drinks orange juice.
  14. The Japanese smokes Parliaments.
  15. The Norwegian lives next to the blue house.

Now, who drinks water? Who owns the zebra? In the interest of clarity, it must be added that each of the five houses is painted a different color, and their inhabitants are of different national extractions, own different pets, drink different beverages and smoke different brands of American cigarets [sic]. One other thing: in statement 6, right means your right.

— Life International, December 17, 1962