Hacker News new | past | comments | ask | show | jobs | submit login
Goal: become developer this year from scratch. Feedback?
13 points by grokaholic on Feb 4, 2012 | hide | past | favorite | 11 comments
Interested in meeting fellow travelers who are doing the same, have done the same, or are just interested. My email is thegrokaholic [AT SYMBOL] gmail [DOT] com.

BACKGROUND:

28 years old, San Francisco. Programming experience consists of a Python tutorial, making a simple text game for friends. Want to build stuff on computers all day for work, initially freelancing or working a job for experience, and later building products and a company.

MAIN GOAL: Current temp job ends in May. Taking this chance to leap into professional web development. Saved enough to cover living expenses thru Sept. By May, will have enough to cover living expenses thru Dec. By Dec, goal is to get first client and make $2k from web dev. After taxes, that $2k will cover Jan expenses, buying another month to find the next client, then the next. If I fail, I'll go back to temping and save until I can try this again.

SPRING GOAL: Build my personal site while learning HTML/CSS/Javascript/jQuery as I go. Lots of overtime at the current job, so I'm just doing as much dev as I can when I can on the side. Using internet tutorials while attending classes at the Noisebridge hackerspace for Frontend Web Dev (HTML/CSS/JS), Python, and Web Apps (learning Git, Python frameworks e.g. Django).

Focusing most of my time on HTML/CSS/JS, but really enjoy learning more Python/Django/Git/Unix/SQL material. Not only is Python/Django what I want to ultimately do at this point, studying this and associated topics (Git version control/command line/SQL) gives me this sense of wider perspective on frontend topics.

That said, reached out to someone who has done what I'm trying to do, and they advised me to only focus on either HTML/CSS/JS or Python/Django for now. What do you think? Is it realistic to attempt them all while achieving my $2k goal by Dec, or am I definitely better of sticking to just HTML/CS/JS this year?

SUMMER GOAL: In June, once my current job ends, going into 24/7 build mode, building sites for my portfolio while continuing to grok what I need as I go. These will be sites for friends or charities.

FALL/WINTER GOAL:

Then around Sept, switch out of bootcamp mode and start devoting half my time to getting my portfolio out there, and trying to get that first customer, even if it's just subcontracting menial tasks from another dev. Other half of my time will stay devoted to building and grokking new things.

What do you think? Perspective, advice welcome. Thanks for reading.

PS If you're trying to do the same thing, and are interested in an example of someone who has succeeded in becoming a dev from scratch within a similar timeframe, check out the site of proudn00b (http://www.proudn00b.com/). If you know sites of other people who have done the same, drop me a link. The inspiration helps. Thanks!




Have you considered learning PHP with a framework? Code Igniter isn't too hardto learn, and the bonus of this strategy is that you'll learn using a framework. Once you get that switching to RoR or Django isn't too big of a step. In fact, you can use codeigniter for making your own custom CMS, killing two birds with one stone! This is the link to the tut: http://net.tutsplus.com/articles/news/codeigniter-from-scrat...


I'm considering. My passion is for Python and Django, though some people say I should go with PHP and Wordpress because it's easier to learn, and to get paid. CodeIgniter comes up too. I've already invested some time with Python/Django, enjoy it, and wonder if it would still save time to learn PHP which I have no prior exp in? Perhaps the bigger issue is that there's more noob-friendly PHP work out there. Thanks for the link, checking it out right now.


[deleted]


Try contacting eli@industrydive.com. He recently posted on hackernews that his company is looking for Python interns.


>"By Dec, goal is to get first client and make $2k from web dev. After taxes, that $2k will cover Jan expenses, buying another month to find the next client, then the next."

That's not a very workable strategy.

Work for your December client will interfere with finding your January client - or your January client will show up in October promising to be your December client.

Then your March client shows up, only he wants it done January, too.

Or you start looking for clients in December and you land three in April and three in May.

And your December client holds your invoice for 90 days and your March client doesn't pay you so in May you have to decide if it's worth taking them to small claims court for $2500 - hopefully you've learned enough to write a contract by that point.

Then, May changes the scope of the work and refuses to pay until you do it all over again.

In other words, finding clients is hard work. Getting paid is hard work. Doing what you know how to do is the easy part.

Good Luck.


Thanks for the constructive criticism! To clarify, my goal is not to find a client in Dec, but by Dec. Start focusing on client hunting around Sept, giving me about 4 months to find a gig.

Still unrealistic? Currently don't see a better option than to try, and if I fail, go back to temping/saving until I can try again. Is there a smarter way I'm overlooking? Thanks for again for your input.


How realistic it is depends on how many people you know who will pay you several thousand dollars to do what you do. Finding clients isn't like finding a job - a new website is a change to business operations.

Client development can take years - relatively few people pull the trigger on $3000 expenditures each day.

And when they do, why should they hire you?


Will have a clearer idea around Sept. Then I'll know where my skills/portfolio will be, and can test out what price the market will bear for my skills. Could be more or less than I expect. Rather than wait till I have total certainty, will just go for it, find out if things work, and if not, learn and adjust. Unless there's some smarter way to do this with more guarantees that I'm overlooking, then will do that. I'm willing to try and a fail for years if needed. Reason for the 1 year goal is not because I'm impatient and will quit if things don't work right away. It's to make sure that I'm not overly patient--waiting years until absolutely sure that everything is guaranteed and understood in advance before leaping in.

Agree with your point that not everybody drops $2k on one project. So if that happens I'll just have to meet the $2k goal by getting more customers paying less per project. A lazy way to introduce myself to lots of clients right away is to sign up with a temp agency like RHI's Creative Group that will match my skills to clients for a cut of my hourly wage. Having temped before, I know this is a way to make lots of connections in a short period of time. Would need to validate my worth to the agency first, but that's still easier than doing the same to several clients. Along the same lines: subcontracting. Really, will try everything, see what works.

How did you snag your first clients? Were you already established as a dev through work at a company before you started freelancing? Or did you freelance before having dev jobs on your resume?


That's awesome you set this out for yourself. Almost every bright person and genius I know are all self taught, kudos for jumping in the pool and the best of luck. Keep us updated.


Thanks for the encouragement! “We are told that talent creates its own opportunities. But it sometimes seems that intense desire creates not only its own opportunities but its own talents.” ― Eric Hoffer


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.




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

Search: