Hey! I am

David Peterson!

I'm a
Leader. Manager. Mentor. Senior Developer. Problem Solver. Marketer.

Based close to Melbourne, Australia, I am a people leader, technical leadership expert, and engineer at heart with a dollop of internet marketing.

I'm looking for a fully remote, full time role in any Australian time zone.

David Peterson
animation shape
David Peterson

About Me

I was self employed from 2000 to 2021 and I am always looking for new challenges. I understand there are many forces pulling on a software project such as feature creep, cost and time pressures. I know how to lead engineers to obtain a good balance while writing maintainable, quality code.

With my 'customer first' attitude, I provide extensive experience within both technical and marketing spheres. Because I've run my own saas, consulting and hosting businesses, I have a profound and practical understanding of technical expertise, complemented by strong skills in leadership, team dynamics, project execution, and effective communication.

I've been working remotely from my home office since 2006. I feel extremely thankful that I can work every day in a field that I love

Interests

Outside of work, I enjoy working on various hobby projects often involving some combination of spending time with my family, music, home automation, embedded hardware, AI, caravanning, reading and gaming.

Key Competencies

Key Qualifications

  • Experienced technical leader, both as principal/staff software engineer and engineering manager.
  • 13+ years experience managing others.
  • 25+ years of software development experience.
  • Mentoring, coaching, and teaching others throughout my career.
  • Experienced at driving large cross-team engineering efforts.

Skills

Principal Engineer

  • Spearheaded design and execution of key projects between many cross functional teams.
  • Can investigate complex problems, identify potential solutions, and implement risk management strategies for unknowns.
  • Collaborated with multiple stakeholders including engineering, product, and security to streamline requirements and resolve challenges.
  • Understands the broader business context in which the team operates. Makes informed decisions that align with the overall goals and objectives of the organization.
  • Provided mentorship to engineers, enhancing code skills and professional development opportunities.
  • Strong written and verbal communication skills, experienced presenter.

Software Architecture

  • Expert in both high-level and detailed software design.
  • Applied design patterns effectively in projects.
  • Developed comprehensive software specifications.
  • Skilled in presenting and discussing design strategies with management and team members.
  • Working with customers and problem-solving on their behalf.

Software Development

  • Polyglot developer with experience in Procedural, Declarative, Object Oriented and Functional styles
  • Proficient in programming languages including Ruby, Elixir, Typescript, PHP, Python, Elm and Go.
  • Test Driven Development, CI/CD, Containerisation, Secure coding practices and security testing
  • Developed web services and applications at scale.
  • Familiar with cloud technologies like AWS, Azure, and Google Cloud.

Management

  • Led teams up to 14 members, managing performance at both individual and team levels.
  • Involved in recruitment processes including hiring, performance evaluation and firing.
  • Knowledgeable in agile, software development life cycle and project management methodologies.
  • Coordinating between product, engineering, science, and UX teams.
  • Skilled in project planning, including time and resource estimation.
  • Software vendor evaluation, testing, and selection.

Technical Skills

Languages

TypeScript, JavaScript, Ruby, Elixir, Python, PHP, Perl, Go and Elm

Automated Testing

TDD with Jest, Mocha, Rspec. Integrated tests with Cypress

Frameworks

React, Rails, Phoenix, Vue, Wordpress, GraphQL

Databases

PostgreSQL, MySQL, SQL Server, Redis

Distributed Systems

Experience with Microservices, Concurrency and Threading, Containerisation and Orchestration, Monitoring, DevOps, Security and Encryption, Load Balancing, Event Streaming, Message Queueing and Performance Tuning.

Front-end Web Development

Webpack, npm, Yarn, HTML, CSS, Sass, JamStack, responsive design

Preferred developer tools

Linux, VSCode, Vim, Tmux, Docker, Dracula Pro colour scheme.

Resume

Experience

Jun 2023 to Dec 2023

Principal Engineer

Dash Pty Ltd

Dash purchased Paradigm and the software I helped to create. They offered me an opportunity to continue working on the project I had started, and additionally create an overall technical direction for the company.

When I joined the company, some parts perceived themselves as established, but the focus remained on quick results over maintainable code. This situation, highlighting a mix of startup agility and evolving processes, eventually led me to realize that my commitment to sustainable development practices was not fully compatible with the company's current operational approach.

Key Achievements
  • Led a team of experienced developers in completing new feature development, significantly advancing the company's product offerings.
  • Implemented agile methodologies, transitioning the team to Kanban for improved process efficiency and project tracking.
  • Instituted metrics to analyse time allocation, optimizing resource management and enhancing project outcomes.
  • Collaborated cross-functionally with product, QA, and engineering teams to prioritize and estimate new development projects, aligning technical goals with business objectives.
  • Restored work-life balance by addressing underestimation issues, reducing overtime, and improving team morale.
  • Contributed individually and mentored team members, fostering a culture of continuous learning and professional growth.
  • Played a key role in shaping the company’s future technical direction through strategic team collaboration.
  • Successfully integrated engineering tasks into the overall schedule, ensuring their timely completion.
  • Initiated inter-team meetings to synchronize objectives across departments.
  • Started "Lunch and Learn" sessions, encouraging knowledge sharing and skill development among engineers.
Oct 2021 to Jun 2023

Tech Lead

MyXplor Pty Ltd - Education

After 7 months as a Senior Software Engineer, Xplor promoted me to a Tech Lead role. In this role, I have again put my extensive people and project management skills into practice.

"In fact, so good we decided to put him in charge" - Sep 2021 quarterly assessment

Key Achievements
  • Led and managed two cross-functional teams with 14 developers, consisting of Elixir, React, iOS, and Android engineers in multiple countries.
  • Delivered the highest visibility part of highest priority project for the company and released many medium/large features on mobile apps on time.
  • Successfully led and coordinated efforts among four distinct teams, integrating their contributions to develop a key security feature for Xplor's largest client.
  • Assigned appropriate tasks, set priorities, and mentored junior, mid, and senior engineers to ensure timely delivery of features.
  • Communicated regularly with other departments in the business to ensure smooth data flow between backend office childcare systems and consumer-facing apps.
  • Created technical and business cases for initiatives I initiated to improve workflow and reduce development time.
  • Estimated projects from ideation through to development and post-release tasks, ensuring efficient demand management and scheduling of features.
  • Interacted with business leads for a better understanding of features under development. Acted as a technical liaison with major corporate customers.
  • Used Agile processes and released often using CI. Simplified CI/CD workflow to aim for no downtime deployments during business hours.
  • Helped shape technical policy in teams and the wider Engineering group. Nurtured a culture of automated testing to minimize regressions in releases.
  • Presented to Xplor customers to promote the company's software. Organised internal Lunch and Learns to share technical knowledge.
  • Detected and triaged production issues and ran Sprint Estimation, Planning, and Retrospective sessions with my team and for other teams in the company.
  • Directly tracked team velocity and sprint/release progress to ensure timely delivery of features.
  • Hired many engineers at various skill levels to build a strong and talented team.
  • Utilised my multimedia experience to create showcase videos for new features.
Mar 2021 to Sep 2021

Senior Software Engineer

MyXplor Pty Ltd - Education

Xplor’s vision is to relentlessly make education great by providing software to childcare centres that links staff to children's parents.

I was hired to be part of, and to mentor the Elixir and React team within Xplor. I helped code new features for Xplor's premiere apps, Home and Playground using Elixir, React, Typescript and GraphQL.

We use Agile principles and cross functional teams to continuously deliver high quality features.

Key Achievements
  • Mentored and guided junior members of the Elixir and React team
  • Designed database schemas and APIs for upcoming features, ensuring technical decisions were appropriate
  • Worked on many features using Elixir, React, Typescript, and GraphQL, continuously delivering high quality features following Agile principles
  • Refactored large parts of the code (backed by tests), improving code quality and maintainability
  • Updated and improved integration tests, ensuring robustness and reliability of the system
  • Liaised with outside API providers to ingest data, maintaining good relationships and efficient data exchange
  • Ran workshops in best coding practices, helping the team to continuously improve their skills and knowledge
  • Acted as relief manager for the cross-functional teams, ensuring smooth operation and communication between teams
  • Offered deep technical insights and questioned the status quo in constructive ways, contributing to the continuous improvement of the team's technical excellence.

Playground

Internal Software to link Educators with Parents.

React/Typescript frontend Elixir backend GraphQL Postgres AWS Technologies including Terraform

Home App

Mobile app provided free to parents of children in childcare.

2017 to Feb 2021

Lead Developer

Paradigm Global Solutions

I worked as a fully remote lead developer using Ruby on Rails in the FinTech industry.

Key Achievements
  • Successfully led the development of greenfield projects in the FinTech industry using Ruby on Rails and Agile principles.
  • Led the development of a new trading platform for a FinTech startup, resulting in a 25% increase in trading volume within the first month of release.
  • Collaborated with the CEO and other stakeholders to define project requirements and ensure timely delivery of features.
  • Provided consulting and programming services to FinTech industry clients, delivering high-quality and fault-tolerant systems.
  • Designed and implemented a customer portal for Allan Gray that provides a financial information dashboard and the ability to transact shares and managed funds, resulting in a 15% increase in online transactions.
  • Successfully passed multiple penetration tests for the system, demonstrating its high level of security and fault tolerance.
  • Maintained a clean and maintainable codebase through the use of TDD and refactoring, enabling future features and enhancements to be easily added.
  • Refactored a complex payments processing system, reducing its complexity by 50% and improving its maintainability, resulting in a 30% reduction in development time for future enhancements.
  • Consistently wrote and maintained automated tests for all features, resulting in a significant reduction in the number of bugs and increased confidence in code changes.

Neo

Internal FinTech site aggregating investor managed fund holdings.

Ruby on Rails Vue and Typescript Postgres GraphQL AWS EC2

Allan Gray

Portal providing dashboard data and linking Allan Gray Customers to stock management.

Ruby on Rails Postgres (Aurora) AWS (Terraform)

2017-2019

Mentor

Firehose Project

I discovered my love of mentoring in 2017. I joined The Firehose Project (now part of Trilogy Education) as a mentor in their coding program. The role entailed helping students who were learning programming in our weekly Zoom meetings. I enjoyed watching the students succeed, and it’s a great feeling when you see them do well.

2006 to 2023

Owner - Digital Photo Secrets

In 2006, I started creating new online businesses from my hobbies. First was Digital Photo Secrets, giving away free photography tips and selling ebooks and courses I created for sale online.

This website was self-running and used Internet Marketing techniques to soft-sell my products while giving away lots of valuable information. Over 700,000 readers signed up to my weekly newsletter and free tips. Over 10,000 customers purchased my products.

I have hired 7 remote part time contractors from all around the world (England, South Africa and the USA) to help run the site. During this time, I open-sourced the Shutterstock (photo library) API wrapper I created.

Due to the market moving away from separate digital cameras to cameras on phones, I closed the site in 2023. The content can still be viewed through the Wayback Machine

Digital Photo Secrets

Free Photography Tips, EBooks and Videos.

Ruby and Sinatra Postfix AWS EC2 Internet Marketing

2007 to 2018

Owner - World of Warcraft Websites

While recovering from illness, I started raiding in World of Warcraft. I wanted to know what the most popular class talents were for my alt toons, so I built a website that scraped the Blizzard Armory website and summarized this data. The scanner and site were written in Ruby/Sinatra and constantly summarised over 30 million toons and 500 thousand guilds.

I open-sourced the wrapper I wrote to the WoW API. Ultimately the shrinking player-base of World of Warcraft, and the large cost of servers to call and summarize the WoW API meant that I could no longer afford to keep running these sites, so I shut them down in 2018.

GuildOx

Warcraft-based Guild and Toon progression. The site is no longer live, but can be viewed through the Wayback Machine

Ruby and Sinatra Perl Postfix Blizzard's API AWS EC2

Wow Popular

Warcraft-based site ranking specs, gear and talents. The site is no longer live, but can be viewed through the Wayback Machine

Ruby and Sinatra Mysql Dedicated server

Education

Bachelor in Science (Computer Science)

Monash University

I taught myself programming during high school so graduating from Uni was easy. While the programming skills I learned are now out-of-date, I did learn the value of working in a team, and how to interpret a client's wishes.

Internet Marketing

Self Taught

I have studied Internet Marketing for over 15 years. I've tried it all from hard-sell and soft-sell (which works better for me) to changing the UI to increase conversions. Who knew the color Orange helps people to purchase! My two most effective lessons were: Dark UI patterns are great for marketing but bad for users; learning the importance of tracking everything.

Technical Writing

Self Taught

Early in my career, I was the editor for an in-print technical newsletter, and wrote many how-to articles. I have often been praised for my ability to simply explain complex concepts. In the last few years, I have written hundreds of articles for my Photography website. I've received hundreds of glowing testimonials from customers I have helped.

Hire Me

I'm available! How can I help you?

Hire Me

Contact Me

Location

Near Melbourne, Australia

LinkedIn

dippysan

GitHub

dippysan