Garner: Sr. Software Developer

Garner (websitelinkedin) is looking for a Sr. Software Developer:

You are proficient in at least Java, JavaScript and SQL. You have several years of experience developing server side business logic and web-based GUI components. You are familiar with Agile planning and XP engineering practices, especially TDD, refactoring, mock objects, pair programming and continuous integration. You have a mastery of design principles and the object-oriented paradigm of software development. You know the basics of shell scripting, jQuery, AJAX, HTML, CSS and HTTP.

You are curious and always striving to get better at your profession. You know that you will work in a totally different way 10 years from now and you are not scared by it. You like to experiment with new languages, tools, and libraries, applying your new knowledge to your everyday work.

Garner makes a platform called exdocs, and they used to direct people to; you’ll still find links pointing there. The new Garner website is still relatively young, I gather, so it’s a little lean on content, but it’s not hard to find out more about their product and company with a web search. You’ll even turn up ancilliary sites like and their old site (which redirects now to the Garner site).

The Good
First and foremost, this is a posting written by (or at least heavily influenced by) someone who understands technology and what developers care about. It’s written with care, and this makes it stand out over the vast majority of job postings.

As a result of that, you can get a much stronger vibe for their development culture than you can for most postings on areas like software quality and agility. The passion for software comes through. I like that the posting mentions technologies but isn’t pedantic about them.

This posting was given to me directly, rather than something I found on my own, by someone who I’ve known for a while. He’s looking for strong candidates and I hope that my posting this will help him find them. If we’re lucky, he’ll be able to respond to some of my points here to help clarify anything.

Garner’s industry focus on Oil, Gas, Mining and Pipelines mean that their market is an important one in Canada and one that has been doing pretty well over the last few years. Some of their older pages talk more generally about logistics, freight, land management and other sectors, so I suspect these growth sectors are becoming (or have become) their primary focus.

I’ve been curious about Continuous Delivery techniques for a while, but haven’t had much experience with them. I don’t get a strong sense from the posting of what they’re doing with continuous delivery, but the fact that it  gets mentioned at all is appealing to me.

The Location
Their Toronto office is near Queen and Spadina. It’s a nice area, and not terribly difficult to get to by TTC, GO or road vehicles. Lots of tech companies there, so many of their potential candidates will already be working in the area — if that’s you, then getting yourself into their office for an interview should be pretty easy.

Basically, this is one of the more common areas for tech work, and you probably already know the tradeoffs of this area well enough that I needn’t bother speculating on your behalf.

What’s Missing
Garner is privately held, so I don’t know much about how the business is doing, growth, finances.

The redirection of the website and refocusing on growth industries seem like normal business changes, but it’s hard to really assess those kinds of changes from the outside — you’d have to be really immersed in the company to understand the impact. Is this a recent and significant change or just gradual business evolution. Are people inside the company happy with these changes?

What’s the size and composition of the team? What would you be working on? What’s the compensation like?

What are they doing with continuous delivery?

How do they manage the mix of user experience design and agile approaches?

Your mileage may vary when it comes to working on a platform for capital projects in the oil, gas, mining and pipelines sectors. It won’t be everyone’s perfect job. If you’re looking for a consumer-focused startup, this isn’t it.

I know people who’d never take another Java job at this point. Even for many dedicated Java developers, the bloom is off the rose. The technologies they talk about sound like solid ones, but you might not be hyper-excited about the technologies themselves.

In Summary
If you’re experienced with Java and the Web and you’re looking for a new position, I’d guess this is likely to be interesting.

I’ve made some minor edits based on minor changes since I started writing, or things that I learned after posting. I don’t think they affect the content in a way that’s worth describing in detail.


One Response to Garner: Sr. Software Developer

  1. Thanks for the post and the comments. I’d like to address some of the questions here.

    You’ve rightly surmised that today our primary focus is the oil and gas market, for all the reasons that have made this sector one of the most important for the Canadian economy in the past 10 years and for the foreseeable future. For quite some time, we have focused our sales and marketing efforts on securing cornerstone energy projects. The development team has been expanding Exdocs, our proprietary platform, to handle the most complex challenges we’ve seen in global supply chains. As you noted, we are not a consumer-centric company – our website is simply not a driver of our business, which is why the content there is lean.

    The development team works on one whole code base that is logically partitioned, but every developer can roam freely on any piece of code that he/she thinks should be modified, for whatever reason. We work with 2 week iterations and plan all the tasks the first day of the iteration. Every developer is free to sign up for whatever tasks he/she feels more inclined to work on, according to the priorities laid out for the iteration. I can obviously go into a lot more detail with every candidate and I will also share some metrics about the actual code base and their evolution over time.

    Continuous delivery is one of the areas where we want to grow more in the near future. Currently, major components of our biggest systems are deployable with a click of a button starting from our Jenkins-based build system (or actually, by executing a specific command from shell). Depending on every project’s needs, some systems are deployed this way several times per week. The deployment pipeline is not entirely automated yet, but significant work will be done to improve it, so there is definitely room for a developer interested in continuous delivery to make substantial contributions.

    It’s true that the vast majority of our code base is today in Java, but we like to implement a number of ancillary tasks using other languages, when they seem more appropriate. For example, we have utilities which support static code analysis implemented in Ruby and shell. One of the most important things to consider though is that we are evaluating other JVM-based options for the future, like Scala. Again, this is something that I’d like to discuss in more detail during interviews.

    Let me know if you want to know more. You can also send me an email via

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: