Entries Tagged 'Startups' ↓
July 5th, 2007 — Startups
I’ve been doing a lot of mundane work over the past few weeks, so to keep from nodding off and breaking my keyboard with my skull (some say I have an unusually thick head), I’ve been listening to podcasts. After hearing all 22 of the Micro-ISV shows at Channel 9, I ran out of material and hit Google searching for “startup podcasts.”
After weeding through a few generic entrepreneur sites (wanting sites with more of a tech-focus), I finally stumbled on Startup Studio. The rest of this post is going to sound like an advertisement, but it’s not; I haven’t received any services or money from Startup Studio, it genuinely struck me as a site you should hear about.
Here’s what I like about Startup Studio over other startup podcasts I’ve tried: Betsy Flanagan, the interviewer, is well-spoken and asks the right questions. I’m sure it’s crafty editing, but I never hear “ummmms” and “uuuuuhs,” I don’t have to listen to inane tales about the founder’s 9 cocker spaniels (this is either good editing or knowing when to cut people off), and each interview has included at least one nuggest of advice from a seasoned entrepreneur that I’ve never heard before.
In addition, the interviewees are people I’ve never heard interviewed, and they have interesting stories to tell; examples include the founder of WordPress, co-founder of FeedBurner, and the founder of Tazo Tea. So even though the site is not all about tech companies, the non-tech interviews are so well put together that I want to hear them.
If you’re into podcasting and startups don’t miss Startup Studio. I’m definitely subscribing to this one.
May 24th, 2007 — Software Development, Startups
I perform a good portion of my ASP.NET consulting work as a one-person team. After resuming contract work late last year I was faced with a challenge: get a “real” version control system in place. Of course, anything’s better than FTPing code off-site three times a week.
My big hang-up was set-up and maintenance time. Three years ago I spent 8 hours trying to install and configure CVS before bailing on it and purchasing SourceGear’s Vault, which I had up and running in about 20 minutes. At the time a five user license ran $599, which I consider a decent trade off for 7.5 hours of work.
This time around some things had changed: Vault licenses are $289 apiece which means expanding would be painful on the wallet (when coupled with the cost of bug tracking licenses, development tools, etc… this requires a substantial investment to bring on a new developer). In addition, there’s nothing I hate more than maintaining my own servers. My DSL has gone down once a week for the past few years, so if I had attempted to host it myself anyone trying to hit my servers from the outside world would be cut off until I rebooted my router. And like anyone else who gets busy writing code, I don’t perform backups as often as I should.
In my opinion, as a 1-3 person shop I’m much better off leaving my web, email and FTP hosting to professionals. So I began toying with the idea of hosting my source control off-site. This is a concept that has always set the hairs on the back of my neck at attention, for obvious reasons.
I did a search for “hosted source control” and noticed OrcsWeb has Vault hosting for the full price of a Vault license up front, plus $40 per user per month. Ouch…at that price I’d prefer to do it myself, drawbacks and all. I also found wush.net, who does Subversion hosted source control and has an insane back-up schedule (a back-up after every check-in). As I performed my final pass through of the search results before signing up with wush.net I noticed one of the companies doing Subversion hosting was DreamHost, the company I use for Linux hosting.
I’ve been with DreamHost about 18 months. Their reliability is awesome, and their tech support fabulously knowledgeable and easy to work with. But I never realized that my web hosting account, which I pay $16/month for, includes north of 350GB of storage. That’s approach half a terabyte. And it includes unlimited Subversion repositories. That is nuts!
After a brief email exchange, I learned that while DreamHost doesn’t back-up every 9 seconds like wush, they do keep my data from 1 and 2 hours ago, 1 and 2 days ago, and 1 and 2 weeks ago, and I can see the Subversion files when I FTP into my web server — a shared hosting package, mind you, so I can back them up manually if I want, or write a cron to do it for me.
After installing TortoiseSVN and the Ankh Visual Studio plug-in I was checking in my first project within 20 minutes. A few hours later a developer who’s contracting for me was pulling files down and we were off to the races. No 8 hour install time, no worrying about backups, no downtime, and no additional cost. I’ve been up and running for 4 months now without a hiccup.
As long as I don’t run over my 350GB storage limit I’m sitting pretty. Let’s see…that comes out to about 3.5 billion lines of code…
November 26th, 2006 — Cool News, Links & Reviews, Startups
Obvious problems are those that everyone knows the answer to, but are really difficult to solve.
Consider the following:
- “We need an electric car that performs like a gas-powered car.”
- “We need a super-fast web search engine that works.”
- “We need super-fast internet connections to our homes.”
- “We need high speed wireless internet everywhere.”
- “We need a phone/PDA/MP3 player that’s small, easy to use, and has a long battery life.”
- “We need a computer that can predict the stock market.”
If you solved any of these problems you would be in the position to make billions of dollars (as some companies have done). But the technical hurdles are, of course, tremendous.
A few years ago I often heard people saying “We have cell phones and PDAs, when is someone going to combine them?” Everyone knew this was a good idea. The solution was obvious but the technology wasn’t there until Jeff Hawkins and Donna Dubinsky founded Handspring and turned the PDA market - a market they single-handedly created just 6 years earlier - on its ear.
This was round two for Hawkins and Dubinsky. Their earlier venture was a niche tech company you may have heard of, a small shop called Palm Computing. They had released another “obvious” device no one could build called the Palm Pilot 1000 in 1996, and owned the PDA market for many years before leaving the company in 1998, after which it was wrestled to the ground and slapped around with its own hand by Microsoft.
So they left Palm, founded Handspring, and sold it back to Palm in June of 2003 for $170 million in stock. Two swings, two home runs. If they would take my money I’d invest in their next company.
Which brings me to their next company, Numenta (let’s hear it for smooth segues). A few years ago Hawkins wrote a book called On Intelligence, that’s an insanely brilliant look at the structure of the human brain through the eyes of a computer scientist. Numenta, founded by Hawkins and Dubinsky, is using Hawkins’ model of the neocortex to build a new type of memory system called Hierarchical Temporal Memory (HTM). The ultimate goal is to create machines capable of performing tasks that have never before been possible to any practical degree: flexible image recognition, video image recognition, predicting complex systems based on past behaviors, and an infinite number of others. These are all obvious problems people have been talking about for years.
Given their track record, Hawkins and Dubinsky are set to wreak some serious havoc on the world of computer science. Solving obvious problems once again.
More info on Hawkins’ model of the neocortex
Subscribe to Numenta’s Newsletter
November 26th, 2006 — Cool News, Links & Reviews, Startups
Fast Company presents 43 organizations that are changing the world. These organizations have improved the lives of tens of millions of people through technology, microlending, tutoring, mentoring, and a slew of other approaches.
Some notable mentions:
- Grameen Foundation - founded by the 2006 Nobel Peace Prize winner.
- Endeavor Global - created 38,418 jobs in 140 companies, 96% of which stay in business longer than 42 months.
- Heifer International - served more than 7.5 million families since 1944. In fiscal 2004, it placed 384,000 animals; 203,000 livestock offspring were passed on to other families.
- KickStart - Fights poverty in sub-Saharan Africa by selling low-cost technology that dramatically raises farmers’ crop yields and incomes. As a result of their technology, 225,000 people no longer live in poverty.
November 22nd, 2006 — Advertisements, Cool News, Links & Reviews, Startups
I’ve been talking with a company located near LAX that meets almost all of Rob’s Criteria for Keeping Your Developers Happy.
As you might expect, they are experiencing quite a bit of success and are expanding like crazy. In fact, they’re looking for four .NET developers from entry- to Mid-level. The key is that you need to have a powerful entrepreneurial drive.
They are a consulting firm that helps companies or individuals get their software product online. This space is booming as people scramble towards the software as a service model. They also cater to entrepreneurs and startups.
The development environment rocks: it’s all new technology (ASP.NET 2.0, SQL 2005, AJAX), small teams (2-3 person teams), short projects (3-6 months), virtually no legacy development, and the pay is good and includes full benefits. Although they’re a consulting firm they don’t have travel requirements. Profit sharing is available.
Bottom line: if the idea of cranking out web applications for entrepreneurs sounds like a dream job, you have at least some .NET experience and you have that killer entrepreneurial drive, drop me a line at jobs@thenumagroup.com. Include your resume and a cover letter and “LAX” in the subject.
November 17th, 2006 — Managing Software Developers, Software Development, Startups
There are good problems and bad problems when developing software.
A good problem is designing an elegant caching mechanism for your configuration variables, or determining how to architect your service oriented architecture so it doesn’t look like the New York subway system.
A bad problem is figuring out how to re-architect your code to work with a partner whose API goes down twice a day, spending three hours trying to get your code into source control, or filling out ten minutes of paperwork for a five minute code change.
Paul Graham makes mention of this in Taste for Makers:
“Not every kind of hard is good. There is good pain and bad pain. You want the kind of pain you get from going running, not the kind you get from stepping on a nail. A difficult problem could be good for a designer, but a fickle client or unreliable materials would not be.”
And in Great Hackers:
“One of the worst kinds of projects is writing an interface to a piece of software that’s full of bugs…you don’t learn anything from [doing this]. Writing a compiler is interesting because it teaches you what a compiler is. But writing an interface to a buggy piece of software doesn’t teach you anything, because the bugs are random…Working on nasty little problems makes you stupid.”
Bad problems are not interesting, not fun, and they teach you nothing. They create frustration and, given enough of them, will eventually cause burnout.
I’ve seen a string of bad problems last for months, and cause developer after developer to leave a company in search of more interesting work. Bad problems wreak havoc on your ability to meet Rob’s Criteria for Keeping Your Developers Happy.
Look at any large financial institution, government agency, and [insert name of large organization that considers developers to be a cog in their wheel here]. I’ve worked at a few of these companies, and often hear developers who are out of work joking: “If things get bad enough I could always go work for Company X.” Ouch…tell me that doesn’t hurt your ability to find good people.
On the flip side, look at Google, Fog Creek Software, and SourceGear. I’ve never worked at these companies, but evidence is strong that good problems are at the forefront of their agendas. And by some shocking coincidence they get a bazillion resumes for every open position.
A steady stream of good problems is the foundation for keeping your developers happy. Minimizing bad problems and maximizing good problems should be every development manager’s #1 goal.
[Digg this post]
October 23rd, 2006 — Cool News, Links & Reviews, Software Development, Startups
To celebrate the fact that today is the one year anniversary of hiring its first employee, Moon River Software is hiring again. If you’re interested, here are the details of the open position.
If you haven’t heard of Moon River, it’s the company started by software entrepreneur and blogger Mike Taber. If you’re into software startups you should check out his blog.
October 22nd, 2006 — Cool News, Links & Reviews, Startups
Media Temple is offering a new shared hosting service called Grid Server that costs $20/month. For this, you get 100GB of storage, 1 TB of data transfer and up to 100 individual sites.
In addition, the service will grow along with you since you are not hosted on a single machine. Instead, your sites are located on a grid of hundreds of clustered servers that can handle traffic spikes, performance problems, and all other sorts of headaches we experience with today’s shared hosting packages.
Like Google did with Gmail, Media Temple has created a new paradigm in shared hosting. Look for others to follow.
September 11th, 2006 — Software Development, Startups
In Personality Traits of the Best Software Developers we looked at four key personality traits of the best corporate software developers.
One of the comments, posted by Paul Norrie, raised an important question about interviewing: How can we test for attention to detail?
Attention to Detail
Someone who pays attention to detail stands less of a chance of forgetting to check their code into source control, checking their code into the wrong place, misspelling method, variable, or column names, having poor quality or missing comments, etc…
Here are a few interview questions to get you off in the right direction, realizing you should ask multiple of this type to avoid false negatives:
- Data Model - Provide a simple, two table data model with two column names spelled slightly differently (e.g., UserKey and UsrKey). Ask the candidate to write an inner join using the misspelled column. Most candidates will notice right away that something is wrong, but if they write the query and match the spellings to the data model you have to give them the benefit of the doubt and assume they didn’t want to offend you by pointing out a mistake. If they write the entire query and spell both columns the same (UserKey and UserKey), you have a problem.

- Paper Form - Give the candidate a very brief paper form asking for their contact information, but instead of asking for their current address ask only for their previous address. The candidate should raise a question about this. If they don’t, ask them if the address they wrote down is their current or previous address.
- Scenario - Give the candidate a scenario: you’re developing software at an enterprise software shop. You have all the standard tools: an IDE, database, source control, unit testing suite and bug tracker. Ask the candidate to provide every step in the process of creating a “Hello World!” application and getting it into QA. Note: There are no right or wrong answers to this question, but some commonly missed steps are: checking the code into source control, labeling the code, creating and checking in unit tests, emailing the appropriate person in QA or Change Management to move the code to QA, checking compiled assemblies into source control (some companies don’t perform this step), and creating and checking in documentation (some companies don’t perform this step - try not to work at those companies).
- Comments - Provide the candidate with a non-trivial function and ask them to write a comment block describing what it does. If at all possible give the candidate a laptop or workstation so they don’t have to write longhand on paper. Misspellings are not the issue here - a succinct, informative description is key. If their comment describes the method line by line that should raise a red flag. A C# sample method I’ve used in the past is:
private void X(Control parent)
{
Label lbl;
foreach (Control ctl in parent.Controls) {
if ((ctl) is Label) {
lbl = ((Label)(ctl));
if (lbl.CssClass == “error”) {
lbl.CssClass = “formlabel“;
}
} else if (ctl.Controls.Count > 0) {
X(ctl);
}
}
}
If you have other ideas please post them in the comments.
September 6th, 2006 — Software Development, Startups
I just found this great manifesto written by eKiwi, the developers of screen-scraper.
It’s a cross between a statement of their approach and a client bill of rights. It includes something they call the 15% rule, which, in their blog, they define as:
“Before undertaking a development project we create a statement of work (which acts as a contract and a specification) that outlines what we’ll do, how many hours it will require, and how much it will cost the client. As part of the contract we commit to invest up to the amount of time outlined in the document plus 15%. That is, if the statement of work says that the project will take us 100 hours to complete, we’ll spend up to 115 hours (but no more). As to where-fores and why-tos on how this works, read on.”
Some other highlights:
- “In any software development project there is an element of risk. Based on our experience, the primary risk we deal with is simply that we won’t create quite what you, as our client, had in mind.”
- “…the more time we spend on analysis, the more precise the statement of work is…This is a bit of a catch-22 , however, as you may have already surmised. We could spend weeks detailing exactly what the client wants to have built.”
- “We’re going to be nice to you…Our intent isn’t to nickel-and-dime you, or squeeze every penny out of you that we can. We want you to like us. We’re going to be nice to you. At the same time, we need to do what we can to ensure that our business prospers. That may mean that we need to be a bit hard-nosed about things on occasion.”