looking for some project advice for a startup

George Toft george at georgetoft.com
Sun Mar 23 23:45:45 MST 2014


I've been involved in two startups, and I won't "say" run away, but you 
know I'm thinking it.

First startup had a great product - a virtual mall coded in flash 
designed for dial-up modems (33kbps!) and looked fantastic. Problem was 
it was written by a couple 18-year-old whiz kids who didn't know how to 
document anything, and when the inevitable labor dispute came up, they 
walked and the entrepreneur was left with undocumented, unfinished 
code.  The moral of the story is you must include time (and time is 
money) for documentation.  Pound this into their head.  Document 
requirements.  Document test cases.  Document architectural decisions.  
Document engineering decisions.  Document process flows and data flows.  
Make this a brain dump.  BTW - this will easily take as long as the 
coding, but if you don't, when it breaks and you're not around, they're 
screwed.

Extreme case #1: I set up a Linux box as a samba server, NFS server, and 
DNS server.  It has a custom backup script that backs up to a remote 
server.  My documentation is 40 pages.

Extreme case #2: I set up Symantec ScanEngine on a three Linux boxen 
behind a load balancer.  Custom script to convert Symantec logs to plain 
text.  130 pages of documentation.

Extreme case #3: I set up 3 VMware heads with a NAS backend and a back 
up server; three VPN servers; DNS and mail relay.  86 pages of 
documentation.

Guess what?  I never forget anything about these systems and whoever 
takes over for me will know everything I do about them as well.  It also 
serves as proof of testing and if anyone ever says I didn't do anything, 
the proof is in the documentation that I did what I claimed.  Also, it's 
fun to do destructive testing and put screenshots in the docs.

Regards,

George Toft

On 3/23/2014 9:38 PM, David Schwartz wrote:
> I have some general questions relating to a programming project for a startup, and someone suggested this might be a good place to post them.
>
> A guy I know is involved with a start-up and they need to have a commercial router reprogrammed for their specific needs. (I can’t address the why’s or wherefore’s about this. That’s all they’ve told me thus far.)
>
> Since this list probably has a fairly wide range of people on it, I figured a few of you might know something about taking on projects for startups, and also maybe even programming routers.
>
> I found the product page for the router they’re interested in using, and it has a link to download the GNU-licensed source code that they’re obligated to distribute. It’s a tarball that contains a customized version of OpenWrt, an embedded Linux distro designed mainly for use inside of routers and similar equipment.
>
> (see http://openwrt.org for more info)
>
> I’ve looked over the OpenWrt site, and it uses Packages to allow you to add your apps into a virtual file system. Since the router’s logic, as a Package, wouldn’t be part of the distro, it’s probably not included in the tarball.  But the configuration screens may be.
>
> Anyway, this guy wants me to talk with their tech dude about implementing custom firmware for these devices.
>
> I’ve never programmed routers before, but it seems like little more than taking data packets from one port, filtering them, maybe translating and/or transforming them, and sending them out of another port. I don’t know exactly what they want done yet, so I don’t know why they need customized firmware.
>
> Ignoring all of the specific, and keeping in mind that they’re a start-up and are probably under-capitalized, I have the following
>
> QUESTIONS
>
> 1) Generally speaking, how easy is it to find someone who has experience doing this kind of work? (embedded Linux for equipment, including routers)
>
> 2) What would they normally charge?  (ie., is it a super-specialty kind of thing that would command a really high rate? Or would $50/hr be considered reasonable?)
>
> 3) If they want to pay mostly or entirely in equity, how would you arrive at a fair compensation rate? How much harder would that make it to find someone to do the work?
>
> 4) I could probably learn what’s needed and do this for them, but it wouldn’t be as fast as someone who’s programmed routers before. I’m trying to decide if I’d be better off saying I’ll do the programming and everything myself, or take this on as a kind of Project Manager and do what I can while finding someone else to do the coding. They’d still be paid in stock, I’d imagine.
>
> 5) Assuming they have some kind of a spec, how much work would be involved before you’d start coding? IOW, how much prep work would be needed before you’re ready to code this?  What I’m getting at here is this: is there a good chance there’s 40-50 hours (eg., a full week) of prep work, like rebuilding and tweaking the OS, verifying it can be loaded onto the device, figuring out how to debug it live, and so forth? Or is this something that would take a day or so?
>
> 6) How could I split this into some smaller deliverables for project management purposes? (I’m just not familiar enough with embedded projects like this to guess what kinds of milestones someone might set.)
>
> Keep in mind this is a commercial product that they want to reprogram. The vendor is going to be of little or no use in helping with anything. So we’d be hacking this thing all the way.
>
> I’m curious what your opinions are. Please refrain from things like, “turn and run away as fast as you can!”  I get that some folks won’t go near startups. That’s fine. It doesn’t alter the fact that these guys are looking for someone, and they’ll find them sooner or later. I’m just trying to get a sense of how to negotiate with them and if it’s worth my while to consider taking it on it myself.
>
> Thanks!
>
> -David
>
>
>
> ---------------------------------------------------
> PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org
> To subscribe, unsubscribe, or to change your mail settings:
> http://lists.phxlinux.org/mailman/listinfo/plug-discuss
>



More information about the PLUG-discuss mailing list