How to get into Contract Programming?

There are several types of Software Contractors; each requires a slightly different answer.

  • Temporary Hire.  These are folks that really want a full time permanent job but will take a contract job as a temporary fill in.  Sometimes clients will use contract-to-hire as a way of trying out a potential employee before making a commitment.  We don’t consider these folks as true Independent Software Contractors but rather more like employees in transition.
  • Consultant.  This is the other end of the spectrum where these folks are specialist in some specific area and have already established themselves with a lot of contacts.  Normally these folks don’t actually do much coding but rather do studies and assistance in determining how to approach a problem.  Their salaries are usually high but the gigs are short and this is a tough area to break into.  It often takes years of working as an employee for a prestigious company to establish a reputation in a nice little niche in which they can be an expert with little competition.  They have to cultivate contacts long before they step out on their own and then they must spend a great deal of time marketing in order to keep the jobs coming in.
  • Contract coding.  Most Software Contractors fall into this area.  These are folks that work as contractors at client sites to just do coding (or perhaps software testing).  The gigs run from 6 months to a year but almost never more than 2 years.    Since they are not an employee of the client they avoid all of the internal politics and most meetings…they just “get things done”.  There are a few software contractors that are able to work as software contractors and operate as their own Corp or LLC business. However, most become employees of a Software Contracting Agent. This is the type of contractor I would like to address here.

So, let me explain how this works:


First, think about what type of gig you would like. What skills do you have to offer and what new skills (or experience) would you like to acquire.  Obviously you have to have enough skills to get a job but it is always good to look for jobs that might have some aspect that is a little bit of a reach for you.  This keeps your resume expanding with new skills.

You also want to think about where you want to work.  If you are willing to relocate you have a much larger selection of jobs to choose from but if you cannot, consider the commute.  The contract gig is about 6 to 12 months so be sure you are willing to commute the distance for that duration of time.   Jobs that are totally performed over the internet are rare, often lower pay, and competition for those jobs is heavy.

Finding a gig:

Next you register yourself in the so you have a place to post your resume where the Google search engines can index it.  Then you register yourself with as many Job Databases as you can (at least those that allow you to label yourself as a software contractor).  The largest of these is  Most contract agents look in Dice but they have to pay to get your resume.  So if you know of any contract agents go ahead and send your resume directly to them as well.

Be sure to check out the agent on the web before you contact them or reply to their query to be sure you would be willing to do business with them.  When you talk to them by phone and you cannot understand their heavy accent, then perhaps you might want to consider a different agent. It is also an advantage to have an agent that has an office near you (or at least in the city where the contract work will be performed).

Both ScGuild and Dice have lots of software contract jobs listed.  You can look through the jobs and pick some of interest and contact the agent posting the job.  The contact for a job will most likely be an agent and not the end client.  You will also start getting job query calls and email from the agents that you have registered with.  You may get 2-3 job queries per day in your email.  Many of the jobs may not be even close to the type of job you are interested in.  But consider dealing with those as part of the cost of doing business.

Submitting your Resume:

Once you find a job that sounds interesting and meets your criteria you contact the agent and let the agent submit your resume to the client.  Ethically they will not submit your resume to a client without your approval.  When you give that approval, be sure to record which agent is doing the submission, to which client (and manager if available) and the date and time of that approval.  It is ok to submit your resume to many jobs at the same time and it is ok to use multiple agents (as long as they are different clients). Agents may not want to tell you who the client is because competition among agents is fierce but you need to know who the client is before approving a submission.

The same job may be offered by different agents and sometimes it is hard to tell they are the same from the job description.  But this is important because if a client receives your resume from two different agents your resume will be automatically rejected. Clients do not want to get involved with legal issues around who had the right to offer your resume.  My personal policy is that a client (not just the job) “belongs” to the first agent that told me about it and I try to avoid having any other agent submit me for any job on the same client unless it is a very large client and it is obviously a different manager.

The Interview:

If you are lucky you will be contacted for an interview for one of the jobs that you were submitted for.  Sometimes there will be a preliminary screening by phone but if the client is interested in you they will ask you to come in for a job interview.  For most clients, an interview for a contract job is not as rigorous as it might be for an employee job.  But be prepared.  Do your research on the client and the job as much as you can so you have some idea as to how to answer their questions in their context and point out the skills that you have that would best match their job.  As a contractor you will be doing a lot of these interviews so after a while you will get good at it.

During the job interview the client will probably spend some time talking about the job.  Take some notes.  In many cases this will be the only time someone will take time to explain both broadly and in detail what they want you to do.

The Contract:

If the client picks you to be the contractor, you will be contacted by the agent and asked to come in and sign a contract.  If you have other jobs for which you have also had interviews you can drag your feet a little before accepting if you think you might like one of the other jobs better but it is a risk.  I usually take the bird-in-hand, the first gig offered. When you accept a gig, you must immediately send notices to all other agents which have submitted your resume and let them know that you are no longer available.  It is unfair to them if you don’t notify them right away.

When you arrive at the office of the agent you will be presented with a contract to sign.  PLEASE read all of it.  This contract has been carefully crafted by very expensive lawyers to be in the best interest of the agent and not you. Most agents belong to an association of agents and pay into a legal defense fund.  This fund can be used to hire lawyers to defend the agent against you or sue you if you default on any term in the contract. Consequently all agents in the association use the same contract. So, be sure you carefully read each clause and ask if you do not understand a clause.

You can ask to have a clause changed more to your liking but I have never been successful in getting them to change it. The contract will most likely contain clauses that state that you cannot work for the client (except through the agent) in any capacity for up to 2 years after your contract expires (the Non-compete clause) and any work you perform becomes the intellectual property of the client, not you. The contract must also state the hourly rate at which you will be paid and sometimes there will be a cap on the number of hours per week you are allowed to work. You will be paid when the client pays the agent.  Payment to you may not always be weekly.  The agent assumes no risk.  You assume all of the risk if the client does not pay the bill.

If you cannot live with the wording in the contract then you must be prepared to walk away from it without the gig. This is just the way it is.

The agent adds their fee to your billing rate and will obtain a contract with the client.  The agent’s fee is normally around 30%.  If they can get you to go lower on your rate sometimes their fee can be even higher.  The agent will not tell you how much they get from the client. Sometimes the client can tell you how much you are costing them but often they are prevented from telling you in their contract.

Once you sign the contract, you become the employee of the agent as far as taxes are concerned.  Each week you will submit a statement of the hours that you worked, signed by the client, and the agent will send you a check, minus the deductions for taxes and benefits when the client pays the agent.  Expect a fairly long delay to get the first check. It is a very good idea to have at least a two month salary cushion in your bank account to cover the lags in payment

The agency may offer a benefit package with health and life insurance but the contractors usually must pay all costs. Often you can get better insurance at lower cost as an individual. So shop around for insurance and set up your own retirement plan.

Working the Gig:

Once you start a gig, it is very bad form to quit before it is complete. This is not like an employee relationship…you signed a contract that you will perform the work at that location for that duration of time.  You have an obligation. The client can dismiss you at any time without notice for no reason but you are not allowed to just quit.  If you do, you can be sued or at least you will find that the agents in your local area talk to each other and you may end up on a black list.  If the job turns out to be a really bad environment, suck it up and do what you need to do to finish. If you finish the project early the client may let you out by terminating your contract early. You don’t have to renew the contract so there is always an out eventually.

While you are on a contract, cultivate the contacts among the supervisors and fellow workers on the job.  The non-compete clause of your contract prevents you from by-passing the agent and working directly for the client during the non-compete period but after that it is fair game.  Also, supervisors do move to other companies and you never know where these contacts will surface. It is good to know someone on the inside when applying for a contract job.

Also, keep your ear to the ground. Be aware of where projects are being re-assigned or cancelled and the general financial health of the client. After a while you will learn to sense when change is afoot. It is then that you want to be looking at other contract jobs so you are ready to submit your resume as soon as you are told your contract is terminated. If you do this right there will not be a gap in your income.  You don’t qualify for unemployment benefits so you need to be nimble.

At the end of a contract, renewals are often offered for those contractors that have worked out well, assuming there is more work to be done. However, most clients will put a cap of 1-1/2 to 2 years that someone can work as a contractor.  This is because of the uncertainty written into the federal tax laws. If someone contracts too long at a client, the IRS may decide that they are really an employee of that client and require the client to pay back withholding and fines even if the contractor has paid taxes. Most clients don’t want to risk it and impose the cap.

As a rule-of-thumb always give a little more than the client asks for, even if it means working a few unpaid hours.  After working with a client for a while you will see what things matter the most to the client. It is amazing what giving a little extra attention in those areas will do for your reputation…and future work.


Cyber Security is Crucial for Small Business Owners

Cyber Security is Crucial for Small Business Owners

Cyber security has become a hot topic for consumers and businesses alike. With many corporate organizations being breached over the course of a few years, it has many people on high alert as it pertains to protecting sensitive data both on and offline. Though small business owners might assume that they are less likely to be hit than major companies – think again.

Why Small Businesses Are Targeted

Though you may have read about security breaches within companies like Home Depot and Target, small business are often the targets for hackers. Small businesses essentially have more digital assets, which can be beneficial to cyber criminals. Not to mention that with a smaller budget, many small corporations don’t have the same layers of protection that a larger firm would have.

While there may be no direct reason for your small business to be attacked, what antivirus companies and professionals are learning is that attacks are typically carried out with the use of software on a larger scale. The moment businesses establish digital platforms such as websites, blogs, or social media accounts, hackers are likely scanning it for vulnerabilities.

What Are the Most Common Forms of Attack?

There are several types of cyber attacks that can take place. While many of these are the result of external sources (i.e. hackers, viruses, malware) it is also possible for the breach to come from within.

Data Breaches – At the top of the list are data breaches. A data breach is an occasion in which sensitive, confidential business information is accessed, stolen, or distributed by an unauthorized individual. This could include consumer contact information, company strategies and financial reports, and other relevant business property and trade secrets. Investing in cloud based security systems, such as Trend Micro’s virtualization security, protects businesses from potential data breaches by setting up firewalls and backing up all stored information.

Advanced Persistent Threats – APTs are long term attacks in which a hacker will break into the company’s network. The trick is the breach is done in several stages to prevent detection. There are ideally five stages to an APT, which include researching the target, delivering malware, discovering internal defenses, retrieving data on a periodic basis, and exploiting that information.

Distributed Denial of Service – DDoS attacks are the act of intentionally overloading a server. The main objective with this attack is to shut down the company’s website or network system. Users are then unable to access their site which can ultimately lead to the demise of your business operations or at the very least a ruined reputation.

Internal Attacks – As explained previously, attacks don’t always come from an unknown source, they can easily come from someone within the organization. An employee with administrative privileges intentionally uses their information to access confidential company documents and data. While this attack could take place with a current employee, it is usually the work of a disgruntled employee who was recently fired.

Malware – Another attack is with malware. This is best defined as malicious software. It is a program that might be sent to a company computer. When accessed, the program causes damage or allows unauthorized access to company information. There are several types of malware each with their own set of risks. This includes viruses, worms, Trojans, and spyware.

Phishing – One of the most common cyber thefts is phishing. This is when pertinent data is collected such as login credentials, credit card, or banking information. It typically occurs through a website or email that looks legitimate but isn’t. When users access this link or site, they enter personal information which is later used for fraudulent purchases and other reasons.

Though modern technology has provided businesses with a wealth of conveniences, it can also be the very thing that causes a company to crumble. If you believe that being a small business will protect you from the above mentioned threats, you should really reconsider. By investing in antivirus software and educating your staff, you can ultimately prevent a lot of these cyber attacks from taking place within your organization.


Surviving in the Software Contractor World

Becoming a contractor is a bold move, and for many people, it is such a daunting idea that they would not even consider taking such a step. This is why the rewards are potentially enormous, and not just from a financial standpoint. Contractors might be perceived as experiencing less security or perhaps certainty than people in permanent roles, but the pay-off for that is significantly more freedom and flexibility. A contractor is essentially his or her own boss and while this comes with additional responsibilities, it provides a means of control over one’s life that permanent employees rarely, if ever, get to experience.

Software experts, like most IT professionals, are particularly well suited to contractor roles and are therefore well-placed to enjoy the benefits of this type of career and the associated lifestyle.

Hints and tips

Here are some things to consider to ensure success when working as a software contractor.

  • Emphasize specialist skills. The work of a software expert tends to be based on projects and therefore has an inherently temporary nature. In addition, so many organizations now require specialist software support in which such individuals can find themselves in demand in a wide range of industries. Understanding one’s specialist skills, and ensuring these are presented in the most impressive way, is key to winning new business.
  • Build a network. Publicity is also critical to winning new business, and word-of-mouth is the best way to achieve that publicity. Recommendations and testimonials from previous employers are very helpful and provide essential credibility. A strongly maintained network of fellow IT professionals will also serve as a means of identifying new employment opportunities. Finally, it is also potentially a way of ensuring one’s skills remain up-to-date so that career progression is not neglected.
  • Get organized. Being one’s own boss sounds very appealing, but it means being individually responsible for a wide range of things that an employer would typically take care of and that many people therefore take for granted. Responsibilities such as pay and taxes can be time-consuming and onerous, and enlisting the support of an umbrella organization such as can be hugely helpful, as they will take care of this sort of thing, freeing up the individual to devote his or her time and effort to the profit-making side of their business.

Daunting but rewarding

The decision to become a contractor, whether it is made by someone at the start of his or her working life or someone who is considering a career change, is not one to be taken lightly. Such a transition is more than just a change of employment. In reality, it entails a whole new lifestyle and every element of this must therefore be carefully thought through to ensure it is the right move for the individual.

It is daunting, but it is also potentially rewarding and fortunately, all it takes is some careful research and the right sort of preparation to guarantee the best possible chance of success.