Tuesday, 7 June 2016

SOFTWARE DEVELOPMENT WORK : How do I start doing contract work software development?



How do I get started doing contract work as a software developer, and how does it even work? I've 10 years of experience but I know nothing else but full time employment. Unless I get in the Valley, I don't think I will never be satisfied with my salary, and specially the amount of work and time required. Sounds selfish, but you need to understand I've been in leadership positions for the past 3 jobs and I don't seem to have a lot of room beyond that to see the unseen if I continue on this path. I work remotely so I might not be getting the full deal, but is the way that I prefer it and logistics will make it stay that way for a while. I wonder if switching to what appears to have more flexible times in contract work would at least take me to my current salary (~6k/mo) without spending at least so much time on it, as I assume rates tend to be much higher. If it would, how do I even get started? I've an active Github profile and know few freelancing sites (maybe even the wrong kind of sites), but other than that I've no idea where to begin. Pointers as well as experiences more than welcome. Thanks.


I never made it to 6k/mo before giving up on contracting. A few years ago I quite my job at Adobe in San Francisco to travel and thought I might as well try contracting while I'm at it. My logic was it would keep my skills fresh and if I didn't have work, hey, I can just enjoy the cool places I'm visiting that much more. A year ago I folded up the contracting business to just do my own thing... may my own "app"... 'cause I'm super original. :)  I consider it a failure, but the kind of failure one is supposed to have in life to prove that you're pushing yourself. So I'll give a few places why I failed, which won't 100% answer your questions, but kinda will. 

(1) Starting a new business is not a part time endeavor.
My plan to travel and build a contracting business in between was doomed from the start. One has to be dedicated and willing to work *extra* hours to build a successful business. 

(2) Contracting is about contacts. It can't be done well in isolation.
I was in Europe 9 hours ahead of my contacts in San Francisco and 6 ahead of those in NYC/Boston. This just generally makes business relationships hard. Meanwhile, friends who had quit their jobs to start their own company and stayed local were getting pounded with offers for contracting work. They were being seen. Often from fellow small businesses in the same co-working location. Or just friends of friends they get to talking with on weekends. You say you work remotely, too. I've found that there is a little lack of trust for remote workers, and there is also for contractors. Put the two together and no one wants to take a risk on you. 

(3) It's not so easy to cut out the middle man. 
Software Engineers can get contracted out to companies for roughly a bazillioooon dollars an hour. And we know this as well as the fact that we are the only ones *doing* any work for the client, so why can't we just make the bazillion ourselves? 

Ok, we don't simplify it that much. But that's roughly the idea when wanting to do your own contracting business. We also know that we engineers are smarter than your average middle manager, so we can do their jobs, too. No problem! 

In the end we underestimate how much time goes into finding clients, building relationships with them, answering their asinine questions, setting up the contract, so after all that the engineer can show up and do her thing. As well as refining your image as reliable, expert, valuable, and all that goes into branding a company. 

This crap will easily take half your time. And it's mostly not billable. 

(4) You need to attract a client who can afford you
One of my problems was I made no effort to all that mentioned above. I got all my jobs from a friend of a friend and these were mostly small companies. The work just found me, and that seemed cool. But software engineers are expensive. If I wanted to keep with it, I would get myself certified and set up to work as a government contractor (talk about bottomless pockets). The small clients who found me did not want to pay a software engineer rate. They couldn't pay that rate.

(5) No generalists welcome.
When someone hires a contractor they want an expert in X who will solve their immediate problem with X. I had a hard time with this. I'm a software engineer with a computer science degree and years of experience doing all kinds of software related work. I had always worked at big companies and I was used to being expected to learn a little for any project. I also had a "I can solve any problem" mindset. Clients don't want a generalist (in my experience, maybe a more successful contractor would have another opinion), they want a specialist. And you can'y be a specialist in 20 things. You get one or two. So, you have to pick. 

By contrast. I've recently gotten a bit of a reputation as a Web Designer -- which is kinda funny b/c I couldn't design my way out of a box. But I started throwing quick WordPress sites together for people I knew who needed a website (using lovely templates or "Themes"). These are real things that a person can see and understand. So clients tell their friends, "you need a webpage? Kait does webpages". As a general computer scientist / software engineer, I couldn't explain my abilities well enough that other people could sell for me. Having other people remember you and that you do X is so important b/c they remember and mention you when their friend talks about their problem with X. 

And even though I don't want contracting work now, I've started doing this on the side. But I would never make 6k/mo with that, these clients just can't pay that. But while I'm making 0k/mo working on my own projects, it's a nice bit of pocket change. 

Lessons learned.
So it was a failure, but I learned a lot. I was also reading and watching all I could on business at the time, which is handy now that I have a new business. Lynda is my favorite recourse: lynda.com library | Trial Subscription

You actual questions.
No, I don't think freelancing/contracting is a good way to make more money than you are now or about the same with less time.

No, contracting isn't really more "flexible". It's true as a contractor I didn't have to work any set hours. But I always had to reply to emails. It was more like being on call 24/7. The work and the threat of work never go away. I often had no work, but at the same time I couldn't confidently plan a vacation. A client could have an emergency at any time. And even more likely, after not having any work for weeks, suddenly this new job needs to be done NOW NOW NOW and I have to work crazy hours for weeks. During those weeks, I've no time to look for other clients, so as soon as this job is done, work's dry again. 

Freelancing sites are mostly crowd sourcing. You may not feel like a commodity with your 10 years experience, but you will when you see kids, and people in other countries, and even experienced developers bidding on programming jobs for $7/hour. Seven! I made more than that as a lifeguard in high school. 

Again, if I wanted to keep at it, I would go the government contracting route. All the info for that is at The U.S. Small Business Administration (SBA dot GOV).

Summary
Again, I was a failure. I have to assume there are people who do this more successfully and they would probably give you a more positive answer. But I don't think I've even ever met a one-person-shop contractor making over 6k/mo. I think the only way to do that (especially working short hours, like you want) is to be the world renowned expert on some specific thing. And those I think are mostly old retired dudes who are the last left who still know X legacy technology. If you're making that money working from home now, I don't know of any way to get a situation significantly more comfy and flexible. Definitely not an easy way.

Best of luck ! ! ! ! ! ! ! ! !

No comments:

Post a Comment