Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

First off, you need to make a small tweak to your mind-set. You aren't initially doing freelance work and then starting a company, rather you are starting a company as soon as you start doing client work. The mind-set is important because you will be more successful from the start.

You absolutely need to know JS well, and be proficient in HTML / CSS, so I'm not sure a focus on either front-end or back-end is good advice. However, with limited time you need to choose your battles well, so don't worry about mastering HTML / CSS at the start (ie, you can duplicate any site but you won't be as fast at it as someone who does this part as a regular gig.) Become proficient with Linux, but don't spend too much time there. Just learn the basics, the rest can quickly become a sand trap and your time is best spent elsewhere.

To make this work, you need six months living expenses at the start of doing client work. Three months is an absolute minimum and once you hit that point you are in critical territory. This is extremely important because this determines how you are able to plan and pick your jobs. Drop below the three month point and you are taking a hit in your job selection and rates because you are forced to take whatever comes along as opposed to having a buffer period where you can work out better gigs. This then places you in a vicious circle because not being able to select the right gigs might make getting your savings back up to six months difficult. Freelancing can be very lucrative to those who are well established in development circles, but at the beginning you will be hard pressed to even be able to pay your basic expenses.

You mentioned you are a traveler. Get out of San Francisco and move somewhere cheaper while you are just getting started. San Francisco is probably great for looking for start-ups to work for as a full timer, but you can do freelancing from anywhere. You can move back at a later time.

You might consider PHP because there are more things that you can do in the market with it due to easier hosting options and the large number of PHP content management systems available. If you were to learn a CMS such as Wordpress, Drupal or ExpressionEngine well then you could easily be landing your first clients within 3 - 6 months. CMS work is mostly configuration and converting static HTML / CSS into dynamic templates. You could focus on learning the CMS (pick just one to start) well for 2 - 3 months while also learning JS / CSS / HTML. After that, you can start looking for clients and move into PHP so that you can extend the platform.

CMS work in PHP may not sound as good as building custom applications in Python and it probably doesn't pay as well on average, but you are on a limited time frame. If you were already an A level developer in Python, then I would have different advice. You can always learn Python down the road a bit and eventually make a switch. One caveat on pay is that marketing / sales skills are ultimately more important for your rates than your programming language selection. I have seen great developers do horrible on the business side and I have seen developers with little skill raking in the cash. The business side is a totally different can of worms and will make you or break you.

Spending time learning is important but spending time building a portfolio isn't so important. A portfolio is necessary for designers, but developers just need to know their stuff. Building for friends and charities is good for learning, but it's not very helpful for your bottom line. Instead, you might focus on building small niche ideas of your own which you might be able to monetize. If nothing else, you could try selling the sites you build on Flippa. Another option (especially if you go the PHP route) is to build add-ons for content management systems and sell them on your site. Working for free should be limited to contributions to open source projects.

Always keep an open mind for alternative business models and plans. If you are a skilled marketer, you could even get started right away by bringing in work and then outsourcing that work to other developers. You could do some world travel and live very cheap by moving abroad to a place like S.E. Asia while you are getting started (that's what I did.)

Lastly, you might consider attempting to get started with a web development shop after your learning period. This will give you a chance to see how a good shop should be run while you continue to build your development chops.

I have been thinking about building out a service to help people get started in freelance web development. I will send you an email.



Thank you for taking the time to share your advice. Let me see if I can summarize your main points, and reply to them under my summaries.

1) Think of yourself as a startup, not a freelancer preparing for a startup.

Agreed! I think on hacker news people get touchy if you call yourself a startup when you're really just starting consulting. However, in my mind, I see my company's product as myself, and I'm trying to create a minimum viable product this year.

2) Don't grok HTML/CSS or Linux, but do learn enough to get by. Do learn JS really well.

Point taken.

3) Move somewhere cheaper.

I might be wrong on this, but I'm determined to make it while living in SF. Others have done it, I will too. If I am wrong, I will go back to temping, save again, and maybe consider moving to Tahiti the second time around.

I'm curious to know your story of starting up in SE Asia, what you did, what it was like, how things worked out.

4) Consider ditching Python web apps, learn PHP and how to configure CMSes like Wordpress, Drupal, etc. It's faster route to getting paid.

Half the people I've talked to say "PHP + CMS!". Half say "Python and Framework!". I suppose I have some time to think about this more, while I get focus on building the fundamentals of my site.

6) Hustle, not programming language, influences pay most. So hustle.

Definitely.

7) Consider skipping portfolio-building, start making and selling small products to turn immediate profit instead.

Definitely keeping that in mind. My ultimate goal is to build products anyways, but I don't yet have the confidence to trust that I can build my ideas, let alone than anyone will want them. However, I do feel like I can build little websites for people, and sell those. So that feels like a safer option. But I am keeping myself open to other approaches, my plan is merely an outline and a starting point. I'm sure as I become more proficient, I'll start seeing product ideas within my means to execute that might be worth risking a little time to build.

8) Be flexible and creative with business models e.g. consider outsourcing.

I understand what risks I'm comfortable taking, and which I'm not. I'll only feel comfortable outsourcing work that I can do myself. That way I can take responsibility in case the work isn't done correctly, by fixing it myself, esp when there isn't money to hire someone to fix the mistake for me. But that is a quibble. There would be situations where such an arrangement could work out, and I agree with the spirit of what you're saying.

9) Consider joining a web dev shop

That's an interesting suggestion. Would a web dev shop would take someone without a portfolio? Honest question, I've never tried to join one.

There are temp agencies in SF that specialize in placing web developers. I've considered going to my current temp agency later this year, and asking them to place me in whatever work they can find, on the basis of my fledgling portfolio. Not the same as joining a web dev shop, but similar idea of joining an agency that finds clients and matches my skills to projects in exchange for a cut.

Thanks again for all your advice, I really appreciate you taking the time.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: