Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Calum Hartley
Calum Hartley
6,959 Points

What should you learn in order to become a freelance developer?

I have been a member of the Treehouse website for about 3-4 months now and have completed a couple of tracks such as the front end development course and have done a few other courses from the library to do with php, etc.

My goal is to be able to make websites for clients in my spare time. I have a full time job as an analyst where I use SQL and VBA on a daily basis. I have always been very interested in coding and building products which is why I have decided to start learning web development.

I have already made a few basic test websites using the html, css and (basic) javascript knowledge I have gained so far and as you can imagine it is mainly just static web pages with a bit of basic animation.

The next steps seem a bit unclear.. What should I do/learn next that will help me to get work as a freelance developer? I have seen a few people mentioning stuff like Ruby On Rails but is it as good idea to invest all that time learning something like that unless you want to be doing back end stuff? Would it be worth me learning how to use photoshop or anything else like that?

I know that there is no one correct answer to this as there are multiple ways you could go here, it would just be interesting to hear what your opinions are on this and if anyone has been in a similar position?

2 Answers

If you are freelancing, I'd take some time to learn the business side of web development. All the programming skills in the world can't save you from bad business decisions when it comes to getting clients, billing them, and dealing with difficult situations (someone not paying you).

What type of freelance work do you want to do? Are you going to be looking for small businesses that need a website or do you want to work on larger web apps? Both are equally possible scenarios for you. I have a few friends that do apps on the side as well as people who do simple websites. Depending on your answer to that question, you will be able to determine which languages to learn. Ruby on Rails isn't going to help much when you are working with a local business but it will help if you get a temp contract with a company building a web app.

I don't think it would hurt to learn design tools either such as Photoshop, Illustrator, Sketch, etc because you will eventually run into a situation where you are handed a file to open in one of those and knowing how to manipulate the content can go a long ways and in some settings is necessary (not to mention every job application ever wants people who know PS).

So yeah, take some time to learn the business side of freelancing, watch F--- You Pay Me by Mike Monteiro, in fact read everything he has ever written (Design is a Job, You're My Favorite Client). Even at a regular job it can make a huge difference when it comes to justifying why you are doing something. Business skills really can make the difference between raking in a few bucks and making bank.

Calum Hartley
Calum Hartley
6,959 Points

Thanks for your reply Luke, that's really helpful!

I guess I'm open to either side at the moment. Is it possible to do both or do you think that now is a good point to choose a niche? Which would you say would be the best idea for someone in my position who has a full time job so can't dedicate 8 hours a day to? If I go with the app side then do you think it would be good to jump straight into something like RoR and park the html side for now?

As for the business side that's really useful to know? I have seen that there are business courses on the treehouse site? Are there any on here that you would recommend particularly?

I can't necessary say for certain what your best route would be, that is really up to you, but I will say that you shouldn't bite off more than you can chew. Starting off with some freelance web design and development can be a great starting point to see what you can handle, that is what I do in my spare time, I usually have a site or two in the works. It helps too if you know a designer who freelances and can take on the business responsibilities and design of the projects. That will free you up to just code. Start off small and work your way up.

I absolutely think that the business side of programming is important when you are freelancing. It will allow you to make better decisions about what work to take on and also give you better skills to enforce your design/code decisions. I haven't personally taken those business classes here but there are numerous books on the topic, one of which I highly recommend http://shop.oreilly.com/product/0636920037422.do. Even though it is mainly about design, the business decisions logic still applies to the entire field.

Calum Hartley
Calum Hartley
6,959 Points

It sounds like you are currently doing exactly what I want to be doing? Did you take a similar route (learn HTML, CSS and JS and then just start making websites) or were there any other key skills that you picked up along the way that you would say are essential in paving the way towards being able to make websites in your spare time?

I use WordPress a lot of the time, it provides a really simple platform for clients to edit their sites. I'll use a boilerplate if they need something far simpler. HTML, CSS, JS, and enough PHP to work with WordPress is more than enough to get started. Most of what I do is styling a site out, with some Advanced Custom Fields functionality. The great thing about WP is that there are plenty of tutorials out on how to add functionality, so you don't have to be a PHP expert, just apt enough to know what your problem is and how to find the solution.

Knowing good shortcuts such as having a good workflow (local -> dev -> production) using git + Beanstalk to deploy code, using SASS to simplify my code and keep it DRY, and using good boilerplates like FoundationPress all give my a familiar starting point to code with, but you can even start off using something simple like _S theme (http://underscores.me/) and just do basic CSS with it. You'll find tools to make your life easier the more you work on projects. Vetting your tools and seeing if there are faster ways to do repetitive tasks helps to make sure you are working more and more efficiently.