May 06, 2018
So it turns out I’m pretty bad at releasing content. ¯\_(ツ)_/¯.
Here’s an edited/rehash of a blog post I wrote on paper on January 1.
I got to implement a data pipeline for legacy data-generating devices in Python, and really impress some “Important People” about how effective a consultant can be, with a bit of Python knowledge.
Implemented a metadata transformation tool for a historic (30 year old) CMS to allow the sale of an insurance business between huge multinational corporations. This was a great project for me, despite the most advanced technology involved being PowerShell and Python. I learned a lot about talking to non-technical business users, and the fact that no one really cares what technology you use to solve a problem - just solve that problem scalably.
Designed and implemented a snowflake schema for a real-time retail analytics dashboard. This was great fun, because we used Apache NiFi for things we shouldn’t have, and we ended up having to use NiFi to orchestrate python scripts to transform raw data into a snowflake schema. I also learned a lot about requirements gathering - or rather: MAKING SURE THE CLIENT KNOWS WHAT THEY WANT. We spent something like 3 months between 2 and 3 consultants on-site, just manipulating data, making it fit into a schema, and building dashboards. No one stopped to get the client to sign off on what questions this dashboard was supposed to answer.
From September until the New Year’s Eve was awesome. I worked in a mix of a product team, and a consulting-product focused team with some of the smartest engineers I had ever met.
I got to get my hands dirty building projects with React, Redux, Apollo, Relay, and worked with a whole bunch of frameworks and build tools I had only ever experimented with on my side-projects
Big 4 Consulting has its own objectives, and they’re not compatible with the classic Software Engineering objectives of Quality and Maintainability.
As such, it is a terrible place to learn and grow as a software engineer, leading me to go off in search of greener pastures after only 3 months on the job. It took me about 4 months to find a company in Sydney where engineering wasn’t an afterthought.
Funnily enough, PowerShell scripting.
Picking up on red flags in the interview process. (I noticed a few things “off” about business leaders in the process, like being incapable of taking feedback - but ignored them)
Success in consulting (at a big firm) is purely driven by how well you network at the start before your first project/engagement. Subsequent engagements can be networked into, but once you pull off that first engagement, everyone will have an opinion on your performance, which will affect whether you get the next sexy data analytics project, or some documentation piece at a federal government engagement.
If you'd like more tips on how to improve your frontend, you can follow me on Twitter as I regularly post articles there.