Tim Tyler - Curriculum Vitae

Web: http://timtyler.org/ - Email: tim@tt1.org - Tel: 617-671-9930 - Location: Arlingon, MA.

Synopsis: Senior software engineer - most experienced in Java.

Collapse all tree nodesExpand as far as level 3Expand all tree nodes
Expand this node
Collapse
Expand this node
Skills 
Expand this node
Collapse
Expand this node
What I can do 

I am an experienced software engineer:

  • I started programming commercially in 1983 - 41 years ago - writing video games;
  • I started designing web sites in 1995 - 29 years ago;
  • I began working in Java in September, 1998 - 26 years ago;
I've worked with these technologies:

  • Java and Java EE;
  • SQL, MySQL, MongoDB and databases;
  • Amazon AWS - including EC2 and S3 and EB;
  • Terraform and Terragrunt (IAC);
  • Build automation tools (Gradle, Maven)
  • Continuous integration (Jenkins, etc)
  • JavaScript, AJAX and DHTML;
  • Unix and Apache administration;
  • HTML, CSS and web site design;
  • Elastic search;
  • JSON, XML and RESTful APIs;
  • PHP, Python and Perl;
  • C and C++;
  • ANTLR parser-generation tool;
  • Testing (JUnit, TestNG, Mockito);
  • Assembly languages (ARM, 6502);
  •   ...on projects involving:

  • Internet applications;
  • Distributed databases;
  • AWT, Swing & MIDP GUIs;
  • Refactoring tools;
  • Lint tools;
  • Code formatting tools;
  • Graphics and games;
  • Web design;
  • Content management systems;
  • Cryptography & compression;
  • Socket programming;
  • Google maps API;
  • YouTube API;
  • Facebook applications
  • I am an experienced user of version control systems and continuous integration build servers. I can use Windows, MacOS and Linux. A page of more personal details about me is also available.                                            

    Expand this node
    Collapse
    Expand this node
    Employment history 
    Expand this node
    Collapse
    Expand this node
    Details of my previous employment 
    Collapse all tree nodesExpand as far as level 2Expand all tree nodes
    Expand this node
    Collapse
    Expand this node
    March 2017 to February 2024 
    Expand this node
    Collapse
    Expand this node
    Senior Software Engineer - Vestmark Inc (Boston, USA) 
    Vestmark is a "fintech" company - specializing in wealth management. I was hired to help revitalize their Java-based back end. While there, I:
    • Removed legacy Enterprise Java Beans - and replaced them with Hibernate and Spring;
    • Reworked the dependency injection to use an "inversion of control" approach;
    • Developed and deployed AWS components - using Terraform and Terragrunt (IAC);
    • Managed the upgrade from JUnit 3 to JUnit 4 and the upgrade from JUnit 4 to JUnit 5;
    • Deployed a modernized system using Apache Camel and Apache Karaf;
    • Polished and deployed a Spring Boot "satellite" application - to allow portfolio inspection;
    • Extensive work on adding import / export facilities to the main application (integrations);
    Vestmark used SQLServer via Hibernate for persistence; JUnit and Mockito for automated testing; Gradle to build; Jenkins for continuous integration. React was the basis of the front end.
     
    Expand this node
    Collapse
    Expand this node
    July 2015 to January 2017 
    Expand this node
    Collapse
    Expand this node
    Software Engineer - Pragya Systems (Boston, USA) 
    This was work for an educational technology company offering cloud-based content management and search services. Here I:
    • Worked on their main application which was based on DropWizard and Spring;
    • Developed and maintained their Elastic search queries;
    • Worked on their NLP API, interfacing to IBM's Watson;
    • Worked on their sharing and permissions systems;
    • Worked on importing data from multiple customer systems;
    • Created multiple reports to visualize historical records, using D3 charts.
    They used MongoDB for persistence; TestNG and Mockito for automated testing; Maven to build; TeamCity for continuous integration. KnockoutJS was the foundation of the front end.
     
    Expand this node
    Collapse
    Expand this node
    April 2012 - May 2015 
    Expand this node
    Collapse
    Expand this node
    Software engineer (Java) - ScaleBase, Inc (Boston, USA) 
    Here I:

    • Developed an ANTLR-based revamp of the main SQL parser;
    • Replaced legacy logging system with Logback and SLF4J;
    • Replaced Derby database with H2 database;
    • Worked as the main build engineer, using Maven and Hudson;
    • Created an HTML front end for the unit test system;
    • Developed a RESTful API, using DropWizard and Jersey;
    • Handled the upgrade from Java 6 to Java 8;
    • Created a management center, using Swing;
    • Added redundancy feature to the configuration database;
    • Developed and maintained Perl installation scripts;
    • Wrote a lot of unit tests - using TestNG;
    • Revamped the exception-handling system.
    Expand this node
    Collapse
    Expand this node
    April 2008 to September 2011 
    Expand this node
    Collapse
    Expand this node
    Teaching consultant - Teleperformance (Bristol, UK) 
    Here I:
    • Advised prospective teachers on how to enter the profession;
    • Set up and managed the office intranet (initially based on Drupal) - and trained others on how to use and edit it.
    Expand this node
    Collapse
    Expand this node
    June 2007 to August 2007 
    Expand this node
    Collapse
    Expand this node
    PHP/MySQL/Drupal systems architect 
    Here, two organisations merged. My role was to combine their existing web sites - and port their associated client databases to Drupal. That involved:
    • Setting up and administering a Drupal installation;
    • Developing Drupal modules, themes and code - using PHP and SQL;
    • Designing the web site itself;
    • Managing the IT outsourcing needs of the project.
    This work was performed on behalf of Resource Publishing and Communications.
     
    Expand this node
    Collapse
    Expand this node
    October 2001 to November 2006 
    Expand this node
    Collapse
    Expand this node
    Java/C++/SQL programmer 
    Here I:
    • Wrote a Java lint tool, parsing C++ code. The checks supplemented those in Gimpel Software's PC-lint, and were concerned with factors such as safety, security, readability and consistency. Some of the work was inspired by my previous contributions to Checkstyle.
    • Wrote a Java refactoring tool, processing C++ code.
    • Wrote a Java formatting tool, again processing a C++ codebase.
    • Wrote a Java client-side application using Swing and deployed using Java Web Start. The program parsed HTML files - using HTMLParser - applied a series of lint-like checks, filtered the results - and stored the HTML file and its associated resources in an archive for future use.
    • Developed a prototype Java server-side application. This was a database-driven web application which acted as an interface to the UPS distribution system.
    • Wrote a large number of C++ and SQL programs - as part of maintenance of an established system - an application for running and managing a "fax farm".
    This work was performed on behalf of Telesoft Communications.
     
    Expand this node
    Collapse
    Expand this node
    March 2004 to April 2005 
    Expand this node
    Collapse
    Expand this node
    Technical Support Agent 
    Here I:
    • Acted as a technical support and sales agent, helping broadband and narrowband customers attain and maintain connections to the internet;
    • Sold the narrowband customers upgrades to broadband;
    • Wrote several PHP/SQL/DHTML applications to help with management and administration of the office.
    In a related project, I:
    • Acted as a billing agent, helping British Telecom's broadband customers to resolve billing issues that they had with the company.
    • Took customer's financial details, and updated BT's computer systems with them.
    • Handled enquiries from customers who wanted refunds or other remuneration for poor quality of service.
    This work was performed on behalf of ClientLogic (now known as Sitel) .
     
    Expand this node
    Collapse
    Expand this node
    February 2000 to January 2003 
    Expand this node
    Collapse
    Expand this node
    Java Consultant, "Genetic Algorithm/Random Numbers" project 
    This was part-time contract work - performed on behalf of Florida State University.

    The project is briefly described on my supervisor's page as follows:

    • Title: "Genetic Algorithm-based Random Number Generators on a Reconfigurable FPGA".
    • Description: "A PRNG on an Evolvable Hardware".
    • Funding agency: The National Security Agency.

    The project builds on my work with reversible diffusion.

    Unfortunately, the details of this project are confidential - and cannot be covered further in this document.

    This work was performed on behalf of the Engineering Department of Florida State University.
     

    Expand this node
    Collapse
    Expand this node
    September 2000 to January 2001 
    Expand this node
    Collapse
    Expand this node
    Java programmer, "Stockmarket planetarium" project 
    From September 2000 to January 2001, I worked as a programmer on a project to build a computer-generated work of art.
    This was ultimately displayed in The Tate Gallery.

    The project involved building a "stockmarket planetarium" - a display projected onto a hemispherical dome (embedded in the ceiling of a room) using four LCD projectors.

    In the virtual planetarium, each star represented a company - and stars were gravitationally attracted towards one another with a force proportional to how the stocks of their associated companies were correlated on the stock exchange. The piece was driven by a stockmarket feed from Reuters.

    My ATOMS work was developed as a prototype for this project.
     

    Expand this node
    Collapse
    Expand this node
    August 1999 to July 2000 
    Expand this node
    Collapse
    Expand this node
    Java consultant, and database programmer 
    Here I worked as a Java consultant - working mainly designing the "database back- ends" to web sites, using Java servlets, JDBC and SQL as my central enabling technologies.

    I worked on this web site - constructing the database back-end that served up client information on the site.

    This work was performed on behalf of The Cairn Holiday Group.
     

    Expand this node
    Collapse
    Expand this node
    Earlier employment history 
    For more details about my early employment history see here.
     
    Expand this node
    Collapse
    Expand this node
    Internet domains 
    Expand this node
    Collapse
    Expand this node
    Domains which illustrate my work 
    Firstly, my home page can be found at: http://timtyler.org/. This reflects my interests and activities.


    Hexagonal Domes 
    http://hexdome.com/
    (Geodesic domes)

    Videos 
    http://videos.timtyler.org/
    (Videos of me)

    Memetics 
    http://memetics.timtyler.org/
    (Cultural Evolution)

    Large Domes 
    http://largedomes.com/
    (Large span structures)
    Machine Forecasting
    http://matchingpennies.com/
    (Machine Intelligence)
    Texture Garden 
    http://texturegarden.com/
    (Algorithmic textures)

    Springie 
    http://springie.com/
    (Tensegrity simulator)
    Mersenne Consulting 
    http://4095.com/
    (Computer consultancy)
    Rockz
    http://rockz.co.uk/
    (Desktop gaming)
    Lotus Alife 
    http://alife.co.uk/
    (Artificial life)
    ATOMS
    http://atoms.alife.co.uk/
    (Particle systems)
    Tilt
    http://tilt.rockz.co.uk/
    (Mobile gaming)
    Cellular Automata
    http://cell-auto.com/
    (Cellular automata)
    CA FAQ
    http://cafaq.com/
    (Cellular automata FAQ)
    Finite Nature
    http://finitenature.com/
    (Digital physics)

    Pleated Structures 
    http://pleatedstructures.com/
    (Tensile membranes)

    Suspension Domes
    http://suspensiondomes.com/
    (Making clear span arenas)

    Spaceframes 
    http://spaceframe.org/
    (Structural frameworks)
    Origin of Life
    http://originoflife.net/
    (Abiogenesis)

    My keyboard
    http://mykeyboard.co.uk/
    (Computer input devices)

    Search Nexus
    http://nexus.tifsoft.com/
    (Super search tool)
    Tree Editor 
    http://treeeditor.com/
    (Taxonomy management)
    Fractal Drainage 
    http://fd.alife.co.uk/
    (Fractal drainage systems)
    Hexagonal Engineering 
    http://hex.alife.co.uk/
    (Hexagonal geometry)

    The Mandala Centre 
    http://mandala.co.uk/
    (Cryptography)
    tifsoft
    http://tifsoft.com/
    (My software)
    FDL
    http://fdl.mandala.co.uk/
    (Fundamental Data Language)
    Font Editor
    http://fonteditor.org/
    (Java font system)
    Text Editor
    http://texteditor.org/
    (Text editor)

    Expand this node
    Collapse
    Expand this node
    Book 
    I've recently written a book on memetics 

    Memetics
    My 2011 book on cultural evolution
    My interest in how cultural phenomena evolve recently led me to write a popular book on Memetics. It's available on Amazon.

    It is a popular science book. It covers modern scientific efforts to expand the domain of Darwinian evolutionary theory to cover all of human culture. That enterprise is an old one - but in the last 40 years, it has been gathering steam, and now it finally appears to be going mainstream.

    Expanding evolutionary theory to cover the domain of human culture would represent the most significant shake-up in the field for many decades.

    Memes have become ubiquitous in the modern world - but there has been relatively little proper scientific study of how they arise, spread and change. Most social science has yet to get to properly get to grips with Darwin's theory. Since the subject is so important, that needs to change. My book was published at a time when the subject was in the media spotlight - because of the modern explosion of internet memes.

    With memes penetrating into every mass media channel, and with major companies riding on their coat tails for marketing purposes, resistance to studying the subject within the social sciences seems likely to prove unsustainable.

    Expand this node
    Collapse
    Expand this node
    Programming projects 
    Expand this node
    Collapse
    Expand this node
    Some of my Java programming projects 
    Collapse all tree nodesExpand as far as level 2Expand all tree nodes
    Expand this node
    Collapse
    Expand this node
    Architecture 
    Expand this node
    Collapse
    Expand this node
    Springie
    Springie is a tensegrity simulator. It allows users to create 3D models made of struts, cables and membranes- and then see how they behave dynamically.

    Springie can be used as a rapid prototyping system - for modelling strut/cable/membrane systems in a virtual world as a prelude to constructing them on a larger scale.
     

    Expand this node
    Collapse
    Expand this node
    Entertainment 
    Expand this node
    Collapse
    Expand this node
    Rockz
    Rockz is probably one of my most complex and spectacular projects to date.

    It's a puzzle game - on a massive scale. Modelled around my best-selling "Repton" game, Rockz takes the concept into the 21st century.
     

    Expand this node
    Collapse
    Expand this node
    Tilt
    Tilt is a mobile phone game - written in Java andtargeting MIDP 2.0.

    Like Rockz, it's a puzzle game. It is not a reimplementaion of Rockz for mobile phones - rather ithas been designed from scratch to cope with the challenges presented by small devices.
     

    Expand this node
    Collapse
    Expand this node
    Graphics 
    Expand this node
    Collapse
    Expand this node
    Texture Garden
    Texture Garden is an animated algorithmic texture generation program.

    It uses "genetic" techniques to breed aesthetically-pleasing textures.

    While this was originally an ARM machine code project, there's now a Java version of the original program - though this is not yet complete.
     

    Expand this node
    Collapse
    Expand this node
    Other programming projects 
    For details about more of my programming projects see here.
     
    Expand this node
    Collapse
    Expand this node
    Qualifications 
    Expand this node
    Collapse
    Expand this node
    Educational qualifications and certificates 
    Collapse all tree nodesExpand all tree nodes
    Expand this node
    Collapse
    Expand this node
     Degree-level 
    Dates  Establishment Qualification Subject Grade
    1987-1990  University of Bristol Batchelor of Science Mathematics 3rd class honours
    Expand this node
    Collapse
    Expand this node
     A-levels 
    Dates  Establishment Qualification Subject Grade
    1985-1987  Exeter College
    A-Level
    A-Level
    A-Level
    S-Level
    S-Level
    Pure Mathematics
    Applied Mathematics
    Physics
    Pure Mathematics
    Applied Mathematics
    A
    A
    A
    II
    II
    Expand this node
    Collapse
    Expand this node
     O-levels 
    Dates  Establishment Qualification Subject Grade
    1981-1985  Hele's School O-Levels
    Mathematics
    Mathematics and Statistics
    Physics
    Chemistry
    Graphical Communication
    English Language
    English Literature
    Computer Science
    Design Technology
    A
    A
    A
    A
    A
    B
    B
    B
    B
    Expand this node
    Collapse
    Expand this node
     Other qualifications 
    I also successfully completed a City and Guilds course in "Coding and Programming in C++" - in 1998.

    I live in Arlington, MA. For office work, I will consider position in the vicinity of Boston, MA. Remote or Hybrid positions are also a possibility.

    A shorter version of this document is also available in "Microsoft Word" format - here - and PDF format, here.

    My contact details are at the top of this document. For other contact methods see: http://timtyler.org/contact/

    Thank you for your interest.


    Tim Tyler | Contact | http://cv.timtyler.org/