Coding Panther     About     Contact     Archive

How To Be a JavaScript Contractor

Trigger warning: the title of this post is a little misleading. It almost sounds like I’m going to tell you how to be a JavaScript contractor. The reality is, I’m still trying to figure that out myself, so this post is going to be more a stream-of-consciousness on what I’ve done so far, where I’ve been, where I’m going, and how I’m going to try to get there.

Let’s talk history

I started coding at ten, like many computer geeks, making games with pure HTML and messing around with basic 3D modeling in programs like SketchUp and, later, Blender.

I picked up C++ and then UnityScript (at the time, a proprietary scripting language that was a sub/superset of JavaScript built for the Unity 3D game engine) before finally moving to JavaScript, where I settled.

I had built several games and apps with C++ and Unity, but it wasn’t until I was seventeen that I started making money doing JavaScript contracting.

By that point, I’d amassed nearly six hundred answers on Stack Overflow and had started two successful(ish) development blogs (Unityology and Hey, JavaScript! respectively). By the way: I’d highly recommend that anybody who is building a career in software development start by giving back to the community in this way.

The first code I was ever paid to write was for a guy who looked me up on Twitter after having seen my Stack Overflow profile. I’d never worked before and didn’t even have a CV, but just on the basis of the value I’d provided for other people he was willing to give me a shot.

I built a project for him and, when a larger startup acquired it, I was eventually hired alongside him to continue development on that project. That was my “in.”

Along the way, of course, I did do some other programming work, and that was work that came in my blog. Again, providing value and writing about what I did presented me as an authority and people trusted me on that basis.

But after I joined that second, larger startup, I started slacking. I stopped posting on my blog and pretty much ceased to be active on Stack Overflow. Eventually, I even went as far as to let my blog expire (and, as I’ve written about elsewhere on this blog, that blog was eventually revived by somebody else. I no longer have control over it).

Where am I now?

But after I did that, I lost any audience that I had unintentionally built up over time. People almost completely stopped contacting me as my profiles went dormant, and I haven’t had a single job offer in the last couple of years except through people I’ve already done work for in the past. Which was fine, of course, since I was head down on the project for that startup – great fun – but now that I’ve moved on looking for bigger and newer problems to solve, it’s… problematic.

That is, of course, why I started this blog in the first place – to intentionally build back up the same sort of audience and reputation that I’d unintentionally done years ago.

The goal is different, now. I’ve come to realize through exposure to several different spheres of business (and religion/philosophy) that the best way to gain is first to give. So the express purpose of this blog is to give away sheer value to other people in whatever way I can, and also to be transparent and honest with my motives and goals.

And what does the future hold?

If the future were a person, it would probably be holding a taco. 🌮 Tacos are great. I love tacos. (Not as much as I love cats, though.)

To be free, you need to unlock your time worked from your dollars made.

However, the future is not a person, so, to be honest, I have no idea what it holds. My plans, however, are pretty straightforward: make money using the development skills and experience that I’ve picked up over the past ten or so years.

I’ve learned since I took that first contracting job, though, that freedom is deceptive. Working a 9-5 is certainly not free. Being a freelance contractor, however fun that might sound, is also not free. To be free, you need to unlock your time worked from your dollars made. 🔓

Right now, I’m still trying to figure out what that looks like, from a business perspective. I’m considering a few options.

1) I can open a full-service software shop

It’s like freelancing, but I do the whole project from beginning to end. Because I’m working as a company, I can quote a fixed price per project and hire people to do the work for me (which helps with scaling). As I find people I like and I ramp up the size of the projects that I build, I can hire them full-time instead of bringing them on as contractors.

The problem with this route is that I want to focus on JavaScript since that’s my passion. I don’t really want to concern myself with full project delivery, although I could and have many times built complete projects myself, or in conjunction with a designer.

It seems, from the research that I’ve done so far, to be more scalable, though. I’ve seen a lot more software agencies (and gotten a lot more spam from Indian ones) than I have just pure JavaScript agencies, which would be option B…

2) I can open a 100%-pure-JavaScript contracting firm

This was the idea that I went back into the JavaScript development world with. My dad works for a big data consulting firm called Cervello, out of Boston, and I hear him talk a lot about the kind of work that they’re doing, working with PowerBI and Birst and whatnot. As a front-rank UX designer, he gets dropped into new projects all the time, and his rate is pretty high. He goes in, builds a solution for a client, often working with two or three other people from the same firm (sometimes more), and then rides off into the sunset.

As far as I can see, the primary value-add of a contracting company is providing screened talent for their clients, saving the clients the trouble of learning how to hire that talent and building the infrastructure to do so.

As far as I can see, the primary value-add here is that Cervello is providing screened talent for their clients, saving the clients the trouble of learning how to hire that talent and building the infrastructure to do so.

Granted, web development is a different field with different expectations and ways of doing things, but ideally, my agency would function similarly. I would have to kickstart it by getting some projects in the door, then talking to people and bringing on contractors / full-time hires once I have the work for them to do.

The problem with this method is that I don’t know a ton of people or companies that do this off the top of my head – there’s more research to be done here. But it does cause me to wonder if the world of web development is just so different from that of big data/data intelligence as to make this model unnecessary.

The other danger here is that I might end up just becoming a staffing agency, scraping the bottom of the barrel for the cheapest talent I can find and sending them on an individual basis to people who need my work. I don’t want to do that, though, because then my day-to-day revolves around nothing but hiring people for as little as possible. I’d much rather work on projects where money isn’t the object as much as providing value and building really neat, powerful software.

Which path am I pursuing right now?

So right now I’m focusing the latter option because I do have a passion for pure JavaScript and don’t want to deal with the deliverables involved in building an app from start to finish on my own. I’d rather work with companies who have designers and developers in place already and need extra hands.

I will admit that I have a suspicion that the only companies with this organizational structure will only be interested in hiring full-time talent, not bringing in contractors. But we’ll see.

The next step for me is to find other people who’ve started similar companies and talk to them to understand how they did it and how and why they are positioning themselves the way they are. If I can’t find any competition, that’s proof that this market doesn’t exist and something about the world of web development lends itself to full-time hires.

And of course, I’m going to continue posting on this blog about every step of the process as I learn to leverage my talent and knowledge in a scalable way.

Thanks for reading!

🐈

comments powered by Disqus