I love programming, human psychology, snowboarding and motorcycles. My favourites are: Hello Internet podcast, Cautionary Tales podcast, and Mr. Nobody movie. I live in Melbourne, Australia and you can find me on Internet:
Sep 2021 - now
Authentication project: Lead a team of 4 to improve the authentication layer and introduce token authentication. The project included technical design, token authentication, conversion of REST endpoints to GraphQL, penetration testing, gradual user rollout.
Back-end: Challenging and driving changes to code conventions and architecture. Migrated app to ruby 2.7 and ruby 3.0. Migrated app from manual
requires to Zeitwerk.
Hosting Ruby meetings: Driving improvements in the engineering culture by hosting weekly ruby meetings.
Documentation guild: Started initiative to strengthen documentation culture to support team's growth. I reviewed and cleaned up existing documentation, introduced new conventions, set up an onboarding template and restructured engineering handbook.
Social meetings: Hosted social meetings to improve remote and social culture. Brought back Engineering Happy Hour. Trialled new TIPS meeting format (technology, ideas, person, social). Organised monthly Melbourne catchup.
Used: Rails 6, heroku, aws, confluence, jira, graphql
Staff Software Engineer
Jun 2021 - Sep 2021
During my time I shipped Tasker Listing feature on landing pages with A/B test. I decided to leave after 3 months as it wasn't a good fit for me.
Used: React, typescript, aws, rails, jira
Jun 2018 - May 2021
I joined Split at the product adoption phase as a first full time employee. During my employment the company grew by 9 times in 3 years (from 5 to 45 people). While my title always stayed the same as Lead Developer, I carried out many roles. There are three distinct phases:
A lot has happened in three years, below is a quick reminder to myself of my contributions:
Meetings: speaker equality, rough consensus, retro, this + last format, punctuality, Discord, 1-on-1s, shaping, grooming, watercooler, donut time.
Development: build, maintain and produce core functionalities and architecture.
Delivery: ShapeUp, kanban, open source contributions, 20% time, conventions guide, product & tech demos, product & team roadmaps, OKRs.
Mentoring: feedback form, retros, shuhari onboarding, comprehensive PR review, 1-on-1s, pairing culture, what + why.
Team: roles over titles, direct responsible individual principle, team values, offline discussions, watercooler, brags, donut time, burger time, closing the meeting (qotw), skill matrix, quick budget, autonomy and flexibility, bookshelf, hiring, onboarding.
New tools: Asana, Discourse, Discord.
Used: Event sourcing, rails 5-6, stimulus.js, webpack, AWS, blue-green deployments, 100% test coverage
Mar 2017 – Jun 2018
During my time at Car Next Door I took part in many initiatives: introduced new architecture, wrote a workflow system, reduced test time from 14 to 4 minutes, wrote API, added analytics platform, optimised company processes.
CTO, Lead Developer
Nov 2016 – Mar 2017
Ride Next Door was a subsidiary product of Car Next Door. I worked in a small team to execute on an idea and deliver the product to the market. It was a bus shuttle service which was designed for commuters. If you are from the US, it was a Chariot's clone.
After joining the company 3.5 months later we launched the service. There were four of us: developer (myself), designer, operations lead and director. For a small and new team we delivered the MVP to the market rapidly. I developed hybrid mobile apps, backend api and web driver interface. Technology to list: vue.js, ionic, angular.js, Rails, web sockets, analytics (keen.io).
Co-Founder / CTO
Dec 2013 – Oct 2016
Opensight is a joint venture where I performed the CTO role. We developed an engagement platform for social networks to reward content creation, measure and encourage word of mouth advertising. I was responsible for the system architecture, team management, business and product development.
Used: Rails 4, ember.js, react.js, redis, elasticsearch, postgres, mongodb, hybrid mobile apps, ionic, aws
Dec 2012 – Dec 2013
Remote, Brisbane, Australia
Worked in a small medical startup in Brisbane. I maintained and enhanced their web application.
Used: Rails 3 and others
Dec 2012 – May 2013
Remote, Brisbane, Australia
A short contract to maintain an existing Rails application.
Used: Rails 3 and others
Jul 2012 – Oct 2012
Joined an existing project as a contractor to upgrade and develop new functionality. It was an interesting experience to work on a web analytics tool as a single developer.
Used: Rails 3, elasticsearch, mongodb, sinatra, rspec, devise, cancan, slim, delayed_job, fb_graph, heroku
Jan 2012 – Jul 2012
Rails front-end and back-end developer for a number of different applications, working in a scrum team.
Used: Rails 1, 2 and 3, sinatra, devise, miniTest, capistrano, delayed_job, MySql, statsd, RabbitMQ
Jan 2011 – Jan 2012
Maintenance, support and enhancement of enterprise software (Supply Chain module).
Used: VisualStudio 2008, VB.Net, MS SQL 2008, TFS
Nov 2009 – Jan 2011
Northgate, Brisbane, Australia
I was the main developer of a new system for the business, which merges the functionality of previous solutions into one software, covering the entire business process. My duties include close interaction with a client, software and database design, as well as final deployment and integration.
Skills: Project planning, bug tracker, system and database design, while using MS SQL 2008, Visual Studio 2008/2010, C# .Net, LINQ-to-SQL, Entity Framework
Bachelor of Information Technology, Software design
2007 – 2010
2006 - 2006
Feb 2019 - now
Tribes Club is a service for managing online communities and facilitating meetings based on governing principles.
Nov 2019 - Feb 2020
Ruby meetup with an attempt at philosophical discussion around what makes good code. Stopped due to Coronavirus.
Jul 2016 - Jun 2019
Extensions to active_interaction gem.
Jun 2016 - Jun 2018
This library is a summary of my experience over the years. It addresses the increasing complexity of big Rails applications. It introduces new architecture which brings a lot of flexibility to the front-end implementation. Improving performance is one of the big benefits.
Used: Rails internals, perceived performance, turbolinks, content streaming, ssi
Committee general member
Dec 2016 - Dec 2017
During my term I consolidated all documentation, launched RubyDownUnder forum, participated in the website redesign project and introduced name tags to all ruby meet-ups in Australia.
Feb 2015 - Dec 2015
Web application packaged as a Mac app to send online video to airplay compatible devices like AppleTV.
Used: traveling ruby, cuba, sinatra, rails 4, vagrant
Sep 2012 – Jun 2014
In the world with the increasing number of news and blogs, it’s important to filter out the noise. Storyline offers a new way to browse and discover new information on the web.
Used: D3.js, ember.js, rails 3, jQuery
Aug 2011 – Jun 2014
TopicRay is an online discussion and collaboration tool, which provides the ability to have multi-threaded conversations in real-time.
Used: Rails 3, heroku, D3.js, backbone.js, ocanvas, websockets, jQuery
Jun 2012 - Oct 2012
Startup to centralise information for startups in Australia.
Used: Rails 3, cancan, dragonfly, slim