
You just graduated with a Computer Science degree. Or finished the Web Development Immersive program at General Assembly, or another programming program (heh). Now what?
Maybe you just want some extra help, such as java programming help or maybe you’re preparing your children for a career in programming, and want to get them enrolled in kids programming classes. What happens when they turn 16/18 though?
You need a job, naturally. But who’s gonna hire you?
It’s the typical conundrum for any recent grad in any field. Clients want you to have experience…and you’ve got none. How do you get experience without experience?
I encourage newbie coders to do at least a few freelance projects, especially early on in their careers. Freelancing offers a wealth of opportunities to learn, grow, and meet people. And equally importantly, it gives you a way to see what different work environments are like before you settle down.
But I do understand that when you’re fresh out of school, it may be even harder to get freelance than it is to get a regular job.
More specifically – clients want credibility. They want to know you can get the job done, and be confident that you won’t waste their time or money. Experience is one indicator of that, but it’s not the only indicator.
Fake it till you make it…sort of.
The truth is, if you have gone to a school of some sort, you don’t have zero experience – you did something in school. Any projects you’ve done are a selling point. Use them, make them look impressive if you can.
In the meantime, work on getting that experience. And since you’re pretty new, you’ll want to take on projects that are really low risk. As many as possible – then build up to bigger ones.
Start small
Small projects are like bricks – you can add them together to make bigger things from them. If you’ve got 10 tiny projects on your resume, a client will be a lot more inclined to give you a bigger one then the guy with 2. These projects will make you look more experienced and trustworthy, which can get you more jobs in the future. As you start taking on more projects, it’s likely that you may get even more projects. These can be difficult to manage, which is why this sharepoint project management software might be extremely useful for freelance programmers to make sure they’re on track to complete these projects. By using software like this, you shouldn’t fall behind on projects, making you even more reliable and reputable. Hopefully, this should help you to build your business.
Fiverr and Upwork have an abundance of opportunities for freelance work. They won’t make you rich – especially Fiverr, which charges $5 per task typically (upwork has far higher price points, FYI). But use both of them to get a few easy projects you can show off.
You can also hit up local businesses to do their websites. Your sales pitch is this: every small business needs a website! If you’re online, people give you a lot more credibility and have a better chance of finding you (beyond just foot traffic). Plus, since you’re not a pro yet you can do it cheaply for them.
Do things, show them off
I put together a really simple paradigm for continually getting work (see: Get Hired Again and Again). It’s simple in concept: Do good stuff -> Show it off -> Repeat. Seems like nothing, but it really works.
“Do good stuff” means using your skills on projects, as we talked about above. Coding websites, or building whatever type of technical things you build.
“Show it off” means market yourself. In person at networking events and on your different projects, and online in every conceivable way – in your portfolio, on other people’s blogs and so on. (Seriously, read the full article.)
Those two pieces (build stuff, and show them off) are naturally the ones you keep getting better and better at though. And you do them in different proportions at different times, but you should always have a good balance.
Talk about it
When you’ve only got a little experience, you need to do all of this more – more building (those small projects on fiverr, upwork, etc) and more showing off (on your own portfolio website, Fiverr / Upwork portfolios, etc). If you do stuff on Upwork, don’t forget to ask the clients for reviews afterwards.
Make sure you have a personal website. This is not only good practice, but it’s experience to show off. Even if you built it using a bootstrap template and customized it, you still did work on it. Be honest if anyone asks, but if they don’t let them assume you did it. But make sure you impress them with your level of knowledge.
And don’t forget to put code on your Github profile. Forking repos and making open source contributions are great; personal projects of any kind are fantastic as well, no matter how small.
Post, post, post
All throughout your career, you should be learning new technologies and getting better at the ones you know (see: Keep Your Swords Sharp). Talk about it! It’s easy as pie to start a blog on wordpress.com or medium.com.
Writing technical blog posts shows what you know. Even if you’re just learning something, writing about the learning experience shows ambition and passion for the craft of coding. That drive is a big part of what clients look for in hires.
Also, any online community you belong to can help you show what you know, and link back to your portfolio. StackOverflow, Reddit, Quora, Hacker News. Anytime someone has a question you can answer, that’s a potential credibility point you just added to your online presence.
Network, network, network
If you’re not on LinkedIn, get on there and add anyone you know from the business world. Dress up your profile, link it back to your portfolio site. join some LinkedIn groups, and post there too.
Go to meetups in your city often. Meetup and Eventbrite are your best buds, and if your city has tech mailing lists join those too. Getting your face visible in the tech community is great for a bunch of reasons. You can not only learn from other people and meet other programers like you, but you can meet potential clients. And if someone likes you, but can’t hire you for whatever reason, they might know someone who can.
Have cheap business cards made up. VistaPrint has had low-cost options for decades. No one should expect them to be top notch since you’re new – but simply having one gives someone an easy way to contact you. And it makes you look a notch more professional than other recent grads.
Remember, there’s a trade off: in-person networking takes more time and reaches fewer people than online networking, but has a far greater impact since people can see you and get to know you. It’s easier to trust someone you can see face to face; anyone can fake an online identity.
Amp up the social skills
Not everyone is natively social, and that may be particularly true with programmers. (I sure as hell wasn’t, decades ago.) Many of us are natively technical, but not so natively social. This can be worked on though. Start with programming events, where the people there are more likely to be just like you. Ask them how they got their jobs, what technologies they’ve learned and so on. Then gradually step out of your comfort zone, and try meetups that are a little less technical.
Gradually your level of comfort will improve in some cases. Truthfully though, improving your social skills is a far bigger discussion than these two paragraphs; just know that it’s not only possible to make yourself more comfortable with networking, but it’s really really great for your career.
Hi Mike, long time reader, first time comment poster ๐– I really enjoyed this article. Great advice. I also really liked your point about 10 tiny projects being better than 1 or 2 massive projects. What small projects would you suggest are good for showing off your skills for potential free lance work?
Also another question, when you say here:
” And since youโre pretty new, youโll want to take on projects that are really low risk. As many as possible โ then build up to bigger ones.”
I’m really interested in this point you are making about projects that are “low risk”. What do you mean by take on projects that are “low risk”? Also, do you have any suggestions for projects that are low risk ?
Rob, apologies for taking so long to reply to this! Somehow the notification fell out of my attention span for over a month.
Great questions! Here are some answers.
Taking on small programming projects
The type of project to take on depends on whether you’re front-end or back-end focused. In either case, try and make them as applicable to the job as possible while still being small. For example, for front-end work you may want to make it visually stimulating with some animation. For back-end work, you’ll want to show something useful with data (creating a blog or a todo list is cliche at this point, but a simple microservice or API demo is a touch better, for example).
Add complexity relevant to the level of work you want to get. So for junior-level work, the blog or todo list might be a good start. For senior-level work, an administrative dashboard with a number of features might be more appropriate.
“Low-risk” programming projects
By this I mean avoiding biting off more than you can chew. A beginner shouldn’t try to build an Amazon clone from scratch as their first project. An ideal project is one that pushes your skill set just enough that you grow a bit from doing it; if it’s too simple it won’t challenge you or impress anyone. If it’s too ambitious and you’ll never get it done.
Hi Mike!
I am a computer scientist student. We’ve began learning some of the programming languages you mentioned above.
I live in Madagascar but I aim to be ready to freelance once i finished Scholl.
What do you sugget I do now?
Hi Mike,
Such a nice post. I am a full-time web developer in a private company in India and just started to look out to freelancing. I want to opt to freelance full-time and looking for ways on how to get clients and build rapport online. Your post really helped me and all the above tips seem to have opted inherently by a freelancer, be it a beginner or an experienced.
Hi Mike!
Such a great post!! Very inspirational with helpful links.
Makes it look like this is a world that can be broken in to. Iโm 26 and transitioning from my career into this field. Hoping my developed communication skills will help me a lot here!
Iโm currently doing a html5 and CSS course and Iโm addicted to learning all I can about it. I have the luck of my partner being successful in coding and digital marketing to help along the way.
From your opinion, what else can I get into at this early stage to aid me best in the future? My goal is to work wherever my laptop is.
I saw above you mentioned JavaScript is in high demand, is that still the case now?
Thank you so much in advance.
Any advice is very appreciated!
Thanks Luke!
Yes, it’s absolutely a world you can break into. Though communication skills aren’t the primary skills needed for coding – but they are super valuable, and applicable in many different roles in the tech world.
If you’re already learning HTML5 and CSS, JavaScript is the next natural step. It’s also SUPER versatile, and in high-demand year after year. Check out this article I wrote for the ATTCK blog about it: The Programming Language You Can Use Everywhere.
How to start online earning througth freelancing because I am beginner .
Read this article ๐
Your blog is a helpful resource, Mike.
I’m just finishing up a “generic” Bachelor’s in IT with a focus on Mobile App Programming. Love it but need soo much more experience and want to do some Web Development also. Well, then there is how to “monetize” it all and still live in my home. I need to work remotely and facing LOTS of student loan debt coming right up six months after graduation (Dec ’18).
Any guidance with securing clients, gigs, etc is MUCH appreciated!
Dee Hurd
Dee, online presence is everything if you want to work remotely purely.
Start by hitting up all the freelance marketplaces, there are a ton now. Upwork, Broxer, Truelancer, PeoplePerHour to name a few. Put up a profile (it could be the same one in all places), and try to get your first project.
In parallel, fill out your LinkedIn and GitHub profiles, and put together a personal website, even if it’s using a predesigned WordPress or SquareSpace theme.
Set your rates low initially or even take on a free project to get your first portfolio piece. Then raise your rates bit by bit and sell the hell out of your work.
This article may help a bit:
Get Hired Again and Again: 3 Steps
Also check out the Remotive community job board for remote-only jobs.
Hope that helps get you off to a good start.
Hello Mike,
Your input is greatly appreciated. I am thrilled with programming and have a good math background for it. I have taken C programming course and about to start a javascript course. I iwill also like to start doing small projects to educate, understand and implement them in bigger projects. Are there any good sites you could recommend?
Absolutely!
Codeacademy.com will help you get language structure and learn the basics.
Codepen.io is a tool you’ll use throughout your career for practicing, experimenting, and testing out ideas.
Mozilla and Google have great JavaScript learning resources and references.
And a few Google searches will find tons of others. Start there, and let me know how they work out for you.
Great article Mike. Just what I have been looking for. What do you advise for someone like me who has wasted time doing some online stuff that was not related to computer science? I am 38 and would like to start coding and programming. What do you advise?
Philip, glad to help. And 38 is certainly not too late to start learning to code – not by far!
First, pick a technology you want to start learning. If you can’t decide, pick JavaScript – it’s super versatile, and in high-demand in so many ways. I’ve written about this on the ATTCK blog: The Programming Language You Can Use Everywhere.
Then start learning the basics – language structure. Codecademy.com is great for this, since it’s simple, interactive and you don’t waste time with setup.
As you’re learning the basics, Codepen.io is a great place to drill your skills and experiment. But also set up your own projects and work off your own machine.
Consider taking a coding bootcamp. There are dozens online, and there are also in-person ones in major cities.
These are all good places to start – as you’re doing this, see how much you like it, and whether you want to continue to do it as a hobby or start getting paid for it. But if you enjoy it, keep learning regardless.
Let me know if that helps! I plan to write a longer-form post on this exact question at some point.
This is great advice Mike, I have the skills and experience but no online presence. Your advice will be a good starting point
I’m 40, started learning to code bout year ago, never have done it before. What you think about it?
I think that’s great! Do you enjoy it so far? That’s really the main question.
I think coding is a new form of literacy that everyone should try dabbling in. If you enjoy doing it regularly, keep going and see where it can take you.
Hi, Great article. It’s been quite sometime since i read an article which comes across as being both impartial and extremely useful. Thanks for the tips. ๐
What programming skill required to start freelancing.
Great question. Pick a marketable technology to start with, and get a a good handle on it. If you do a couple of personal projects and show them off, you’ll be able to make a case for getting paying gigs.
See here:
http://mikecavaliere.wpengine.com/get-hired-again-and-again/
If you don’t have a technology in mind, JavaScript is the first one I recommend since it’s incredibly versatile, and in high-demand.
Thanks por the guide! It’s really helpfull for one finishing his studies like me.
No problem – let me know if you start applying any of this after you finish school.
Or even start while you’re still in school – I did! =)
That was really helpfull for me, highly appreciated ๐
My pleasure, glad to hear!