Reflections on Workplace Hackathons
I recently participated in a workplace hackathon.
Here are some reflections on the experience:
- It’s hard to completely step away from day-to-day work for 2 days. Release schedules set long ago don’t change, we choose to keep customer facing meetings, incidents still need to get addressed
- Conversely, much can be deferred (many emails can wait!), and a lot can still be accomplished in two part days
- Two days of development and a 7 minute presentation are great constraints which force many decisions
It’s amazing how much you can get done when:
- We start “fresh”, no legacy code, no figuring out what a predecessor was trying to do or why something was built a given way
- We pick our preferred tools and infrastructure
There is such a big gap between a Proof of Concept and working production code:
- We didn’t worry about production readiness (performance, scalability, stability, security)
- We focus on prototyping ideas, as opposed to working on functional integration of all systems
- We only focussed on the main flow, we didn’t worry about handling less-used flows or exception handling
Even without regular constraints, some things are still hard:
- Firewalls make it is challenging to building a project with uses internal systems (even pre-prod environments) and external APIs
- Data projects work best with production data, which is rarely possible. It would be really cool to have a legal and security teams participate to make quick decisions on what we can and can’t do with production data for a demo.
- For someone who’s not a developer like myself - this is fun opportunity to write some code - it’s fun to build
- It’s also fun to play with new tools - last year, we played around with the Amazon Alexa API - when else would we set aside time to do this?
- It’s a great opportunity to present to an engaged audience
- The event generates such a positive atmosphere
- The competition and feedback is immediate, which is awesome
- A working prototype that can be demonstrated in minutes is critical.