4 ms·
Most people here are guessing and have no clue. Get furniture at a local university for almost free: http://www.purchase.umd.edu/ttrader/ http://www.purchase.u
by justin_vanw 17y ago
Most people here are guessing and have no clue.
Get furniture at a local university for almost free: http://www.purchase.umd.edu/ttrader/ http://www.purchase.umd.edu/ttrader/ for example.
- Hosting: Doesn't matter at first. Get a VPS, or use Amazon EC2. Do not buy any hardware and do not lease rack space. Don't get anything you have to physically touch yourself.
- Developer workstations: Convince everyone to use their own computer. If they won't do that, find someone else. Anybody worth a damn at a startup is already going to be more comfortable with their own setup, so it is a red flag if they expect you to buy them a computer. If they just can't afford a computer, buy them the cheapest macbook and a cheap 24" LCD, and upgrade the memory yourself. Make sure they sign something committing them to give the laptop back when their employment ends.
- Make sure someone knowledgeable is in charge of making the development and build environment totally automated on every platform you intend to have people developing on, which is usually linux and osx. If someone wants to develop on windows tell them no, getting a development environment working is too painful and would waste significant time to set up (unless you are on windows specifically, then the reverse). Setting up the development environment should only require running a single script and waiting awhile for it to complete. This will be done lots of times in the next couple of years, don't make people waste a bunch of time on it. Also, when the build environment changes, you need to have a script to run to update everyone's environment. This can simply wipe and recreate it, but it shouldn't take more than 5 minutes or so to do any updates after the initial install. Don't let the guy in charge of the development environment script say 'oh, it works on macs, you just have to edit this file when it is done and change this value' or crap like that, just get it down to running that one command, because every change is (time to apply change) * (number of people) of time lost. If everyone is working in the same place, you can avoid having copies of the database on everyone's laptop, and as people break the development database your DBA can learn the value of constraints and limited user accounts that will thwart attacks and data corruption later. Otherwise, there needs to be a sql script to run to transition the database from the old state to the new state whenever there is a schema change. Don't bother with automatic tools that try to do this, they do not work. Make sure everyone can access an up to date dump of the development database (if there is one) in a pinch to fix their dev environment.
- Office space: Could easily become a huge expense. If one of the founders has a house, convert their garage by installing a stand-alone air conditioning unit and some extension cords. Make sure you have a signed lease for the space, and you are paying the house owner for the use (even if 'payment' is just iou's from future profits). Remove every single thing from the garage, buy 6 gallons of light colored paint and paint it, and do a great job, multiple coats. Make every employee help. Buy lamps and throw rugs from ikea and make it livable. If you can't get a garage, and one of the founders has a multi-room apartment, convert their living room if it is large enough, and otherwise this is like the garage. Write up explicit rules for the use of anything other than the garage/living room, and make sure everyone but the owner of the home sticks to the same rules (either everyone can wander around the house or nobody can, I would say nobody). Obviously you will have to allow access for everyone to a single bathroom, and preferably a shower. Make sure everyone takes turns cleaning the bathroom. Buy smoke detectors. Buy a bunch of big pillows, bean bag chairs, or other super cheap furniture, and set up a carpeted pow-wow area where people can chat, whiteboard, or just take their laptop for a change of pace. This will also become the nap area for people who start to basically live in the office. If you can't get a garage and you can't get a room in a home and you can't get a basement, maybe you should rethink things until you come up with a cheap-nearly-free space to use.
- Do not allow Televisions or video game systems. Set up a firewall that blocks common time waster websites like HN, reddit, facebook, etc. Adopt the philosophy that if you are in the office you are working or resting, and if you need to relax or take a break, you leave and go somewhere else. This both avoids time wasting and helps people leave and get some air instead of getting into unhealthy exhaustion. Discourage people from working at home or at coffee shops, and so on, get them in that office if they are working, and chase them out regularly to do leisure activities or sleep when you see they are getting burned out. Make people wear headphones, even if they think they can get everyone to agree about what they are listening to, odds are there will be people who are not assertive and will say ok, but then get distracted or annoyed.
So, all in all, you should spend about $2000 setting up your office for around 8-10 people. If someone has a garage, maybe toss them $500 per month to use it, plus utilities.
For the rest of the stuff, use gmail, and either github or local version control if you have someone who is an ace at setting it up and managing it.
Cost breakdown:
- Paint: $200
- Extension cords: $50
- Smoke detectors: $50 (CO detector if you use any gas heater in the winter)
- Fire extinguisher: $30
- Small fridge: $100
- Carpets: $300
- Desks and tables and chairs: $500 (get cinder blocks and thick plywood if you can't get anything else for very cheap, and put a table cloth over it)
- Lamps: $200 (you should have about 1 per person, do not allow incandescent lights as you have too much computers and people in the space heating it up already)
- AC: $600, get a powerful one that does heat too if you are in an area that needs that
- Big fan: $50 - good when it is nice out and you want to open the garage door
So that adds up to around $2000. In a few weeks you can spend more money, but once you spend it it is gone forever.
Do not lease office space in an office building until you can be (more) profitable with that expense.
- spongefrob 17y agoHosting and rackspace matter a WHOLE lot if computers are central to your business. Would a bank get started without a vault? Can you build a house without a foundation? The point is as cheap as possible... not as cheap as cheap... If you're going to end up with a lot of servers: get into rackspace NOW and develop a relationship with the datacenter. If computers are at the center of your business then you owe it to your business to house them with the same care you would your employees. Or, you could grow it ad-hoc and deal with serious downtime and expansion issues later and attendant costs. Choice is yours. I would consider how well you like stress before deciding. Convincing people to use their own computers is epic fail if you have intellectual property issues (or think you might in the future.) If your employee is going to sign an NDA under no circumstances should you allow them to use their own computers. Also, varying degrees of attention are paid to things like vulnerabilities and stability as well as standards. If your relying upon yourself to do IT, then you're automatically setting yourself up for connecting ten different computers in 15 different ways. This does not scale. Then of course, you'll have the hotshot programmer who'll set up his own sourcecode repository and you'll have no end of headaches getting the two repositories to agree. If you're going to rely on computers with minimal IT staff then you need to go cookie-cutter approach in the beginning and set up definitive rules like "a server is a server" and "a desktop is not a server".
- deleted 17y ago[deleted]
- justin_vanw 17y agoThere is no reason to own your own servers. Putting them in EC2 saves you lots of money and more importantly time, and allows for scalability which would be almost impossible with physical servers. Additionally, there is no large up front cost, it requires no physical presence at a data center to manage, and there are no hardware issues to resolve, be it failed drives, UPS fiddling to keep power use evenly distributed, it goes on forever. The advice given in the parent post is, frankly, uninformed (or at the very least 5 years out of date). For a startup, you don't want to blow a bunch of cash up front because you don't know what your requirements are going to be in the long run. It is very common to blow a bunch of cash on equipment and have it sit idle until it is obsolete, or realize later that it is not what you needed. Finally, an NDA does basically nothing for you. 'Great ideas' are worthless, and most source code is worthless as well. It's all about execution. If you had every line of source code ever written for youtube.com you would have no advantage whatsoever, it would get you nowhere. Companies that do create code that is very valueable can often give it away for free, see danga interactive and memcached, or the reams of code facebook and google give out, and these are not open source companies. Very, very occasionally certain very difficult problems will be solved, and that code is valuable (for example, suppose fedex developed software that routed packages with 10% greater efficiency than anyone else could achieve) but here again the code is worthless, the algorithm is what is valuable. The algorithm can be patented, so here again, the code itself is worthless to competitors. Example: Adaptive Replacement Cache "Also, varying degrees of attention are paid to things like vulnerabilities and stability as well as standards. If your relying upon yourself to do IT, then you're automatically setting yourself up for connecting ten different computers in 15 different ways. This does not scale." -- This doesn't mean anything as far as I can tell. I honestly cannot figure out what your point was here, or if there was one beyond fitting as many words commonly used in technology discussions in a single paragraph. If you can't figure out source control, you might as well give up now. It is a basic, entry level task in software development. "... rules like "a server is a server" and "a desktop is not a server"." -- Yep, you've lost me. Either you are saying something super obvious, equivalent to "a door is not a window", or you are speaking the gibberish.