Taro Logo

Software Engineer Interview Experience - Canada

April 1, 2016
Neutral ExperienceNo Offer

Process

I applied for one of DO's Software Engineer positions through their website earlier this year. HR got in touch with me a few days later. The preliminary HR screening was easy and friendly with a few "Tell me a bit about yourself", "Why are you considering DO?" questions. After that they sent me a coding exercise to work on.

The exercise itself isn't too difficult. I spent about two hours every evening on it, and got it completed within a week. I was very hopeful about it since I felt like my code satisfied all the given constraints, passed their test harness, demonstrated advanced understanding of the Go programming language, provided good test coverage, and included the bonus features. The review process took a lot longer than expected. I did two follow-ups with HR after the second and third-and-half week marks. Another week passed after my last follow-up email (with no responses), then I was notified that they wouldn't move forward with me because although my code was good with good test coverage, the reviewers felt that I didn't show enough OO design and utilization of custom types.

I was a bit disappointed for that being the only reason for the rejection of my application. While OO is a part of Go, it's not the only part. I demonstrated good understanding of key concepts like channels, wait group, signal handling, race detection, function closures, interfaces, composition and mocks (OO anyone?) in my code. From my experience with Go, unlike Java or Ruby, not everything needs to be a struct or a custom type. The builtin types of string, int, slices, map, channel and functions are usually sufficient for most coding, to avoid over-engineered code.

Questions

I received a coding assignment to write an application that demonstrates understanding of network protocols and data structures, with the following constraints:

  1. Any programming language of my choice; preferably Go or Ruby. I picked Go.
  2. My code must pass the provided integration test harness.
  3. Restricted to standard libraries of the chosen programming language. IOW, no 3rd party frameworks or helper libraries.
  4. Bonus features: Include a Dockerfile. Document design rationale.

Was this helpful?

Interview Statistics

The following metrics were computed from 6 interview experiences for the DigitalOcean Software Engineer role in Canada.

Success Rate

67%
Pass Rate

DigitalOcean's interview process for their Software Engineer roles in Canada is incredibly easy as the vast majority of engineers get an offer after going through it.

Experience Rating

Positive67%
Neutral17%
Negative17%

Candidates reported having very good feelings for DigitalOcean's Software Engineer interview process in Canada.

DigitalOcean Work Experiences