Issues with Hiring a Software Developer
Issue 1: Attitude
Software developers are known for expecting things like ‘buy in’, where they tell you how long a project will take. Needless to say, their idea of a project deadline misses executive bonus metrics by a country mile. Therefore, it’s necessary to write job requisitions to insure the people being hired have appropriate levels of humility.
This is solved in three parts.
First, the job description is written so that only one candidate in the entire country might meet or exceed the description. One needs to have experience with Java, C++, and Javascript including the latest versions of commonly used Javascript libraries. One needs to have 10 years of experience with one major relational database, including enterprise level clustering, virtualization, and real time replication across multiple database vendors. One needs to be have experience coding both iOS and Android applications that consume RESTful web services. Verbal and written communication skills are a must. One needs a BS in Computer Science and developer certification in at least one of the respective databases.
Those that could reasonably do the job are then tested. The first round is multiple choice. Those that can pass this then do a set of take homes that demonstrate skills in stored procedure composition, processing generic types that contain generic type collections, unit testing, and report design. Those that are reasonably close then do a white board coding test in a face to face interview.
Anyone ‘surviving’ these rounds is then invited to explain how they handle failure, disagreements with their bosses, and management of competing priorities under pressure.
This allows one to spot those that have their own ideas of how to solve problems. Those that remain are grateful, obedient, and cheap. When an actual deadline is missed, this is explained as having to work with ‘what we’ve got, not what we were expecting’.
Issue 2: Business Models, Policy, and Culture
When most of your employees work on a production line, push pallets stacked with cartons around in warehouses, or drive trucks, one seeks talent that thinks in the framework of ‘today’ and ‘this week’. Programmers have to follow the rules just like everyone else. This means showing up at 8:00 AM, keeping one’s lunch break to 1 hour, and limiting personal phone calls on company time. You need to know where they went to high school and if they graduated. They will take the ‘personality test’ with questions such as ‘I consider myself to be artistic’, and ‘Other people can tell when I’m upset’. They should be able to answer questions like ‘What is the next number in the series 11, 22, 34, 45, 57, ...’ and ‘Atlantic is to Ocean as Novel is to...’.
Hiring managers who ‘bring in their own people’ generally find their candidates stir up resentment elsewhere in the company. Often such programmer work habits are abysmal. HR needs to determine, in advance of any conversation with a hiring manager, that a candidate is suitable for this particular workplace.
Issue 3: Geography
School districts are often exceptional in that they need programmers in jurisdictions that otherwise have little use for software development. A rural district that has a tax base built on manufacturing or oil and gas taxes may have done well financially at various times, but may now operate under budgetary constraints.
Software developers are notorious complainers - they don’t like the food, they don’t like the politics, there’s no ocean or mountains nearby and there’s nothing in the stores. The opening gambit emphasizes the low cost of housing, fishing in nearby rivers and lakes, a complete absence of traffic, and that one can leave their doors unlocked and let their kids play in the street. There’s plenty of ‘culture’ in nearby cities - a ninety mile drive is a good way to let one’s mind clear. Usually the weather is nice, allowing for an occasional tornado or ice storm.
However, one has to address certain issues with some subtlety. One way of doing that is to explain what’s included in the benefits package. In some cases the candidate raises questions about ‘domestic partners’. This is a good time to remind him or her of a few local laws, particularly relating to ‘shacking up’ or using inappropriate restrooms.
Recent graduates generally aren’t familiar with SQL Server 2005, FoxPro, Access 2003, and Windows XP. Sometimes candidates misinterpret competency questions related to these products as overall institutional technical obsolescence. Candidates tend to be more impressed with state of the art router and firewall technology used to insulate the district from security threats and harmful influences.
One of the realities in some districts is that voters are tired of educating students that relocate to some tech haven after completing college, and don't 'return home'. In such circumstances the district may focus more on educating farmers and shop workers. Computers are kept in the computer lab and are only used by the kids that behave themselves. Some candidates view computer literacy as a ‘ticket to freedom’ and may be disturbed by such an agenda. It's helpful to determine whether the candidate concerns themselves with 'organizational mission' - if so, it then becomes desirable to see if the candidate is sympathetic to the interests of district voters and taxpayers.
The overarching value one seeks, then, is someone who would rather avoid 'drama'. One might find someone that needs to 'disappear', perhaps from a recent ex-spouse or a particularly belligerent creditor. A good fit, in this circumstance, has experimented with a lifestyle that no longer serves them well. They may bring some problems with them. The more expensive such a transition is, the less likely the are to initiate it again.