Freelancing For Your First Dev Job

So you’ve graduated from a bootcamp, or are fresh out of school, and looking for your first gig as a developer, what do you do?  Besides all of the applying, interviewing, emailing, networking, coding, portfolioing, there’s one other piece of advice you might hear, and that’s to try freelancing.

Freelance Definition

Considering the fact that experience is probably the biggest thing holding you back from getting that job, what better way is there to get it?  No matter how small the project, if you’re getting paid for it, that counts as PROFESSIONAL EXPERIENCE!!  If it’s an entire site that you design & build for someone, guess what, you just made something to add to your portfolio.

Here’s the thing about it, you could build an amazing complex project, showing off mad skillz doing things that’s beyond any expectations for a Jr. dev, but it’ll still pale in comparison to a simple static website that you were paid for and is live on the web.  Don’t get me wrong, you need your own projects, but in all of my interviews, those projects have never counted for anything when it comes to my actual skills.  The reason you need them though is because when they did come up in interviews, it was because ‘having personal projects shows your passion for coding’, and sometimes showing ‘passion’ is what puts you over the top.

So how do you find these freelance gigs?  You can try sites like Upwork, Fiverr, or even Craigslist.  Find out if there’s a local dev Slack Channel.  In my neck of the woods there’s DFWDevs. where 2 of the sub-channels are for gigs and 1099 work.  The absolute easiest way is to ask friends and family members if they have any need.  Maybe you know someone that has a small business, even if you do it at no charge for your brother’s wood-working shop that he runs out of his garage, you don’t have to tell anyone that, as long as it’s an actual business and the site is live, it doesn’t matter.

Or you just get lucky and actually have someone find you.  Although it’s not really all luck, you have to put yourself out there and get an online presence.  Through this blog and keeping my LinkedIn profile updated, I received a message from someone needing help on their site.  After speaking on the phone and then meeting, I signed an NDA (Non-Disclosure Agreement), and had my first real freelance gig.

This wasn’t just to build a simple site, but to update and maintain an existing site, on an ongoing, as-needed basis.  The site was built in WordPress, something I hadn’t developed in yet.  Yes, this blog sits atop WordPress, but I haven’t really dug into much code.  Still, I know PHP, so how tough could this be?

Well, coming from a clean, organized MVC world, WordPress was, “messy” to say the least, and not something I could easily reverse-engineer.  I ended up having to find a course on Udemy to help me learn actual WordPress development.  To make matters worse, this site was HEAVILY customized by the original creators.  So much so, that I soon learned another professional consultancy firm was brought in to work on the site and declined, stating that ‘only the people who developed it could do whats required’.  They recommended tearing it down and starting over.  And here I am, not even knowing WordPress, trying to fix things on my own.

Inner Site

At one point, I was just about ready to throw in the towel, but the people I was working for convinced me to stay on.  It was honestly an amazing feeling having someone say they like you and have your back like that, they were absolutely awesome.  Being a one-person dev team there was one downside, I ended up being their ‘Computer Guy’.  I found myself not just trying to fix and update the site, but also backing it up, handle hosting issues, working on SEO, Google Analytics, crawl errors, and at one point, after an email hack, had to become a cybersecurity expert in a matter of days.  Now, I love learning new things, but I was being stretched in just about every direction here.

This company really was awesome though, and I loved working with them, but I found myself putting in way more time than what I was getting paid for.  There really weren’t any expectations set and I didn’t really know how to deal with pay.

That’s probably one of the hardest parts of freelancing, especially for someone new.  How do you charge for your time?  Being new, you’re probably taking more time to accomplish some task than a more experienced developer would.  Of course you’re probably also working at a much lower pay rate to make up for that.  Plus you’ll most likely have to take time to learn new things.  Who pays for that?  For example, I had to take time out to learn WordPress development, SEO, Google Analytics, Google Search Console, cPanel, email security (DMARC, SPF, DKIM), among other things.

I think to be a good freelancer you need to be confident, not just in your skills but in yourself overall.  You also have to be assertive.  This can be tough for some people.  If you’re the type of person who would have trouble asking a boss for a raise, or time off, then you’re probably going to have a tough time freelancing.

You want to be fair, but you also don’t want to be taken advantage of.  That’s my problem, I try to always do the right thing and what’s fair.  The definition of which can vary greatly.  It’s why I’ve always been so great at customer service.  I’m an empathizer.  Everything I do, I try to put myself in the other person’s shoes.  I think to myself, ‘What would I expect if I was the one paying a freelancer’, ‘What would I think if I was the other person listening to me’.

Take photography for example.  Recently, I had family pictures taken.  I had to pay the photographer a Session Fee for taking the pictures.  And that’s ALL that it includes.  Want prints, it costs extra.  Want the digital files themselves, it costs extra.  Want professional touching up, it costs extra.  All of that makes sense to me, I mean, you can’t just give things away for free that cost you money.  But I do take issue with the digital files.  If I was a photographer (and at one time in my life I started to get into it), I would charge the Session fee, and yes, charge extra for prints, touching up and other services, but when it comes to the digital files, I would honestly just give ALL of them to the client as part of the Session fee.  I mean, what am I going to do with pictures of a strange family on my computer?  Why should I keep those hidden away from the people who it would actually mean something to?  You’re paying me to take your pictures for you of you, not to take pictures of you for me.  That just doesn’t seem right.

Anyway, sorry for the photography rant.  Back on topic, so this was my problem, how many hours should I charge the client?  I kept track of the time I spent, and I tried to be fair and do the right thing, but in the end I averaged putting in at least 3 times the hours that I actually charged for.  Yeah, I suck at freelancing.

Most of it was my fault.  I didn’t have any freelance experience in this field before and was naive.  I also failed to make sure we had all expectations fully drawn out in the very beginning.  These are questions you need to have answered before you start any gig.  How often do I submit my hours for payment?  What are your expectations, in DETAIL (not just some vague statement like ‘whatever we need at the time’)?  What responsibilities are mine?  Do I get paid for time I need to learn something, especially if it’s for an area that wasn’t originally agreed upon in my responsibilities?

You also need to make sure to be completely upfront and honest about yourself and your skills.  If something new is asked of you, don’t just say “ok, I’ll git ‘er done”.  Discuss it further and break it down.  Be up front if you don’t have the knowledge to do it.  If you need to take a quick course to familiarize yourself with a topic, bring that up right away and come to an agreement.

Of course, you may not get an ongoing gig like I had, most likely you’ll find one-shot deals, as in, build me this site and be done with it.  In which case, you’ll want to just charge a one-time fee for the job.  Maybe get paid a percentage up front and the remainder upon completion.  How much should you charge? Who designs it? What if the client wants to add a complicated feature half-way through or scraps something you already did?  Some good questions, but unfortunately,  I don’t really have the answers since I haven’t done any of these ‘one and done’ freelance gigs.

 

Are you pumped up and ready to go out freelancing now?  Yeah, I probably didn’t help much.  I mostly just wanted to share my own experience, from which there are several lessons to be taken.  My best piece of advice though if you want to try freelancing, reach out to the community!  Talk to someone who’s done it successfully.  Get on your local dev slack channel.  Don’t be afraid to ask questions.  It’s no different than when you first start coding.  The dev community is awesome in this regard.  Just as many coders are willing to help with code, freelancing coders are just as happy and willing to help with that, and you’d be surprised how many have started out that way.

As for me, my freelancing career is over for now, other than a simple site that I want to build for a close friend of mine.  I’m currently working for an awesome company….remotely!  And yes, you can definitely expect a post about what it’s like working remote in the near future.

My 1st Year Post Coding Bootcamp

It’s now been an entire year since I graduated from Coding Dojo, which means it’s time for the year in review!  If you’ve followed along, or are just finding my blog now, and you’re someone wondering about what really happens after going to a coding bootcamp, then this post is for you!

Not only do you get my story, but also one of my cohort-mates.  Hopefully you’re already following her, and if not, you should be.  For those who kept up, you should already be familiar with Tiffany.  She was in my cohort and one of the co-founders of First Hack Dallas.  Besides her blog, she also creates some awesome YouTube videos and actually beat me to the punch in getting a year-in-review post up.  Go check it out here.

To say it’s been a rough year is an understatement.  The web development business can be bipolar as hell.  It’s not like anything I’ve ever experienced before in my life.  The highs and lows, ups and down are intense.  One minute you feel invincible like the whole world is in your hands, and the next you question every decision you’ve made in life to get to this point.  So let’s take it month by month.

July 2016 – Graduating on the 1st day of the month, I was pumped up and thought I’d be able to find work by August.  I took a mini-vacation over a long weekend since I was away from my family for so much during the bootcamp.  Otherwise the month was spent working on my resume, portfolio, continuing projects, etc.

August 2016 – Having not found work yet, it was a bit of a struggle without the hardcore structure of the bootcamp.  Plus with a family and a toddler at home it wasn’t always easy finding time to do everything I needed to do.  This was the month I put everything into trying to get into Gearbox Software while working out of Nerdvana Coffee in Frisco.  That never panned out and while I’d still love to work there, I’m over my borderline obsession.

September 2016 – 2 months with no work had me worrying.  I knew there was an open door for me at Coding Dojo so I applied for the Apprentice Bootcamp Leader position.  The pay wasn’t that great to start (well below the industry average), but it was full-time with benefits.  Not to mention the fact that it would allow me to continue my education and gain additional skills as well as experience.  So on September 16, I started working.

October 2016 – This is the month I learned Python.  I was assigned to assist with the Python cohort and literally had to learn it at the same time as helping to teach it.  I even took the belt exam with all the same restrictions as a student and earned my 4th black belt.  It was this situation that really showed me the benefit of having learned 3 stacks during the bootcamp.  Picking up a 4th after all that was a breeze!

November 2016 – My first hackathon!  Not as a participant, but as a co-founder and co-organizer!  After 2 months of planning and hard work, our hackathon was a huge success.  So much so that we still want to do it again.

December 2016 – My longest break from coding happened during this time.  One of the best perks of working at Coding Dojo was having 2 weeks off at the end of the year, and I hit the road and went back home to Detroit for the first time in years.

January 2017 – New year and things were looking good.  My first raise at Coding Dojo kicked in and they were ready to start making me the lead instructor of a cohort, although that didn’t get to happen this month.

February 2017 – I’m cruising along and everything was set in motion for me to get promoted to full-on instructor at Coding Dojo.  I even take on a cohort of my own and lead instruction for the web fundamentals portion of the bootcamp which teaches HTML, CSS, JavaScript, jQuery, API’s and AJAX.

March 2017 – The hammer drops.  Things at Coding Dojo as a company got shaky, the founder steps back in as CEO and starts making cuts to turn it around.  Being low-man on the totem pole I knew I was in trouble, and it didn’t take long to confirm my fears.  Exactly 6 months after I started, and since the Apprentice Bootcamp Leader position is a 6 month deal anyway, I had to part ways with Coding Dojo.  But at least I got to go out with a bang thanks to Grim Repo!

April 2017 – Things could have been bad.  Everyone at the Dallas Coding Dojo has been great and doing everything they could to help me find work.  What happened in March was out of their control and they supported me in whatever ways they could.  The career advisor was connecting me with everyone she knew and the captain of the Dallas ship has always made himself available for me.  Nothing was coming to fruition though.  Had it not been for the support of some family members, I would have been homeless, literally.  I had to sell my house and with 2 weeks before closing I had no idea where I was going to be living.

May 2017 – I would have thought finding work would have been easier this time around compared to the previous summer.  But my added experience actually teaching at Coding Dojo didn’t translate into anything in the eyes of the recruiters and hiring managers out there.  They viewed me no different than they did when I had just graduated.  Luckily though, since I left in March, I was able to make some extra money privately tutoring current Coding Dojo students.  So even though I may not of had full-time work, I was officially a freelancer.

June 2017 – Still actively looking for full-time work, I finally get an opportunity to prove myself….and fail.  I’ve been applying, interviewing, going to meetups, etc., but nothing was coming out of it.  This is where the ups and downs get intense.  One interview I had (it might of been in May actually) went so great that it lasted 2 and a half hours and they were starting to sell me on why I should work there, then crickets.  No callbacks, no emails, no replies to my follow-up, nothing, talk about going through a roller coaster.  But then at the very end of June I finally got a break….

So here I am, 4 days past my 1 year anniversary of graduating from Coding Dojo, and I have a promising freelance gig at a local startup.  It was a little over a week ago I was contacted by the CEO on LinkedIn, met late last week, and was brought on to update, maintain, and  work on their site.  So that is what I’m working on right now, well actually I’m writing this blog post right now but you know what I mean.  I’m excited about this and will be doing everything I can to absolutely rock this position.  It’s still early in it so I won’t be giving any details now, but rest assured I’ll keep you all up to date as I continue on through it.

So that’s my year in review.  In case you’re wondering what happened with everyone else from my cohort, well you should already know about Tiffany.  Then there’s our mysterious guest writer who wrote a couple posts on this blog last year.  He had a developer job straight out of the bootcamp but I don’t know what’s been going on since his last post.  One person became an Apprentice Bootcamp Leader at Coding Dojo like me, except he started right after graduating instead of waiting like I did.  He’s now a permanent instructor at the Dojo, and a great one too!  Another blogger from my cohort was nodefs.  I’m not exactly sure what he’s been up to but I know he’s continued his studies and I believe has learned C#/.NET and iOS/Swift since then.  Then there’s my DART buddy who has taken on a role as a Rails developer several months ago.  3 others I honestly have no idea what happened.  One went back to Seattle, one I haven’t seen since a meetup last fall, and the last one has decided to ignore all contact from any of us.

Like I said, it’s been one crazy year.  I wish it could have been nothing but positivity and sunshine and rainbows, but that’s not real life.  Just about anything worth something though is going to have a rough start.  What matters is not letting that rough start stop you from going after what you want.  That’s the stuff that makes you who you are and if you can get through it……well, you get the drift, I’m not trying to be Tony Robbins or Zig Ziglar here.

On that note though I leave you with a video that was shared by one of my Coding Dojo instructors and former boss that is worth the time to watch…