Showing posts with label Management. Show all posts
Showing posts with label Management. Show all posts

2008-04-08

Top 10 Traits of a Rockstar Software Engineer

From Alex Iskold:
  1. Loves To Code
  2. Gets Things Done
  3. Continuously Refactors Code
  4. Uses Design Patterns
  5. Writes Tests
  6. Leverages Existing Code
  7. Focuses on Usability
  8. Writes Maintainable Code
  9. Can Code in any Language
  10. Knows Basic Computer Science

2008-03-29

How to create "interesting, cool, and relevant software"

From raganwald:
The only workable system for generating interesting, cool, and relevant software is well-known. Find a bunch of really smart programmers and point them at a large problem space for which there are actual users, and for which new solutions are unconstrained by old designs.
—Mencius Moldbug, What's Wrong with CS Research

Note the desired outcome: Interesting, cool, and relevant software. Do not become mired in empty debate over the phrase "smart programmers." Instead, ponder the other three preconditions: a large problem space, actual users and most especially no constraints by old designs.

Alan Kay is purported to have said, "A fresh perspective is worth 80 IQ points." You cannot have a fresh perspective when you are encumbered by backwards compatibility.

2008-03-25

5 Rules for Making Money During a Recession

From The Huffington Post - Ann Handley:
  • Don't cut the budget.
  • Maintain strong launches.
  • Get a little silly.
  • Beware the slash and burn.
  • You might as well dance.

Dates vs. Quality

From thisDev (Roy Leban):

What's the best way to avoid problems?

  • Work at a small company (or in a small group) so you can set your own dates. Large organizations tend to be top down and impose schedules without any idea of what is actually happening.
  • When you start out, set the date based on what you hope to accomplish. Or, set the date first, then pick a feature set you can implement in the time available. Or, iterate back and forth. But, whatever you do, don't set them independently of each other. I know this isn't news to anybody reading this blog, but it still seems to get ignored a lot.
  • Be willing to cut anything -- anything -- if you have to make your date. Even features that are almost done. You can always ship them later. If you have an immovable force and an irresistible object, the dev team explodes.
  • Be willing to change the date if you can't get the quality you want (my wife and I slipped our wedding date because we weren't going to have the quality we wanted on the original date we picked).
  • Stay calm. No matter what, you will be dealing with the issue at the end.

They say, on the Internet, nobody knows you're a dog. Similarly, nobody has any idea what you were going to ship or (hopefully) when you were going to ship. They only know what you actually do ship. And, if you don't ship in the first place, it's pretty hard to ship updates.