I’ve been critiquing technology jobs in Toronto mentally for some time, and sharing them with the world for about a quarter now. In that time, I’ve established some critieria for what I believe makes a strong job posting. I’ve blogged about this a few times, but it seems worth recording it so that those of you reading Toronto Technology Jobs have some sense of what I find interesting.
This isn’t set in stone; as time goes on, I refine my idea of what’s interesting, and when that happens, I’ll try and keep this page up-to-date.
My criteria for job postings follows this rough outline and is in rough order of importance:
- The Role
- The Work
- The Compensation
- The Location
- The Process
- The Company
- The Technology
- Morbid Curiosity
Usually for me to find a job interesting, it takes some combination of those first five. The last one stands alone, sometimes jobs are interesting for morbid curiosity alone.
This is often the simplest and most mundane of the criteria. I’m interested in roles that are unusual in particular, and that’s often true of the more senior and more unique. By way of example, a role as CTO, VP, Director or Principal is more senior than your average job posting in Toronto, and thus interesting. Alternately, mobile software developer and release engineer is more unique than ‘senior developer’, and, again, more interesting. Which isn’t to say that a Senior Developer role will never make the list, just that it has to stand out in other ways, whereas a role that is very senior or unique might be able to stand out less in other ways and still deliver some interest.
It’s also important to have some sense of the expectations inherent in that role. One company will assume that a technical lead will spend eighty percent of his/her time coding, while another will assume the technical lead will spend most of his or her time mentoring, coaching, planning, reviewing, and so forth. Without describing the role, it’s hard to know what a particular company’s expectations are.
What exactly will the candidate be doing? This is not a list of the expectations of the role, but rather the projects that the candidate will be working on. Although some companies seem to believe that this is not a factor in very senior positions, I’m inclined to believe there are always a set of current initiatives, focus areas on which a candidate will spend much of their time, and it’s important to understand what they are.
For instance, an application development manager might be charged with increasing development standards, reducing the cost or increasing the rapidity of development, improving quality, and so forth. These choices and the reasons behind them are important to understand the position, although some of these might be considered confidential, and shared with the candidate in person.
Attractive compensation is always interesting. Although many of us would like to think that money isn’t a prime-mover in our careers, it’s also true that compensation is easy to quantify, and requires less faith than a company’s promises about work environment, agile methods and cool work.
There are a lot of different ways in which companies can compensate employees: salary, vacation time, health benefits, RRSP contribution matching, parental leave, bonuses, stock options, and so forth. There are so many ways that most companies don’t go into very much detail. That said, I personally pay more attention to the concrete forms of compensation: bonuses and options are great, but subject to variation. Salary, health benefits, vacation time, RRSP contributions and parental leave benefits are much more concrete, and require no year-by-year judgment calls by the company.
The location is difficult to judge across all potential candidates. Basically, the more central it is, the more it’s likely to be satisfactory for the most candidates. Among other things, the GO train, subway, and other transit systems service the core well.
The less central, the more likely it is to be good for some, bad for others. Another factor here is whether or not the area is an interesting place to spend time — good restaurants and stores, nice places to walk and sit — or not, such as an industrial or residential area. These are small factors, but when you’re going to spend much of your waking hours in a particular area, it’s nice if it’s convenient and pleasant.
Some companies use a very rigid, defined and complicated process. Others focus on simply getting the work done and using whatever process makes that happen. Some companies require specific kinds of processes to adapt to their situation, such as outsourced development, multiple offices, and so forth.
This is pretty subjective, so mostly this is just a set of minor positive signs and minor negative signs. Companies that make believable references to agile methods score minor points because I’m inclined to believe that agile methods are more effective, primarily because they concentrate on particular value. Companies that talk in length about specifications, UML and throw-it-over-the-wall departmental divides lose points because they seem to be focused on a process that may or may not be connected directly with delivering the value they seek.
This criterion is hard to define, because it’s pretty subjective. Companies can be interesting because:
- the people who work there seem to enjoy the experience enough to be effusive about it (e.g. Google)
- the company does interesting work (e.g. Tangosol), has interesting products (e.g. RIM), or has interesting technology (e.g. RIM)
- the company is very successful (e.g. Google)
There are other reasons, but these are some of the more common.
This, like the role, is pretty simple. Some technologies are up-and-coming, appealing or rare. Others are old and boring, or irritating to use.
These technologies are positive in some way, to me: Spring, Hibernate, mobile software, Java 1.5/1.6, Ruby, Ruby on Rails, Groovy / Grails, JRuby, Python.
These technologies are somewhat negative: struts, Java 1.1-1.3, EJB (of any sort, but particularly 1.x and 2.x).
This is all pretty subjective, so I don’t put a lot of weight on the technology.
Although it isn’t always a good thing to be interesting for morbid curiosity’s sake, this is still a category of some interest. There are all sorts of ways to generate morbid curiosity.
For instance, a posting that seems internally inconsistent: agile practices and gantt charts, or Java software development requiring experience with Visual Source Safe.
Alternately, something amusing like suggesting you need 2/3rds of a developer rather than a part-time developer.
Or something unusual in the extreme, like a startup looking for a part-time VP.
The most common way that job postings fail to catch interest is by not supplying enough information on one or more of these categories. In particular, postings created by recruiters often deliberately obscure some of this information in order to protect their source of revenue: making the connection between the candidate and the company.