Welcome to my recollection of the 4 months I spent for summer co-op at Nulogy. The 4 months honestly passed in a blink of an eye, and I had an absolute blast.
As many of you know, the Nulogy office is located in the heart of Queen St West, and being on the 9th floor, it has a vast, uninterrupted view of the downtown core. On the inside, plenty of drinks, snacks, and healthy munchies are provided to ensure that all Nulogites are kept energetic and perky.
My Cross-Functional Team
The department I joined was the Product Development Team, which was split into 3 task forces and App Support. I was part of TF3 - Task Force 3 - which consisted of a cross-section of engineers and product people that formed a balanced, cross-functional team.
Full Stack Internship
So what does a day in the life of a Nulogy Intern look like?
Well, 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 that the full timers normally wouldn't do, like what you might get at a larger company.
Nulogy has been around for 12 years, so you wouldn't call it at startup, but it definitely retains the energy and passion that you typically find in a startup environment. 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 over 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.
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.
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.
Continuous Learning Culture
Nulogy has a culture of continuous 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
At Nulogy, the fun wasn't limited to just the work. There were plenty of social events to attend, including BBQs, games nights, beach days, and pub nights. I must say, it was a lot of fun being a summer co-op in particular.
When we stopped having to support IE6 for all of our clients, we did the obvious thing to celebrate. Did someone say piñata?
In Summary - A Great Experience
The people at Nulogy were driven, focused, and overall just amazing individuals. I enjoyed working with all of them and am very grateful to them for making my co-op an exceptional learning experience.