summaryrefslogtreecommitdiff
path: root/wiki/hire-me.md
blob: adfbbf2efe68978452d71523f6a5eedbc0d84fe5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# Hire Me

I'm always interested in hearing from people and organizations that I can help,
whether that means coming in for a few days to talk about end-to-end testing or
joining your organization full-time to help turn an idea into reality.

I live in and around Toronto, ON. I am more than happy to work remotely, and I
can probably help your organization learn to integrate remote work if it doesn't
already know how.

You can see more about me as a person on
[HireMyFriend](https://hiremyfriend.io/profiles/90b8caa5) or
[LinkedIn](https://ca.linkedin.com/in/ojacobson/). You can also get a sense of
the code I write by looking at this blog, as well as my
[Bitbucket](https://bitbucket.org/ojacobson) or
[Github](https://github.com/ojacobson/) sites: I recommend starting with
[Refreshbooks](https://github.com/ojacobson/refreshbooks) or
[Sparkplug](https://github.com/ojacobson/sparkplug).

## For Fun

I regularly revisit problems from old jobs, interesting ideas from the internet,
and whatever else catches my fancy as a way to build up skills with specific
technologies. Right now, I'm tinkering with [AngularJS](http://angularjs.org)
and [Jersey 2](https://jersey.java.net) as a way of building lightweight,
highly-responsive web front ends. Ask me about it and I'll be more than happy to
talk your ear off. I've also run similar projects to explore Node, Django,
Flask, Rails, and other platforms for web development, as well as numerous tools
and frameworks for other platforms.

I also mentor people new to programming, teaching them how to craft working
systems. This is less about teaching people to write code and more about
teaching them why we care about source control, how to think about
configuration, how to and why to automate testing, and how to think about
software systems and data flow at a higher level. I strongly believe that
software development needs a formal apprenticeship program, and mentoring has
done a lot to validate that belief.

## FreshBooks (2009-2014)

During the five years I was with the company, it grew from a 20-person one-room
organization to a healthy, growing two-hundred-person technology company. As an
early employee, I had my hand in many, many projects and helped the development
team absorb the massive cultural changes that come with growth, while also
building a SaaS product that let others realize their dreams. Some highlights:

* As the lead [MySQL](http://grimoire.ca/mysql/choose-something-else) database
  administrator-slash-developer, I worked with the entire development team to
  balance concerns about reliability and availability with ensuring new ideas
  and incremental improvements could be executed without massive bureaucracy
  and at low risk. This extended into diverse parts of the company: alongside
  the operations team, I handled capacity planning, reliability, outage
  planning, and performance monitoring, while with the development team, I
  was responsible for designing processes and deploying tools to ease testing
  of database changes and ensuring smooth, predictable, and _low-effort_
  deployment to production and for training developers to make the best use of
  MySQL for their projects.

* As a tools developer, I built the [Sparkplug](https://pypi.python.org/pypi/sparkplug)
  framework to standardize the tools and processes for building message-driven
  applications, allowing the team to move away from monolithic web applications
  towards a more event-driven suite of interal systems. Providing a standard
  framework paid off well; building and deploying completely novel event
  handlers for FreshBooks’ core systems could be completed in as little as a
  week, including testing and production provisioning.

* As an ops-ish toolsmith, I worked extensively on configuration management
  for both applications and the underlying servers. I lead a number of
  projects to reduce the risk around deployments: creating a standard
  development VM to ensure developers had an environment consistent with
  reality, automating packaging and rollout to testing servers, automating the
  _creation_ of testing servers, and more. As part of this work, I built
  training materials and ran sessions to teach other developers how to think
  like a sysadmin, covering Linux, Puppet, virtualization, and other topics.

## Riptown Media (2006-2009)

Riptown Media was an software development company tasked with building and
maintaining a suite of gambling systems for a single client. I was brought on
board as a Java developer, and rapidly expanded my role to encompass other
fields.

* As the primary developer for poker-room back office and anti-fraud tools, I
  worked with the customer support and business intelligence teams to better
  understand their daily needs and frustrations, so that I could turn those
  into meaningful improvements to their tools and processes. These
  improvements, in turn, lead to measurable changes in the frequency and
  length of customer support calls, in fraud rates, and in the percieved value
  of internal customer intelligence.

* As a lead developer, my team put together the server half of an in-house 
  casino gaming platform. We worked in tight collaboration with the client
  team, in-house and third-party testers, and interaction designers, and
  delivered our first game in under six months. Our platform was meant to
  reduce our reliance on third-party “white label” games vendors; internally,
  it was a success. Our game received zero customer-reported defects during
  its initial run.

## OSI Geospatial (2004-2006)

At OSI Geospatial, I lead the development of a target-tracking and battlespace
awareness overlay as part of a suite of operational theatre tools. In 2004, the
state of the art for web-based geomatics software was not up to the task; this
ended up being a custom server written in C++ and making heavy use of PostgreSQL
and PostGIS for its inner workings.

## Contact Me

Sound good? Curious? Want to discuss any of this some more? You can get ahold of
me at owen.jacobson@grimoire.ca or on [Twitter](https://twitter.com/derspiny).