September 01, 2014

My Internship with Nulogy

Here’s my recollection of my summer co-op at Nulogy. It’s amazing how fast 4 months passed.

Where I Worked

Very beautiful office and a nice view of Toronto too. Drinks, trail mix, fruits were often stocked and free to take. Gotta keep the munchies away :).


My Team

The department I joined was the Product Development Team which is split up into 3 task forces, TF1, TF2, TF3, as well as App support.

The task force I joined was called TF3. TF3 is the on boarding task force for new engineers and product people.

Novapack site visit

Full Stack Internship

Software Interns at Nulogy do full stack web development. Interns are given real work and you get the chance to touch code from Day 1. You aren’t assigned intern work or tasks the full timers normally wouldn’t do vs at a larger more corporate company. Nulogy has been around for 11 years so you can’t exactly call it a startup, but it has a startup vibe. The co-founders still work in their respective teams. It’s pretty neat, being able to talk to the CTO or Chief Software Architect during work or lunch. Responsibility wise, they understand you’re an intern so you might need more time to solve the same problems. However, you’re given the freedom to take on more complex features and take on more work if you’d like.

At Nulogy we follow Extreme Programming, (a subset of Agile). This means we do stand ups, 2-week iterations for development cycle, iteration planning, pair programming and retrospectives.

2 week iterations means that at the beginning of the iteration you only plan enough work for 2 weeks. Shorter development cycles like this mean you reflect and adapt much faster. Instead of working on a feature for a long time, only to decide you don’t need it.

Iteration planning

At the end of an iteration there’s a retrospective. Retrospectives let teams reflect on the iteration: what did we did well, what we should keep doing, and what we should stop doing. Retrospectives let people voice their concerns.

I Love Pair Programming

Pair programming is when 2 developers work on a problem together.

I really enjoyed pair programming. Pair programming gives you the chance to learn from someone much more experienced than you. If you were by yourself, you might stumble on a problem and get stuck. Having a pair also keeps you focused whereas if you’re working solo, you can sometimes go off track or get distracted.

I got a lot of mentorship at Nulogy because of pair programming and I wouldn’t have learned as much as I did without it. It’s awesome having a more experienced person just showing what’s a better way to write the test, showing you their workflow or approach to a problem. Things like that are hard to do when you’re starting out, so having a pair definitely helps.

What I Worked On

The key features I was involved in were Job Metrics and Production Picking. Job Metrics is additional information for your manufacturing line that shows the Performance, Efficiency and availability of the line.

Production Picking is the workflow for co-packers when picking subcomponents for producing an item. We did a migration from BackBone and old visuals to AngularJS and new visuals. We also added substitute and optional subcomponents.

Working on these features meant I had to learn a lot of domain knowledge. Supply chain logistics and co-packer workflows were not something I knew a lot about. I often took for granted how the packaged final product ended up at Walmart. Along with that, I learned about real business problems in this industry and worked with my taskforce to solve them.

Being able to see these features go from planned tickets to fully implemented features that customers were using is something I’m very proud to have been a part of.

Learning Culture

Nulogy has a culture of learning. We often had workshops like refactoring, writing clean code, Dreyfus workshop (how to model learning) and much more!

We also do monthly Hack Days. Where you can hack on anything you like. No obligations to have to do work. I worked with another engineer Paul on a Hack Day project called What Got Merged. It was a web app that hooked up with Mingle to display what tickets that have been committed in the dev branch and release branch. The really cool thing about Hack Day is the freedom to experiment and learn.

Fun in the Summer

It’s a lot more fun to be a summer co-op. There were plenty of social events to attend. There were BBQs, game nights, beach days and pub nights.

fun events

When we stopped having to support IE6 for all of our clients, we did the obvious thing to celebrate. Did someone say piñata?

goodbye IE6

Thank You

The people at Nulogy were amazing. Very driven and focused individuals. I enjoyed working with you. Thank you for making my co-op an exceptional learning experience.