I have a friend who used to be a developer for a company. Unfortunately due to these times we live in he is now looking for work. He’s doing the resume/networking game but it’s still a tough world.
This got me thinking, how instantly marketable are our skills? What I mean by this is how readily can we market ourselves and possibly jump projects at a moments notice delivering quick results?
The last time I went to look for a job it took a significant amount of time to assess my skills, update my resume and start looking for work. Usually I’d have to draft three or more resumes depending on the job I was applying for, such as a .Net developer, a dba, report designer, network engineer, etc. Next, getting a “portfolio” of my work together took a lot of time as well. I hadn’t properly kept track of projects and my accomplishments so I didn’t have much to show once potential employers asked me for details beyond my resume.
In most cases I’d say we need to market our abilities as quick as possible. This not only serves as a way for companies to quickly assess who we are and what our skills are, it also helps you to get contract jobs to pay the bills. Contract jobs could be single day jobs or more formal affairs for several weeks or months, however, these can take a long time to procure. This is where contracting agencies come in to play. Quick paying gigs can be found from freelancer sites like guru.com, RentACoder.com, etc or classified ad sites like CriagsList.org.
The more “instantly marketable” we are and can deliver results the better chance we have of finding permanent work as well as side jobs keeping the paychecks coming in. Plus, once you have several completed projects under your belt you have greatly increased your networking pool as well as your project portfolio.
As a comparison my neighbor has been in construction for years and manages crews on large projects. If he were to loose his job he has instantly marketable skills. He can be available at a moments notice to build or fix almost anything within his field. If need be, he could even stand on a street corner hoping to jump on a “day” crew. Now, I’m a pretty decent handy man but I don’t know anything about pouring concrete, running compliant building electrical or driving a Bobcat. His skills are instantly marketable and he can deliver results instantly.
What I mean by quick or instant results are being able to complete some task within a day. While my neighbor may be used to year long contracts putting up a complex of buildings he can instantly market his skills and provide a day long project for an impromptu customer such as a backyard shed or a new sprinkler irrigation system. I’ll call these “day jobs”.
In comparison we, as software developers, have some great advantages and some great disadvantages, many of which are self-imposed.
On one hand we have almost no commodity overhead. For an irrigation job my neighbor may have to go to the nearest hardware store to purchase pvc pipe, joints, sprinklers, a timer, etc. If I’m doing a web project a quick few clicks will get me a site with a database and almost anything else I need. I don’t even have to leave my chair!
However, my neighbor knows how to design, purchase parts and put a sprinkler system in less than a day. Do I know how to spec, design and deliver a software dev project in less than a day? Most of the time I’d say no. Even “simple” projects I’m used to have defined stages such as gathering requirements, establish timelines and priorities, architect backend, architect db, design UI, draft implementation, customer review, back to architect for bugs/features/next milestone, rinse and repeat. Even just the requirements/architect phase can take several days.
Granted, most dev projects are not one day sprinkler systems, but how do we find/get the one day jobs?
What is a software “day job”? I would akin these to ads for work like “Make changes to website”, “Add textbox to customer info screen”, “fix CSS issue”, etc. These are often quick jobs requested by companies or individuals that do not have the expertise in house. Many times they have purchased a website from a company and they need changes. For whatever reason they are farming the work out rather than going back to their original designer. These may also be dev companies that have purchased tools but now are running into roadblocks, like a website company just getting into AJAX. Depending on your expertise they could even be complex projects that you, with your skills, could solve in a day like “Add Paypal payment option to shopping cart”, “Add contact database to website”, “update SharePoint webpart”, “Add PDF email capabilities to SSRS reports”.
Note, common sense will need to be used when looking into these types of jobs. If you see something like “Need a site similar to ebay to auction off xyz. Shouldn’t take very long” you can tell that a) this is not a “day job” and b) the customer has no idea what they are asking for. Avoid these like the plague. The key to day jobs are getting requirements that can be easily defined and met and working with customers that know exactly what they want, even if they can’t articulate it well the first time. Jobs like “fix this xyz css error on IE7” is fairly easy to define, test and establish as a guideline for completion. The customer obviously knows what they want.
First of all, why would we want day jobs? Here are my quick reasons:
- Day jobs are “easy”. After all they can be done in a day. Do it and move on.
- Requirements are fairly simple. They usually contain one or two definable goals (notice I did not say well defined. :))
As I said above commonsense will need to be exercised. You want to find clients that are pretty sure of what they want and requirements that are easy to define.
- Pay is quick. Working through a freelance site or through Craigslist you can often get paid upon deliverable. No waiting for the next payroll cycle.
A quick note. Make sure you exercise all caution. Using a freelance site like guru.com allows you to use a broker for all funds and offers resources for dispute management. If you do a job on Craigslist it is fairly easy for a customer to stiff you (and you them) so don’t enter into these without caution.
- Little ongoing support. You aren’t developing the next Face Book. If you’re just adding a JavaScript alert box, once it works it works (assuming this has been tested to work in the defined requirements). If they change their site and your fix breaks or is no longer relevant this is a separate and unrelated job. If their web server goes down you’re not the one they call.
- Chances for rehire/reputation. Once you do a few quick jobs for a company they may be interested in giving you more long term projects. These may be “ideas” that they’ve bounced around but have never had the resources to accomplish. Now with you they have a reliable programmer that they can contact for these things. Freelancer sites often also have reputations and ratings. When you do gigs you are allowed to rate your clients and they are allowed to rate your work. Having a reputation for good work and quick results may get you on the radar for other clients and larger contracts. It also helps your chances to get a “sale”.
For your consideration/criticism here are my current tactics for my instant marketability.
Note that I currently have a job, so I don’t often go looking for these day jobs. But on the other hand, when I do look for side work day jobs are the majority of what I look for.
- Establish a single point of reference for marketing yourself
This will most likely be a website with your development “portfolio”. Having too many sites make it difficult for companies to find all your information. My site, http://MattPenner.info, is for this exact purpose. I have my tech blog as well as pages detailing my speaking engagements, resume PDF, experience, projects, etc. Granted most of it isn’t set up yet. I’m about 6 months into this. :) As I said, I have a job. That lack of urgency along with two little boys and a girl on the way mean that my site isn’t moving as fast as I’d like.
However, the grand scheme is to create a single location that anyone can see what I am intersted in, what my skills are, what projects I’ve worked on and, hopefully, the quality of those projects. I envision having my resume completely built out as a wiki. I hate the current restriction on paper based resumes, but that is a necessary evil. If I can get prospective clients/employers to look at my wiki resume I plan to have everything about me in there. If they don’t care about my work with .Net then they can skip that part. If they like my work on Crystal Reports they can click deeper to find out the nitty gritty details along with screenshots.
That’s the plan anyway. 🙂
- Put marketable information on your site
What I mean by this is make sure your site shows exactly what you can do. Don’t just have a blog about your interests. Have your current resume along with any details of jobs you’ve done. If you are a part of any community groups (user groups, open source communities) list these. If possible list examples of code and/or screenshots of your work. This offers very tangible details on your skills that simply cannot be duplicated in a paper resume. If you fixed a bug show the code. If you developed a great jquery plugin show the code and a screenshot. Better yet, show a working demo!
- Find really quick jobs that you know you can do
If you are an expert in CSS then find a very quick CSS job. I don’t care if it’s boring. If it’s a small job and you’re good at it you will quickly deliver a high quality product to a customer. There’s nothing like a customer saying, “Wow, this works great! I never expected it so fast!”
- Don’t look for something you’d “like” to do
I highly stress this fact. This is really a corollary of the point above. If you start getting into jobs you aren’t 100% comfortable in then you start loosing time on things like research, weird bugs, etc which can possibly result in delayed deliverables, or worse yet, faulty products. Even if you do deliver a high quality product chances are you spent more time than it was worth. You could save the world, but if it took you 1 week, the client had 2 days, and you only got $200 was it worth it?
Once you have established a decent set of jobs, a reputation, and have time to play you can go after these jobs. Until then, consider these off limits.
- Deliver a live working solution with your bid
Often the client has an ad out for the job because they can’t do it themselves and, quite likely, has gone through grief with their current developer trying to make it work. I did this on my last two bids. I took the requirements (again, find those easy to define requirements) and developed a complete solution in a few hours. I then posted my bid for the project showing the client that it was already done.
Talk about a quick and high quality deliverable! The client could see it was done to their specification and instantly deliverable!
As an example one of the projects was the layout and sorting of a data table for an aspx page. I recreated their UI, added my changes to the backend with fake database data, and hosted the site. The client was able to freely play with a live sample.
One caution, if this takes you too long you may miss out on the bid if the client selects someone else. If you feel this might be the case it would be best to bid first, work on it, and then amend your bid with the deliverable. That way you at least get your name in the pot of potential vendors.
- Don’t give away the farm. My last bid for a day job required a change to a visual effect in the SpryEffects JavaScript library that is available Dreamweaver CS3. If I delivered a fully usable product with my bid their browser would download my JavaScript file to their computer upon loading the webpage. If they were of any technical ability they could just plug this file into their code and be on their merry way. I would have given them a free working solution and I’d have no money to show for it.
So instead I used a screen capturing utility to record me demoing the fix in FireFox 3 and IE7. I then converted the video to Flash, uploaded it to my website and sent in my bid with a reference to the video demo of a fully working product.
I’d love to hear comments from others on this and ideas they may have.