My senior project in college was to create a Flash game… even though it was technically a B.A., I had to learn ActionScript 3.0 from the ground up to do it and found I genuinely liked programming.
- But -
It seems like so much software these days is offered completely free that it’s a bit discouraging to me to devote a lot of time to it. I mean I like programming, but it’s hard. While I can appreciate that kind of challenge, if I’m going to really commit myself to learning it more in-depth across various languages, I kind of want to know I can get rewarded for the work without necessarily having to become a salaried developer/software engineer/programmer (I already have a full-time job that I generally like but wouldn’t mind making some extra money on the side). As a pure labor of love, well, there are other things I can do to entertain myself that are easier and more fun.
So if you do it freelance, my main questions for you are:
I’m a freelance software engineer, as is Mr. Athena.
We’re both pretty happy with it. Here’s the pros/cons:
PRO
Working from home is great, at least for me. I know some people miss the social aspects of the workplace. I don’t.
I like the flexibility as far as hours go, though sometimes there’s no flexibility simply because there’s so much work to be done.
In theory, I can look for gigs that expand my skill set and keep me from getting bored. I say “in theory” because between my one main client and a few other smaller clients, they keep me so busy that I rarely have time to take on additional work even if it sounds more fun that what I’m doing.
CON
Most freelance work I find is either maintenance work or small -to-medium sized projects. If your goal is to work on cutting edge really cool high-end software, freelance isn’t the way to do it.
It can be difficult to build up a client list, especially without a lot of experience. I got into this after 15+ years of in-house software work. I’m not sure people really want to take on freelancers who don’t have a fair bit of relevant experience.
I’d probably make better money were I to get a traditional job. From talking to a friend of mine who works in Silicon Valley, I think he makes close to twice what I make when you factor in bonuses and all that. On the other hand, he lives in Silicon Valley, and I live in the middle of nowhere. I make a huge amount more money than I could make locally, so I’m OK with the tradeoff.
No benefits. I’ve tried to set my rates to account for vacations/sick days/health insurance and all that. But face it, you can’t replace the benefits like retirement plans and health insurance that big companies can offer.
RE: languages. I don’t know that there’s any “best” language for freelancing. Mobile development seems hot nowadays, but there’s also plenty of standard web app type development out there. Doing something modern with a modern language is the best thing to do - general experience in Android development or .NET web apps or Ruby on Rails or whatever is more important that “I know C” or “I’m an expert in PHP.”
Might I ask how much that is? Normally I wouldn’t pry, but it’s relevant here obviously.
I actually already work from home - and my job comes with benefits, so that’s not an issue at all. It’s technically a full-time position, but the actual work I have to do amounts to maybe 20 hours a week’s worth, so I have the free time right now to work on side projects and I need to take advantage of that. Especially if/when the current well runs dry, as it surely will someday.