Join My Team at IBM

This is a heads up that my team has several developer positions available. The job post is not live yet, but it will be shortly.

If you are interested and you meet the requirements below, feel free to email me at cangiano@ca.ibm.com with the subject “Joining your team“. I will make sure to forward you the link where you can apply as soon as it becomes available.

The eligibility requirements are:

  • You are legally able to work in Canada;
  • You live in, or are willing to move to, Toronto, as the job will be located in Markham, ON.
The IBM Toronto Lab at night
The IBM Toronto Lab at night

As long as you meet those two hard requirements outside of our control, you get to toss your hat in the ring.

Why should you join the team?

Although our team is unabashedly part of IBM, we tend to operate more like a startup within a larger company than your typical team in a mega-corporation.

It’s a fun, chill team of people who collaborate together and get a lot done. We hail from Russia, Italy, Korea, India, Jamaica, Canada, Brazil, China, Peru… you name it.

Our team is mostly a mix of developers and data scientists, though overlap does exist depending on the project. I can proudly say that everyone is brilliant and brings a unique viewpoint and contribution to the team.

Two things I love about the team is that we treat everyone the same, regardless of whether you are an intern who started yesterday or a seasoned member of this group. It’s not a team of “yes people”. Our manager loves nothing more than good counterpoints to his arguments.

I also love that what we do matters. For such a small team, we make a huge contribution to IBM’s overall results. More importantly, we change lives.

We’ll discuss the specifics of what we do with the candidates during the interviews, but for now, suffice it to say that we are focused on helping people build the skills they need to thrive in the 21st century. Data science, AI, and blockchain all very much included.

What kind of technologies do we use?

We are not dogmatic. We have the freedom to use the best tool for the job, no matter what that is. As a result, we end up using some pretty cool tools and open source technologies (we also contribute to open source).

We use SCRUM and, depending on the project, we tend to use Ruby, Python, Elixir, and JavaScript, rather than Java or C#. For JavaScript frameworks, we tend to like Vue, but again we are not dogmatic, and also have a couple of projects in React.

We face some challenging scaling problems that require interesting solutions, so we tend to use state of the art DevOps tools and containers whenever possible (e.g., Docker, Rancher, OpenShift, etc).

The interview process

Unlike certain other mega-corporations, you are not going to go through 6 rounds of gruesome interviews to land a job.

You’ll formally apply at the link that will be provided to you. Your resume will be considered along with those of the other candidates who also applied. The most promising candidates will be invited to take part in a first technical interview with myself.

Those who fare well will proceed to a second interview with me and my manager (or possibly someone else from the team). Both interviews are essentially conversations. The first one is technical in nature, the second one is more business-oriented (to evaluate interests, ambitions, learn more about what we do, ask us questions, etc).

The good news is that you can put away your algorithms and data structures book. I haven’t asked tough algorithmic questions in almost a decade. I found that technical conversations about past projects with more open-ended questions are a better gauge for talent. Either that or I have been extremely lucky, because out of the dozens of people I have selected over the years, there were virtually no disappointments.

Beside explaining code you might have on GitHub, you can expect questions like, “Could you explain the difference between a GET and a POST request?” or “What’s the difference between an inner and outer join?”.

Instead of asking you what the 413 HTTP response code is for, I might ask you to tell me what the various classes of HTTP response codes are for (i.e., 100s, 200s, 300s, 400s, and 500s).

You get the idea. If the candidate is more experienced, the conversation can then go deeper and the questions can naturally become more challenging. But I’m not going to ask you to write down Dijkstra’s algorithm on a whiteboard.

Who we are looking for

As I said in the beginning, we have a few positions available and quite a bit of flexibility. We are looking for people who can program, solve problems, and get stuff done, rather than specific languages or a set number of years of experience. We have room for talented juniors as well as experienced seniors.

Full-stack skills are welcome, but people who specialize only on frontend, backend, mobile development, data science, or DevOps are more than welcome to apply as well.

Email me if you qualify and are interested in this position. I look forward to hearing from you.

Get more stuff like this

Subscribe to my mailing list to receive similar updates about programming.

Thank you for subscribing. Please check your email to confirm your subscription.

Something went wrong.

One Response

  1. Antonio Cangiano September 4, 2019

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.