Help me start a web development/programming business.
August 4, 2010 2:15 PM   Subscribe

What do I need to do over the next two years so that I can start my own home business doing programming? I already work in Web Development for my job.

I am looking to the future. In two years, when I graduate from college, I would like to run my own business. A home business that I could take with me to grad school, travel the world, whatever I decide to do with my life at that point. So I want to build a two year plan so I can be up and running with this within 2 years.

I want to do web development or programming. I already work as a web technician at my part time job. Mostly html and css. But I also work with asp.net, SQL, FBML. Whatever comes up, I learn enough of it to do what needs to be done.

So what I want to know is first, what exactly should I do for my business? What has the best market? Programming in a specific language, slicing designs for websites, making myspace layouts, writing facebook apps? I am open to anything in the programming field.

I am good at learning this stuff, I have taught myself almost everything I know. Also I know some programmers who would be willing to help me learn. The point being, I have 2 years to learn this stuff, so suggest anything, it doesn't need to be something I already know, in fact I know I need to expand my skills.

Once I have a direction, what do I need to be learning? What kind of projects should I be doing to get a portfolio built and a good reputation?

What other things do I need to consider?

I really want to build a two year plan, and be able to arrive at my dream: To be able to support myself without my job requiring geographical roots.

TIA!
posted by chocolatemilkshakes to Computers & Internet (7 answers total) 12 users marked this as a favorite
 
One word of caution: working from a home office is not carte blanche to take work across the world and 12 time zones away, unless you make this explicitly clear up front. Clients may balk if the hours they can call you in person to discuss things are roughly 10pm to 6am their time.
posted by pwnguin at 2:39 PM on August 4, 2010


Regardless of what you need to learn about programming, you really need to learn how to run a professional services business.

(Why do I say professional "services"? Because you will be a consultant to various companies/clients, and you are selling them your time and expertise for an hourly fee and/or a flat per-project fee. Get used to this now instead of thinking of yourself as an employee, or a seller of a product.)

What you need most is CLIENTS, and the ability to go out and get more clients. I never did much in the way of professional networking when I was in CS, so I don't even really know what to tell you to do - there are no "bar association" events for programmers the way there are for lawyers. Maybe there's some kind of trade publication where you could advertise. Maybe you are counting on word of mouth - if so, start laying the ground work NOW. Let friends in the business, outside your company, know what you're thinking about, and ask what they think about it - whether they know anyone who's done it before, whether they know anyone who needs your services, stuff like that.

You should also get in touch with other consultants in related technologies. I think you should get away from the approach of being willing to learn a bit of anything, and focus more on presenting yourself as an expert in 1 or 2 or 3 things. This is a much better pitch than simply being a jack-of-all-trades, and you'll be able to command a higher rate. Then, when you've befriended other professionals who work on related (but different) stuff, you can exchange referrals, and even work on projects together when feasible.

And while you can ultimately gain more control over your schedule and develop a great deal of flexibility and free time, it will likely not be that way at first. You will need to hustle not just to get the gig you want this week and this month, but to lay the groundwork for the jobs next year, etc.

Sorry if you just wanted tech training advice, but I think this is the stuff you really need to work on, WELL ahead of time, if you want your own business to succeed.
posted by rkent at 3:00 PM on August 4, 2010 [1 favorite]


Things to consider:
  • What are you good at?
  • What do you enjoy/what are you passionate about?
  • How will you pay for your development tools to get up and running, or will you only use open-source? (Running a software business with pirated tools is a very very bad idea)
  • Who do you know that you can work with to do the things you're not good at? For example, it can be very valuable to cultivate associations with people who know how to run small businesses, who know marketing, accounting, recruiting, staffing, and legal issues.
  • Do you own your own domains, and are you actively working to build a brand around your name? eg: do you use twitter? do you blog? do you have YourName.com?
  • Have you talked with friends/family/acquaintances about software or utilities or websites they wish were around? To build something with widespread appeal, you're going to have to work with subject-matter experts (SMEs), and if you already know them, that can be useful. This can be a great way to find problems you can solve. Build a small web app that you can show people.
  • Do you want to freelance, or work as a contractor, or produce your own software to sell?
  • Have you incorporated?
  • Do you have trusted friends who can be your mentors, or sounding boards?
  • Are you active in the community? (eg: Stackoverflow.com)

posted by blue_beetle at 3:08 PM on August 4, 2010


N'thing pwnguin: a home based programming gig isn't exactly the same as not requiring geographical roots. Lots of clients want face-to-face meetings and you'll need to spend a lot of time networking for your next gig.

N'thing rkent: knowing the technology and having a portfolio of projects is half the toolbox you'll need. There are a lot of skills that seem to come through osmosis from being in a consulting or professional services environment: business development and networking for customers; writing proposals; negotiating contracts or statements of work; managing difficult clients; knowing when to walk away from clients; estimating projects and project management; managing sub-contractors. Also, it really helps to already have an established reputation and a rolodex of contacts to jump start the business development part.

You don't say much about your current part time job, but if you want to pick up these (business) skills in two years, your best bet is working for a firm that has a services model, but is small enough that you can actually get exposure to all of the nuts and bolts of how a services model works. Alternatively, you could make your two year plan into a three year plan and go out and get a job with one of those places to learn the ropes.
posted by kovacs at 4:15 PM on August 4, 2010


I counsel college students about this stuff quite frequently, since I own my own webdev business and sometimes teach college courses. I also started with the same goal as you, when I was at university. Now I send lots of work to people like that.

Here's what I know from experience:
I am looking to the future. In two years, when I graduate from college, I would like to run my own business.
This is a beautiful idea you have. You can make it work. Just probably not in two years.

Two years really is looking into the future, for most college students. For a business, two years will get you to the point where you have some nice side income to support a hobby or two.

Most college students with similar aspirations set similarly short timelines for themselves. Please, don't short-change yourself. Give yourself 5-7 years. You'll have a better chance at success and you won't be tempted to do crazy dumb stuff (like giving up) because you weren't realistic as much as you were hopeful.
A home business that I could take with me to grad school, travel the world, whatever I decide to do with my life at that point.
Sure, you can do that. If the business only needs to bring in $1/month. What you haven't mentioned is how much the business will need to bring in. How much do you absolutely have to make, every month, to survive?

Once you know that, you are off the unrealistic goal train and ready to start planning.
I already work as a web technician at my part time job. Mostly html and css. But I also work with asp.net, SQL, FBML.
HTML and CSS are not really "web development and programming" tools. If those are most of what you know, you are a web designer. If you really work with asp.net and SQL enough to be able to make websites with them, you are in web development land.

Anyway, the tools aren't what make you money. They're part of it. People will really make you money, though. You need to hit the ground and talk to lots of people. Go to print shops, go to places where they probably get a lot of people asking for web services. Tell them what you can do and ask if you can help.

Also, just to give you an idea, HTML and CSS are about 10-20% of what I do. They're crucial when I need them, but other things like configuration management and tech support actually play a bigger role for many web freelancers.
So what I want to know is first, what exactly should I do for my business?
You need a website, pronto. You need an email address that isn't "pwnzn00bs@email.com" or "mglh300@hotmail.com" (weird...obscure...embarrassing...the whole lot. I actually had freelancers with info like this).

You should print out some business cards, and you should have a phone number with a normal-sounding answering message that says something about website development.

One problem area for your clients is going to be your schedule. Doubly so if you're working with other freelancers who are managing projects. You're a student. You aren't going to be at work all day. You can manage this by finding times to return phone calls throughout the day and being good at getting work done when you say it will be done.
Programming in a specific language, slicing designs for websites, making myspace layouts, writing facebook apps?
You are listing things that you haven't done before, right? Most college students do this. I would suggest sticking with a small set of things you can do well.

Don't approach people with "I can do anything." Do less, and do it well. It doesn't feel right, but it's a better strategy.
I am good at learning this stuff, I have taught myself almost everything I know.
All college students say this. If you could see a Youtube video of hundreds of college students saying this, one after another, you would laugh really hard. I used to say this all the time, to anyone who would listen.

Every 20-year-old wants people to know they're incredible at life, then they want to turn that into money.

The statement is OK but it's really self-focused. It sounds desperate. What I would do is keep that attitude for your personal study, but drop it when you're around other people. Focus on getting other people what they want, and show them, don't tell them, what you can do. This is why I would focus on a smaller set of things that you do well.
Also I know some programmers who would be willing to help me learn.
Learn from them as you need to, but see what they're doing for real work. Ask them for advice on your business, if they do business-y stuff. They'll know you better than we do. Ask them to review your finished projects.
The point being, I have 2 years to learn this stuff, so suggest anything, it doesn't need to be something I already know, in fact I know I need to expand my skills.
2 years is a good chunk of time in which to learn things. It's not a good chunk of time in which to become something, namely a self-supporting business person.

It can be done, yes. The people who are doing it are really good at sales, not technology.
Once I have a direction, what do I need to be learning? What kind of projects should I be doing to get a portfolio built and a good reputation?
Here's what I look for in college-student-level work:

1. How many websites has this student made?
2. Were those websites done for classes, or really done out of curiosity to learn the tech?
3. How does this person take my advice? If I ask them to learn a new technology, do they keep me updated, ask questions about it, and follow through shortly thereafter?

Beyond that, there's hardly any point in asking about "how someone works" or "what they're passionate about." College students just aren't expected to be at that level yet.
What other things do I need to consider?
1. Find a place where you can live rent-free. Doesn't matter if it's your parents' house.
2. Don't go into debt, period.
3. Take a break from school if you can. Give yourself a lot of time to think over the master's degree.
4. Beware of manager-types. Guys in their 30s and 40s who approach you with flattery and make you feel like a special snowflake.

There comes a time in every man-beast's life when he turns from "man" to "manager." Managers love to feast on soft little college students. They love to exploit you for cheap labor. They love to "pay" you in movie tickets, computer parts, or whatever they have on hand.

If you don't get a good feeling around somebody, don't be their freelancer just because you need the money. This is where the no-rent, no-debt situation will give you an incredible advantage over other college students. You can turn people down.
and be able to arrive at my dream: To be able to support myself without my job requiring geographical roots.
You are going to have to find tradeoffs with your no-geographical-roots plan. It's just one more thing, next to your short timeline, that will work to keep you from succeeding.

Rooting yourself somewhere local and small is a well-known key to success, even in the Internet age. Especially in the Internet age. You propose to do the opposite of that. Something to think about.

Hope this helps...best of luck to you!
posted by circular at 4:39 PM on August 4, 2010 [11 favorites]


By the way, I forgot to mention one huge thing I did in college that was a help:

Exhaust your college resources. Go to clubs related (web dev, or unix users, or whatever). I did ACM and UUG. UUG was way better, and got me a job.

I ended up changing from Computer Science to Film because the film department had just become "Media Arts" and had a new "Interactive Media" track. They had some fun-looking classes that didn't involve high-level math.

I showed up, told them they had some neat classes and I was thinking of switching from CS. They sounded like they were going to wet their pants and gave me the name of a professor to talk to.

She sat me down and got REALLY excited. She got me a job. She got the department to buy me a Dell PowerEdge server. I ended up sharing it with ONE other student. You should have seen the looks when the IT guy rolled the server into the film students' computer lab and asked if (my name) was here. There I was, working on an eMac. Could not hold the smile back.

Also, see if any pros from local studios are coming in to teach night classes. That's a good way to get connected fast.

So, you may have tons of resources at your disposal. Maybe not. But it's worth a try, and you are paying these people to help you anyway.
posted by circular at 5:35 PM on August 4, 2010 [1 favorite]


I'll second the idea that you need to go out and get clients. They'll tell you (either directly, or through their decisions about re0hiring you) if you're doing a good enough job to make it a career.
posted by jmevius at 8:24 AM on August 5, 2010


« Older Psych Me Up   |   Is my deep sleep percentage sufficient? Newer »
This thread is closed to new comments.