28 October 2023

Gregory McIntyre

Mobile
+61410276442
Location
Sydney, Australia

Career Objective

I create useful software with teams of skilled professionals. It's the bread and butter stuff of my career and it doesn't seem to get old. I'd like to continue to do that for the foreseeable future.

I also love teaching, tutoring, mentoring and instructing. I've been involved at Rails Camp, Elixir Camp, CampJS, Rails Girls, InstallFest, Development Hub, Python Study Group, C/C++ Study Group, and General Assembly.

I am not available to live anywhere except Sydney as I have a young family, however I am experienced at working remotely.

Skills

I've worn various job hats in small businesses. Programmer, release manager, trainer, project manager, systems administrator, software architect, lead developer, company secretary, director, adult education instructor.

It has been great fun trying my hand at all these different roles, and now I feel old, thanks.

Software Development

Coding was my feeder passion. Late nights staring at a glowing screen, taking joy in the touch of creation. Since then I've consolidated my skill through university training, corporate training, team work, and constant self education. I practice writing code that is extremely clear, consistent with what's around it, type checked and automatically tested, reliable, and maintainable.

Instruction and Mentoring

Senior developer roles involve this skill yet it's never formally trained, so I took advantage of training and practice at General Assembly to further develop myself in this area. Boy did I learn a lot. It was very humbling. I improved a lot as measured by my NPS score.

Management and Team Building

I've had some experience on and off in this challenging role throughout my career. As I grow more experienced and confident over the years, I find the prospect of nurturing and motivating a team of clever cookies more appealing, and one day I know I will take this career path.

Solutions Design, Software Architecture and UX Design

I've helped architect telephone billing systems, media rich web applications, content management systems, office control systems and social mobile applications. I've jointly conducted and recorded user interviews. I love meeting customers who benefit from the software I write, before and after they use it. I strive for consensus and clarity, clear priorities, and decision making that is deeply grounded, empirical and pragmatic, and iterative processes that produce good tools for the people who have to use them.

Tools of the Trade

Ruby on Rails

I loved Ruby when I first found it around 2001, and then Rails came along. Hello career. Whipping up web sites, APIs and static sites, spamming APIs, munging data, solving problems. The thing I like best about Ruby is how quickly you reach a solution to a problem you're having. It's still the best "problem solving" language I know. It works so well as glue between other systems, a shell script replacement, or a workhorse for processing text or other data.

Elixir, Phoenix, LiveView

A lot of programmers are picking up Elixir because it's got a great syntax, immutable data structures, pattern matching, mature tools, and attractive performance characteristics for web development. If I started a new web service tomorrow, I'd start it in Elixir and Phoenix without any reservations. I've used it professionally since 2017. It is hard to convey the sense of productivity and peace achievable with this technology. All your tests run at the same time every few seconds as you code. You realise you haven't had a bug report in months. Your supervision tree restarts the one thing that broke and everything else still works like clockwork. You never see a latency spike due to garbage collection. It feels so good. It feels like web applications are a solved problem, finally.

Frontend JavaScript

ECMAScript, TypeScript, esbuild, React, Vue, ESLint, Redux, D3, Three.js, Mapbox, Leaflet, Google Maps. Two great problems in programming: cache invalidation and setting up a new JavaScript project, amirite.

Backend JavaScript

Node, Express, Nyc/c8, Sequelize, PM2, Keystone, Next.js, SSR components.

HTML

HTML5, CSS, SVG, SASS, vendor prefixes, progressive enhancement, mobile first, LiveReload, responsive designs, Android and Mobile Safari, virtual machines, BrowserStack.

Photoshop

Layers, masks, drop shadow and emboss, pixel alignment, save for web and devices, weird arcane keyboard shortcuts.

XCode

Interface builder, breakpoints, view controllers, transitions, ARC, developer certificates. Drag and drop that library in there and statically link it.

C/C++

Boost, googletest, the rule of three, const correctness, resource management, stack unwinding bugs, the ABI, compile to assembler and stare at it in awe.

Agile and Lean

Empowered little teams, red-green-refactor cycles, incrementally releasing to the glow of a pretty green build light.

Other things used professionally: Java, Python, Perl, assembly, Git, Bash, Vim, Emacs, Spacemacs, MS Code, too many things to list really.

Employment

November 2022 to present

Senior Software Engineer at Nearmap Pty Ltd

I work in a team that provides tools for planning aerial surveys and tracking aeroplanes and cameras. I work with Ruby, TypeScript, React, Next.js, GraphQL, Python, Dash, Pandas, JavaScript, HTML/CSS, C++, PostgreSQL, PL/pgSQL, and Elixir.

May 2017 to November 2022

Senior Developer at 3P Learning nee Blake eLearning

I worked with a large service-oriented architecture in a professional setting, keeping popular educational web sites such as Reading Eggs running smoothly and expanding, and adding new products and services to the company's catalogue. I coded Elixir, Ruby, Bash, JavaScript, TypeScript, and HTML/CSS.

February 2016 to October 2016

Senior Developer at Small Multiples

I worked at a small Sydney agency specialising in data visualisation. I worked on projects for Transport NSW, The Australian, The Department of Education and Training among others. I used Node, ES6, Express, Ava, Mocha, D3, Leaflet, Google Maps, Mapbox, React, Redux, PM2 and Keystone DMS. I wrote and managed Ansible based AWS deployments and some Git based Heroku ones too.

September 2015 to December 2015

Technical Instructor at General Assembly

I worked full time for three months teaching a class of adults web development from scratch. We used JavaScript and Ruby and included a lot of group projects. My time was spent explaining tricky concepts to people, lesson planning, and assisting, advising and mentoring students.

July 2015

Contracted Developer at Shippit Pty Ltd

I learned how barcodes and data matrices work and the Ruby and C libraries that produce them. I liaised with AusPost to implement parcel labelling to meet their requirements. I helped advise the start up business on hiring and technology. I built out some Rails administrative features.

October 2012 to February 2015

Software Engineer at Studiosity nee YourTutor

I helped stabilise and expand a web based online tutoring platform for school students. It's pretty cool that it all works straight out of a web site with live chat and interactive drawing, even all the way back in time to IE8. I used a lot of AWS, Ansible, Socket.IO, EventMachine, Redis, CoffeeScript and of course Rails. I did some design and UX such as interviewing clients, watching students use iPads, writing up nice summaries, sketching and presenting.

March 2012 to October 2012

Developer at Protein One

I helped build WordPress sites for small businesses and an interactive children's lit application for iOS called Dandelion.

November 2011 to March 2012

Director at We Are Brand New

I teamed up with a few friends to start a business that specialises in building early stage ideas for interactive web based products, from concept through to release candidates, including UX, IA, branding, design, rapid prototyping and iterative improvement. I learned about client liaison, business structuring, accounting, branding, marketing, business planning, Sencha Touch, Backbone.js, Spine, CoffeeScript and PhoneGap.

February 2010 to October 2011

Senior Software Developer for REA Group

I helped interview and build an agile team and lead it to produce HubStudio, a real estate agency focused white labelled DIY web site CMS written in Ruby on Rails. ThoughtWorkers and some fantastic REA developers from Melbourne trained us on a complete agile software development process including card walls, pair programming, red-green-refactor cycles, CI servers, BDD and incremental delivery.

September 2009 to October 2009

Software Developer for Snepo Research

Ruby on Rails, Facebook/Bebo API integration

May 2005 to April 2009

Software Engineer for TileFile

Python, Rails, ActionScript, interviewing and managing the team

March 2004 to March 2005

Software Engineer for Symbio Networks

PHP, Java, Ruby, C, WSDL, Bash, SQL, dependency build tools

Feb 2003 to June 2003

Lab Supervisor for UNSW CSE

C++, Python, Ruby

Education

1999 to 2004

Bachelor of Engineering (Software Engineering)

I started at ANU and finished at UNSW with second class honours first division (whatever that means). I loved AI, distributed systems, 3D graphics and algorithms.

1997 to 1998

Year 12 Certificate, Narrabundah College, ACT

University Admission Index 97.8, Best in Computing Studies.

Interests

I love spending time with my kids, hacking on my own code, learning languages, roller skating, going to drama classes, reading sometimes awful self help books, drawing pictures of people, writing poetry and stories while sitting around a fireplace, playing computer games that require perseverance and skill, life drawing, hanging out in swamps, commuting via bicycle, helping my resident PhD student with her R, trying to be witty, and using Oxford commas.

Praise

Greg is extremely capable and knowledgeable. He has a deep understanding of many of our more complex systems, and is very good at thinking about difficult architectural problems and ways that we could be doing things better and smarter.

Greg produces work of an exceptionally high standard. He is passionate about code quality, and about keeping systems as simple as possible and easy to understand for others (or our future selves). I always know that if Greg is working on something, it is in safe hands.

Greg is friendly and approachable. He is great at explaining things to others and is a pleasure to collaborate with on projects.

Alastair Pharo, Engineering Team Lead and Manager at 3P Learning, 2022

Greg is the best developer I have worked with.

Sharon Gray, Production Manager, 2012

I worked in Greg's team while he was the lead developer for the server development team. Greg was very approachable, open to discussion, passionate about technology, and I was impressed with his knowledge and intelligence. He will be an asset to any technology company.

Fiona Lim, Senior Programmer, 2010

Greg's attention to detail makes him an excellent addition to any team. I was always impressed with his ideas and code, making my life easier as a sysad to release the software. His extra effort to ensure code made it to production bug free didn't go unnoticed.

Jenny Gordon, Senior Systems Administrator, 2010

Greg was the one who got me started on one of the most important tools I employ nowadays on most of my jobs: Ruby. Sharing insights with him early when I was still learning the language pushed me forward to learn more.

Apart from that, he's an excellent person to work with. As his co-worker I had a really enjoyable time, at times cooperating, and at times reporting to Greg directly.

Julio Cesar Ody, Senior Systems Engineer, 2010

Greg is an exceptional Software Engineer and Manager. He is smart, open to new ideas and technologies and has a talent for understanding issues and requirements and stating them in concise and clear language.

Greg's code is wonderful. He is a programmer who knows his trade and produces software of outstanding quality. Greg was a pleasure to work with and I would thoroughly recommend him.

Sara Falamaki, Senior Software Engineer, 2010

While working with Greg I was ever impressed with his approach to software development. Beyond being one of the sharpest engineers I have met, Greg was always able to convey complex problems to any audience. He always demonstrated great patience with his peers and was an excellent mentor to those around him.

Simon Rodwell, Lead Frontend Developer, 2010

References

Alastair Pharo

Relationship
Engineering Team Lead and Manager at 3P Learning
Contact

Andrea Lau

Relationship
Co-Founder and Manager at Small Multiples
Contact

Gigi Tsang

Relationship
Education Program Producer at General Assembly
Email
Phone
+61404295729