Discover and share the best of the web!
Learn more about Digg by taking the tour.
8 Software Engineering Tips for Startups
blog.adaptiveblue.com — The business ideas, new utilities for society and the next big thing all boil down to code. If the code is good, the startup has a chance. If the code is bad, no matter how brilliant the business people are the startup is not going to get far.
- 976 diggs
- digg it
- awright415, on 12/01/2007, -10/+1Long live our fascination with lists and tips! Good read, and I can't wait to see more from AdaptiveBlue in the coming SemanticAge.
http://www.digg.com/software/10_Semantic_Apps_to_W ... - physicx, on 12/01/2007, -4/+6great article. the engineer points are so true.
- roodammy44, on 12/01/2007, -2/+1Not entirely true.
Myspace's underlying functions were coded amazingly poorly, their servers were all in the same farm (which went down several times) and apparently they're worth $6 billion now.
Lots of poorly coded and engineered websites have gone far.
But they're good tips.- tempusrob, on 12/01/2007, -0/+3And who knows how much money they blew making the backend not suck, as opposed to if it were done right the first time!
- roodammy44, on 12/01/2007, -2/+1Not entirely true.
- bzaks, on 12/01/2007, -2/+12Hmm... So that's why all 200 of my start-up companies failed.... you're actually supposed to WRITE the code first.... drag...
- frzl, on 12/01/2007, -0/+6great, great post. Although I think code for code's sake does not a business make!
- geomon, on 12/01/2007, -16/+11D+ article. Written from a true engineer's perspective. Notice how this guy is giving away advice for free instead of charging his clients for it?
Item 0. "Must have code." Strange as this may seem, he is right. Why is this strange? Because before the first tech meltdown (what? you think that one in '99-'00 was the last?), no one seemed to have learned Econ 101: you must have a product or service to sell. What Alex is stating here is just the obvious. Congratulations.
Item 1. "Must have a technical co-founder." Not necessarily. You can BUY good code from someone to sell. Apparently that idea hadn't occurred to Alex. It *has* occurred to several companies run by MBAs who have bought good code and are now selling the ever-living-***** out it.
Item 2. "Hire A+ engineers who love coding". Well, one would always love to hire the A list, but that isn't always possible. You may get them for awhile, but then they get poached by your competitor. So you either leave the position unfilled and screw your production schedule, or you hire a B+ engineer. This is called reality.
Item 3. "Keep the engineering team as small and do not outsource." Okay, this built-in rigidity is just plain stupid. You have no idea when you start up what your manpower demands will be or what projects you may have to focus on in the next 18-24 months. To take a proscriptive attitude from the beginning of your company, with no flexibility, is a guarantee of being overrun by your competitors. I guess Alex doesn't realize how fast the software industry changes, and that unless you can adapt quickly you can be consumed by change.
Item 4. "Ask tough questions during the interview." Commonsense really. Who wouldn't challenge an applicant about what they have written on their resume and whether they were qualified for the job. I know that there are always stories about some university provost who faked their way through their job for 20 years without a degree, but I have never been to an interview where my credentials weren't scrutinized. I guess some people just don't do their jobs when doing background checks.
Item 5. "Avoid hiring managers." This is just stupid advice. A good manager is worth the money you pay them. If they are doing their job correctly, they are providing all of the support (logistical, clerical, operational) that great technical staff shouldn't have to do themselves. Is Alex really suggesting that these A+ engineers should be taking precious time from their projects to reply to incoming correspondence, book their own travel arrangements, and RUN THE ***** OFFICE?
Seriously. Alex lost me on this one.
Item 6. "Instill an agile culture." And I suppose this means contradict yourself too. If you are agile you do not lock yourself into predetermined arrangements like "do not outsource".
Item 7. "Do not reinvent the wheel." One would think that would apply to learning how to run a successful business. But Alex, it seems, is determined to reinvent the wheel.- robbyjo, on 12/01/2007, -1/+3I agree with you for item 2. An A+ engineer needs a lot of $$, which is mostly not a luxury for most people with tight budgets. Unless, of course, your A+ engineer is one of the co-founder that's willing to spare time to do the coding for free.
For item #5, you can run an office without a manager for a while (at least until you get a funding or something), but definitely not forever. At least you need to have someone to answer the phone /etc. That is a secretary (or yourself).
For item #7, sometimes this option is not feasible if there's no non-free library that you can readily use for commercial applications. That means, GPL-ed codes are usually off limits (which unfortunately a lot out there).- geomon, on 12/01/2007, -1/+4Item #5: Have you ever noticed how many small companies have a secretary who runs the office yet is not the office manager. He or she (most often, she) handles all of the calls, makes all of the appointments, handles all of the receivables and posts the payables - sent to an *outsourced* accountant - and also rounds up all of the time sheets (or makes sure everyone certifies their online timecards). So while Alex says "avoid hiring a manager", what he really means is what every small company means - dump everything on the low-wage secretary.
And what about conflict management? Who mediates conflict between people who, by their very nature, have elevated self-worth (I work with MANY A+ engineers). Who does the performance reviews? Are these handled by the employees themselves?
I think Alex is a solo SOHO who works from his converted garage/office. It is easy to make grand conclusions about how to run a business when you are the sole proprietor and the only employee. It gets much muddier when there are 30 employees in your company and tempers flare.
- geomon, on 12/01/2007, -1/+4Item #5: Have you ever noticed how many small companies have a secretary who runs the office yet is not the office manager. He or she (most often, she) handles all of the calls, makes all of the appointments, handles all of the receivables and posts the payables - sent to an *outsourced* accountant - and also rounds up all of the time sheets (or makes sure everyone certifies their online timecards). So while Alex says "avoid hiring a manager", what he really means is what every small company means - dump everything on the low-wage secretary.
- dtraneighty8, on 10/07/2008, -0/+7I bet you gave him the + for starting the list at 0.
- vade79, on 12/01/2007, -0/+1#4: Honestly, I personally look at credentials as initial bloat. Also, what some people consider tough questions don't analyze problem solving skills--which is what is really important. Can the person solve unique/unexpected problems and come up with innovative ideas as they are needed...personally i've noticed standardized schooling does not churn out good results for these kind of people.
- vanza001, on 12/01/2007, -0/+1ha I'll throw my 2c in.
#6 - Agile Development actually has nothing to do with weather or not you choose to embrace outsourcing. Agile development is a way of planning and developing concurrently. What is to be made changes over time on purpose instead of by chance. The chance happens to be 100% as t goes to infinity so this is a much better way to plan. This allows the developers to better understand and plan for the change. Alex is not contradicting himself. - davidrools, on 12/01/2007, -0/+1I think the things he mentions are on point for genuine startups of 2-10 employees. If your idea is good enough, you can find an A+ engineer to work primarily for options. That's the engineer that will be passionate both for the love of the work and for the potential payout.
- adwarereport, on 12/01/2007, -1/+3His points are dead on... this is coming from a successful serial entrepreneur. Your post makes it seem like you have no startup experience whatsoever.
- robbyjo, on 12/01/2007, -1/+3I agree with you for item 2. An A+ engineer needs a lot of $$, which is mostly not a luxury for most people with tight budgets. Unless, of course, your A+ engineer is one of the co-founder that's willing to spare time to do the coding for free.
- FaithclubDotNet, on 12/01/2007, -1/+7Do not reinvent the wheel. It has already been patented.
- surfing, on 12/01/2007, -0/+2Prior art!
- surfing, on 12/01/2007, -0/+2Prior art!
- KingBunny, on 12/01/2007, -1/+2I've also heard the argument "outsource all the boring parts" instead of growing, because you make the same as a larger company, only you just do the cool stuff. At least that's what I heard from a local company which is apparently well off, and small.
- sockpuppets, on 12/01/2007, -2/+9The technology required to create a pictures section must be staggering. :)
- zzzpoohzzz, on 12/01/2007, -0/+15i enjoyed the list starting out at 0... made me giggle a little bit, silly computers...
- dualaudi, on 12/01/2007, -6/+1How do you explain a small company called Microsoft?
- CSharpSauce, on 12/01/2007, -0/+1Round the clock coding from hundreds of engineers.... Nothing explains the advent of managed code better :) They needed some way to stop all those sloppy coding mistakes (memory leaks and hanging pointers.. and such)
- RioGangsta, on 12/01/2007, -0/+12it's a balance for a start up to work. There are too many start up cases with A+ engineers, but failed because their biz team were just clueless
- Vasant56, on 12/01/2007, -1/+12My Tip: If you need to read a digg article on startup tips, you're not ready for a startup.
- digid, on 12/01/2007, -2/+1myspace?
- johnnyrotten, on 12/01/2007, -0/+3I wish all of what he said was true, but I have a problem with the whole intro to the article. The fact is, lots of successful startups have started with what I would consider "bad code". In order to get the thing out the door, they don't think about the future. Instead, management will believe that they have time to fix the code after they are successful. That never happens.
- CSharpSauce, on 12/01/2007, -0/+1+1 from me, Management doesn't look at the code all day, only what your tech lead is telling them about the code.... and he' s not going to admit that the code they produced earlier (under his supervision) is inferior.
- SatansSpatula, on 12/01/2007, -1/+5Lousy article.
"0 - Must have code." Um, what? Isn't that what the business is for? Isn't this a bit of a chicken-and-egg problem? Or is he saying, "you must have code in order to get funding," which quite a different situation.
"5 - Avoid hiring managers." I've been at a startup. The only thing that kept us working together (since we were all 'passionately' working in our own area) was our excellent, excellent manager. How about just, "don't hire douchebags who waste time"? Also, "the best startup engineers are people who are young and hungry to write code." WTF? Without wisdom, you will be implementing awful, hamstringing practices and probably writing ***** code.
The best engineers are a little lazy and highly experienced. Why? Because we see the value of coding for the future as well as the present.- buckrogers1965, on 12/01/2007, -0/+3I agree. The manager can take a lot of load off the team and have short meetings every couple of days with individuals on the team, catching up with the status, monitoring the bug reports and liaising with QA and Management so the coders on the team can just code and never have to sit in a meeting unless they absolutely have to be there. Think of it as the manager being there for the team, instead of the team being there for the manager.
- zomgflamer, on 12/01/2007, -1/+1WHy start with good code, just start with functional code and charge more money for each version upgrade thats what major companies have been doing.
- buckrogers1965, on 12/01/2007, -1/+9I stopped reading when I got to the part where it says young people make better engineers. For large production systems? Naw, give me a half dozen 50 year old programming gurus with proven large scale development experience any day over 6 guys strait out of school.
- CSharpSauce, on 12/01/2007, -1/+2almost right, DEFINITELY go with some experienced guys... but to old, and you're going to get C code that looks like COBALT. Its hard to teach an old dog new tricks. Technology is constantly changing, you need someone who's been around the block, but isn't tired yet.
- bluesnowmonkey, on 12/01/2007, -0/+3Cobalt? It's blue or what?
- atishmeh, on 12/01/2007, -1/+2This is about startups - specifically early on in startups, not around large production systems
- CSharpSauce, on 12/01/2007, -1/+2almost right, DEFINITELY go with some experienced guys... but to old, and you're going to get C code that looks like COBALT. Its hard to teach an old dog new tricks. Technology is constantly changing, you need someone who's been around the block, but isn't tired yet.
- Lambrakis, on 12/01/2007, -1/+0Great article? GREAT ARTICLE? This is another list. It's a collection of worn-out truisms. A+ engineers? Have code? Clue: someone with a blog somewhere wants ad clicks BAD.
- joshuaer, on 12/01/2007, -2/+4Great article but you say: Hire a few of the best guns you can find, pay them well, give them stock options, make them happy and jazz them up about the company.
Stock options??? this is Software Engineering Tips for Startups. Most startups do not have the cash to be on the stock market!- atishmeh, on 12/01/2007, -0/+3You don't understand what stock options are. Stock options are shares in the company you work for. Equity. If the company goes on to be worth a billion and you were given 1% of the company in stock options, you get 10 million.
- donkeySays, on 12/01/2007, -1/+1Hey I give you 20%, work for FREE till my company makes it big.
- PatrickX, on 12/01/2007, -0/+1You can have stock options with a company that isn't traded publicly. They are granted based on the difference between the company's own estimate of its current value and its targeted public value. The option only has worth if the company goes public (through IPO or acquisition) at a value higher than its current value.
- Lazaryn, on 12/01/2007, -0/+4Completely disagree with point 4. Don't ask questions about code, look at their code yourself. Take for example myself--I have been programming for ten years, four years professionally, with no formal education in the area and although I do not know what some algorithms are called I can still write more efficient code faster than the software engineering graduates I have worked with over the years.
- eatmorgnome, on 12/01/2007, -1/+0Why would I want to look at your code if you can't answer questions about it?
- YourSexyMama, on 12/01/2007, -2/+1lol, A+ engineers... I wouldn't hire an A+ engineer if you paid me... All it is a BS resume enhancer. This author has never worked for a real coding workshop.
- RyeBrye, on 12/01/2007, -0/+2I don't think he was referring to any specific certification
- philba, on 12/01/2007, -1/+0Maybe this should be retitled "8 Obvious Things That You should Know..."
Oh, and you can look at their code all you want but if you can't figure out how smart they are what's the point? suppose they got the idea from some one else? suppose they took 8 weeks to write 100 lines of code? suppose their friend wrote it for them. No, you've got to grill them - ask them to solve hard problems. Make them prove they are just plain smart. - RyeBrye, on 12/01/2007, -0/+4"Why worry about having millions of users while you do not have any at all right now?"
Err... 'cause you can, and if you don't have your head up your ass it's not that hard. If you don't do that, you're stuck with the problem of making PHP scale. - eatmorgnome, on 12/01/2007, -0/+1Has the author of this article started his own successful startups?
- SavageBlackCat, on 12/01/2007, -1/+1It's a laundry list of how to make a startup fail.
- luseton, on 12/01/2007, -0/+1Outsourcing?? Bad?? Some parts of Digg was outsourced. It is up to the project manager to make sure outsourcing goes well. I have given some project locally and even that, without project management, goes down the drain. You have to know what you want and clearly define before you outsource.
- davidstory, on 12/01/2007, -1/+2I my be biased, but a passionate "experienced" engineer is way more valuable than a "wanna be" young engineer.
- stockjones, on 12/02/2007, -0/+1Although this list sounds great in theory, you put a small group of these types of engineers together and you have a room full of hubris and conflict to deal with. Nothing is worse or more expensive than dealing with a group of programmers who all think their coding style and methods are best. Especially without any management of the project whatsoever. And young programmers the best? What?
- fileptr, on 12/03/2007, -0/+1dugg for numbering from 0 to 7.
- kjohn22066, on 12/03/2007, -0/+0over 100 Free Software Engineering books (100% Free):
http://freecomputerbooks.com/specialSoftwareBooksI ... - Mikemur, on 12/12/2007, -0/+0I've coded alone a toolbar that besides everything else also creates tabbed search directories, like metasearch engines for websites and blogs. See an example at http://www.freeonline-movies.com
The free version is very popular, bat I didn't have much success with the paid version that I've just released.
Can some one tell me if this is a good business idea and should I try to start doing this full time and hire more developers or business partners? What is the next step if I want to? Is anyone interested doing this together?
Here is the link for the toolbar
http://www.absolutetoolbar.com
Regards,
Khach B. - lolo2007, on 02/29/2008, -0/+0I've also heard the argument "outsource all the boring parts" instead of growing, because you make the same as a larger company, only you just do the cool stuff. At least that's what I heard from a local company which is apparently well off, and small.
http://download.paramegsoft.com/
http://www.paramegsoft.com/forum/ - yogastore, on 06/27/2008, -0/+0http://astore.amazon.com/flowtron.mosquito-20
http://astore.amazon.com/flowtron.insect.killer-20
http://astore.amazon.com/evaporative.air.cooler-20
http://astore.amazon.com/air.swamp.cooler-20
http://astore.amazon.com/braun.electric.kettle-20
http://astore.amazon.com/cordless.electric.kettle- ...
http://astore.amazon.com/canon.battery.charger-20
http://astore.amazon.com/12.volt.battery.charger-2 ...
http://astore.amazon.com/furniture.chaise.lounge-2 ...
http://astore.amazon.com/outdoor.chaise.lounge-20 - yenta4shop, on 09/07/2008, -0/+0http://www.yenta4shop.co.uk/
http://astore.amazon.com/12.volt.battery.charger-2 ...
http://astore.amazon.com/5.gallon.water.bottle-20
http://astore.amazon.com/aerobed.raised-20
http://astore.amazon.com/bug.zapper-20
http://astore.amazon.com/flowtron.insect.killer-20
http://astore.amazon.com/furniture.chaise.lounge-2 ...
http://astore.amazon.com/inflatable.bed-20
http://astore.amazon.com/steam.cleaner.mop-20
The Digg Toolbar for Firefox lets you Digg, submit content, and keep track of Digg even when you're not on the Digg site. Download the official