An open-source, linux software developer and problem solver.
Senior Software Engineer @ From July 2014 to Present (1 year 6 months) Senior Software Engineer @ GnuBio is creating an integrated, desktop, gene sequencer using cutting-edge
emulsion microfluidics. I am primarily responsible for the system that analyzes
raw TDI images and determines the spectral composition of drops containing the DNA,
which are used to identify genetic targets.
* Designed and implemented concurrent, image analysis and processing pipeline (python, C++).
* Created a web application to allow biologists to analyze data (python, tornado, rethinkDB).
* Created a suite of command line tools to expose image analysis pipeline for bioinformatics developers (bash, python).
* Created a flexible regression testing framework (python).
* Contributed to the architectural and algorithmic development of the distributed system used to operate the sequencer (python, C/C++, ZeroMQ, ubuntu) From March 2013 to July 2014 (1 year 5 months) Senior Software Design Engineer @ At Lantos I designed and implemented the desktop UI for the Lantos Viewer and contributed to the underlying architecture. I also created a secure web service based upon the 'tornado' framework, which ran on Amazon EC2 linux instances, for distributing scan data between audiologists and hearing aid manufacturers.
* Designed and implemented the Lantos Viewer UI (Qml, C++, javascript, Windows 7)
* Designed and implemented a secure web service for digital distribution of scan data (tornado (python), SSL/TLS, linux (gentoo), Amazon EC2)
* Implemented Windows service for uploading scan data to Lantos cloud (python, Windows 7)
* Implemented basic encryption/decryption tools (python, C++)
* Designed formal software development process From June 2012 to March 2013 (10 months) Senior Software Engineer @ Rethink Robotics is creating the next generation of robots; Robots designed to introduce automation to places where robots have never been used before. At Rethink Robotics I worked primarily on the User Interface (UI) to make robots expressive, informative, and simple to use. The UI was a hyrbid written in Qml and Qt (C++). I integrated the sonar array used for person detection, and created the AI system used to determine features of interest in the robots environment. All development was done on linux (ubuntu and gentoo) using C++ and ROS.
* Collaborated on the architectural and functional design of the UI
* Integrated sensory systems into the behavioral system behind the UI
* Contributed to the design and implementation of the UI front-end From March 2011 to June 2012 (1 year 4 months) Senior Software Engineer @ I was one of two technical leads for the Library Services team on the GOES-R project (NOAA's next generation of weather satellites for launch in 2015), which is responsible for providing C++ infrastructure and utilities to algorithm teams. The GOES-R team at AER, as a subcontractor to Harris Corporation, is responsible for implementing the 'ground segment' software, which processes the satellite data for redistribution.
* Designed object oriented utilities and frameworks for the use of downstream, algorithm teams
* Created rapid prototypes to promote discussion and gain traction on issues with incomplete information
* Evaluated and recommended 3rd party software libraries for inclusion in the project
* Established code reviewing and code repository processes
* Implemented automatic test-plan generation (python)
* Played large role in hiring team members (numerous phone screens and on-site interviews. Contributed to the improvement of the hiring process) From July 2010 to March 2011 (9 months) Senior Software Engineer @ As a member of Unified Editors team I worked extensively on the design and implementation of a C++, Qt-based, cross-platform, 2D graphics framework, used to leverage in-house CMOF technology, and support the next generation of MathWorks editors. The Unified Editors project was a high-profile project within the company, and considered 'mission-critical'.
* Designed and implemented event handling system, tool-stack system to support generic operations on diagram elements, syntax highlighting and LaTeX in text elements
* Designed and implemented geometry nodes, and rewrote legacy math routines for intersection tests of geometric primitives and arc fitting
* Coordinated integration between teams during major revision
* Interviewed and evaluated prospective employees
* Advocated documentation and unit testing standards
Assumed sole responsibility for the Simulink Library Browser. The Library Browser is the main search utility for Simulink and uses a proprietary repository generation and search technology for the blocksets created by internal product teams and customers.
* Coordinated with multiple teams (build-and-test, blockset authors, documentation, usability, development)
* Worked with application engineers and directly with customers to resolve problems in the field
* Refactored legacy code (reduced lines of code by ~7000 lines)
* Guided product direction and led design review From May 2008 to July 2010 (2 years 3 months) Junior Programmer @ Contributed to the development of physics-related gameplay systems in the award winning game BioShock
* Implemented telekinesis, airblast, and vortex trap plasmids
* Designed and implemented 'fatal blow' effects on Havok ragdolls, buoyancy system, and critical message audio system
* Contributed to character interaction with environment and tuning ragdoll parameters From January 2006 to January 2008 (2 years 1 month) Research Fellow/Instructor @ Worked in the department of applied mathematics as a research assistant and instructor
* Used chemical rate equations to analyze data driven problems in glycolytic pathway
* Developed constructive method of enumerating steady-states in rate equations using homotopy continuation theory
* Taught introductory classes on differential equations and linear algebra
* Downer J, Sevinsky JR, Ahn NG, Resing KA, Betterton MD. "Incorporating expression data in metabolic modeling: a case study of lactate dehydrogenase" Journal of Theoretical Biology, 2006 Jun 7;240(3):464-74. Epub 2005 Dec 2. From 2003 to 2005 (2 years) Research Assistant @ Worked on purification and structure determination of the VASP protein for crystallographic analysis.
* Kursula P, Kursula I, Massimi M, Song YH, Downer J, Stanley WA, Witke W, Wilmanns M. “High-resolution structural analysis of mammalian profilin 2a complex formation with two physiological ligands: the formin homology 1 domain of mDia1 and the proline-rich domain of VASP.” Journal of Molecular Biology, 2008 Jan 4;375(1):270-90 From 2002 to 2003 (1 year)
Ph.D., Mathematics @ University of Otago From 1998 to 2005 M.Sc., Biology @ University of Auckland From 1996 to 1998 B.E., Engineering Science @ University of Auckland From 1993 to 1995 Joshua Downer is skilled in: Creative Problem Solving, User Interface, C++, Python, Qt, Git, Subversion, Game Development, Game Programming, Bash, Mathematics, OOP, Algorithms, OpenGL, Software Engineering