Bodey Baker

Software Engineer

Goal: To challenge myself and contribute as a team to put something in space.

My initial training was in control systems / robotics with a focus on AI and my early work was embedded programming for avionics. Most recently I've been working as a team lead on a front-end team for big data products with the resultant focus on project planning, design and mentoring. Prior to that most of my experience was in data analysis, quickly familiarising myself with technology, prototyping programming services for various (often embedded) platforms with some teaching thrown into the mix.

I love a challenge, seeing each piece completed, learning and teaching.

Key Skills

Languages

10 years experience from university through some of my Cybertech, Seworks and some side projects.
6 years experience, including my current role at Google. My go-to for any quick job especially for prototyping, protocol analysis, data scraping or data analysis.
5 years experience. Both CyberTech and PowerVision had large C++ programming components and PowerVision included guiding other team members.
5 years experience mostly with embedded software for ARM chips but also with MPI C for parallel algorithms.
4 years experience. I have been the team member responsible for MySQL on more than one occasion.
5 years experience mostly for university research or tutoring. I've tended to use Python's matplotlib for other projects.
2 years experience using both Mono and .NET.
6 years at Google was spent implementing and reviewing Typescript code.
7 years experience with Bower, Grunt, JQuery, Bootstrap, Backbone and Node.
I've spent years working with front end development and have often been the go to person for CSS but most of that time the framework abstracts any need for me to have a deep knowledge.
2 years experience but only making light changes to existing code bases.

Platforms

Experience programming a kernel driver, building Linux from scratch, provisioning servers, administering other peoples Ubuntu machines. On embedded systems I've used NuttX and OpenEmbedded.
My preferred platform to work from. I don't know the internals as well as Ubuntu and haven't done any work targeting the platform.
Some work tutoring Android developers and worked six months on a security application targeting the system.
Most of the embedded work I've done has targeted ARM chips. I also did research and built a prototype to modify iOS binaries. I have worked with Stellaris chips using CodeSourcery, modified their boot-loader code and written tasks to run on NuttX.

Frameworks

Six years at Google were spent implementing and reviewing code for the AngularJS and Angular frameworks.

Tools

Used extensively for more most projects I've programmed on outside of Google. Experience with hosting, triggers, branching, merging, filtering and fixing mine or others mistakes.

Techniques

Mostly web-scraping natural websites using Python.
Try changing the size of this resume?
Vagrant, Puppet and Bower are all great tools. For applicable projects I prefer to use these to reduce the amount of time it takes to get from nothing to developing.
I try to automate and test each project I work on but sometimes this happens in stages. I'm quite familiar with Blaze, Maven and Grunt but have also used Gradle, Ant and Bower. Any project without unit testing is asking for problems. That said, full coverage is nice for a library but not always time effective for all projects.
Most of my work has not been in Agile environments but I prefer to keep documentation as light as possible (but documented), code self documented and the project planned to a realistic horizon with mechanisms in place to allow pivoting.
Used throughout my career including substantial experience with Google's internal tools and Phabricator.

Concepts

A thorough grounding from university in algorithm design, speed and memory use — this has been strengthened in my work since.
After university this has been a topic of interest for me and I experiment with D3 and other libraries.
In early research I parallelized some algorithms. Programs that modify a GUI or database and embedded programs have all required some of these concepts.
University gave a great grounding and it's been useful for optimisations since.
I took every ML and AI unit I could at uni and have since dabbled taking interesting courses as I find them.
Cyber Technology and PowerVision both involved programming and debugging embedded systems both with an operating systems and without.
Cyber Technology and PowerVision both required a deep understanding of protocols built on top of CAN, Ethernet, UART and SPI.

Work Experience

• Took a partially staffed product, improved the test coverage and automated the tasks that had been consuming developers time.
• Team lead for the BigQuery admin UI with five engineers building out data transfer, resource monitoring, capacity management and migration UIs. This work helped converts BigQuery’s 2018 Forester rating of 2.4/5 for its enterprise administration experience to a top competitor in data warehouse enterprise administration.
• Lead of the migration to the newer Angular framework, coordinating 17 engineers work, designing and building the initial prototype to keep BigQuery running while we piecewise migrate the single page app while ensuring high priority launches remain unblocked.
• The main contributor porting the BigQuery data transfer service into the Cloud console. This required quickly learning the new Angular framework, defining requirements, planning milestones and coordinating teammates.
• Part of the initial team that ported and launched BigQuery within the Cloud console and converted it to Typescript.
• Worked as a full stack engineer building a single page app providing statistics and infographics for marketers to better understand customer segments.
• This involved working with the full stack: (AngularJS frontend), Java (Spring Boot) middleware and Java (DropWizard) data layer backed by a Postgres / Greenplum database systems.
• Market research, requirements analysis and initial planning for the software components in a new product.
• Introduced a professional workflow using Phabricator and Git.
• Guidance and training of new engineers and technical skills development.
• Project planning and organization including hiring and interviewing new engineers.
• Extending and adding features to a system consisting of multiple pieces of hardware mostly written in C++.
• Embedded programming on a real time OS with tasks for sensor fusion, control and communication.
• Built an Eclipse plugin for Android projects that encrypts and injects Java byte-code during the ADT build before dex executes.
• Researched methods to encrypt parts of an iOS app tested with a POC that injected and altered ARM instructions in the Macho-O binary. This required research into the Unity platform, build process, objective C runtime and iOS internals.
• Taught English, art and science; planned classes; home room teacher.
• During free time: Wrote a Java program to gather sentiment of Companies using Twitter data; Python and Javascript program to parse natural language from the internet; Studied Startup Engineering at Coursera / Stanford, algorithms, design patterns, responsive design, web applications, DevOps, web scraping, web services and SCRUM / agile methodologies.
• Designed and wrote the firmware and boot loaders for our peripheral devices using C and the Code Sourcery toolchain. This required knowledge of UDP, CAN and reverse engineering of third party bus protocols.
• Prototyped / analysed data in Python and C#.
• Implemented the UI that controls and configures the UAVs using JavaScript & PHP to network with the ground control server.
• Implemented this initial UI prototype in Java.
• Processed data in Python to ensure vehicles met vibration requirements.
• Improved the pattern matching algorithm for brake pad detection using Python.
• Wrote Visual C# Visualisation software to highlight issues in current software.
• Improved Visual C++ program to remove noise from point cloud data.
• Taught English to primary and junior high school students.
• Duties: planning lessons; teaching; communicating with students.
• Skills: teaching; public speaking; motivating; integrating into cultures.
• Visualised the output of log files using Visual Studio with C++.
• Created dynamic libraries for data processing routines in Windows
• Modelled parts for a road rail vehicle using Autodesk Inventor.
• Researched a parallel algorithm to analyse the directional variation of roughness of a rock surface from 3D geometric data using MPI for C eventuating in a paper.
• Studied the feasibility of using Amira to process 3D data sampled from rock samples to analyse their composite structure and visualise the segmented data using a 3D projector for better data exploration.
• Tutored: Modelling and Computing Analysis for Engineers; Mechatronics Systems; Java.
• Required a detailed knowledge of MATLAB, LabVIEW and Java.

Education

Thesis:
Developing a stand alone wireless sensor network for damage detection using the impedance method.
Changed the platform of an active damage detection system from expensive laboratory equipment to an embedded platform that is more applicable to the field. This involved cross-compiling using OpenEmbedded, user and kernel level code, some circuit design and mathematical analysis of sensor readings.
Distinctions:
Algorithms, Software Engineering Design, Object Oriented Programming, Embedded Systems, Robotics and Automation, Real-time Distributed Computer Systems, Computer Architecture, Operation Systems, Mechatronics Systems, Advanced Control Engineering
Thesis:
Strategy specification for teamwork in robot soccer
Researched planning for multi-agent systems of a team of agents that have a common goal, are being hindered by other agents, only have a limited view of the world, and due to time constraints not all team members can be informed of the planned solution but they must still co-ordinate in a reasonable manner.
High distinctions:
Computer Vision, Scientific Communication, Visualisation

Testimonials

I would recommend Bodey to anyone seeking a reliable, efficient and well informed engineer and team leader.

Paul Dewar (Chief Operating Officer) at Cyber Technology

Bodey’s performance at the company was outstanding. I highly recommend him for research and development engineering work.

Xavier Orr (Director of Research and Development) at Cyber Technology

Publications

B. Baker, K. Gessner, E.J. Holden, and A. Squelch
Geosphere, Geological Society of America, (April 2008), 4(2):418-428
B. Baker, M. Reynolds and W. Liu
PCAR ’06: Proceedings of the 2006 international symposium on Practical cognitive agents and robots (New York, NY, USA), ACM Press, 2006, pp. 129–140.
Automatic analysis and visualisation of rock surface roughness
B. Baker, K. Gessner, E.J. Holden, and A. Squelch
Deformation in the desert, Tectonics & Structural Geology, Geological Society of Australia, July 2007

Extracurricular

2007
Top of the Computer Science honours unit “Scientific Communication”
2006
Commonwealth Accommodation Scholarship
2001
Institute of Engineers award for attaining a TEE score above 75% in: Chemistry, Physics, Calculus and Applicable Mathematics.
2000
Olympic Torch Escort Runner
2000
Soccer Captain
2000
Children's Soccer Coach
2000
Australian Mathematics Competition High Distinction
1996
Citizenship Award

Licenses

Drivers license
Private Pilots License: ASEL (glider add-on & complex endorsement)
Scuba: Rescue, Nitrox & Tech 40

Language Skills

Simple phrases. I lived in Korea for two years and studied a bit before then.
Simple phrases. I lived in Japan for a year.

Hobbies

  • Flying
  • Scuba diving
  • Travelling
  • Languages
  • Learning
  • Trail running
  • Navigation races
  • Soccer
  • Capoeira
  • Rock Climbing
  • Snow Boarding