Jay Sweeney, Résumé
- writetojay [-:at:-] gmail.com
Objective
I seek to work with new technologies. On creative, and interesting projects, and to work with, and contribute to, a team of like-minded individuals. I have a natural curiosity for new technologies and I'm constantly looking for ways to improve my knowledge and skills.
Summary
- Experience as a developer/programmer/analyst on many commercial software projects over the past 10 years.
- Senior Software Developer (2011 - Present), wotif.com
- Senior Software Engineer (2006 - 2011), Creatop — A software company specialising in business applications for the transport industry; Building development industry; Large-scale Community Portals; Intranet applications, and web-site development.
- I hold two Bachelors Degrees, and two postgraduate honours degrees — Bachelor Information Technology, Hons (Bioinformatics); Bachelor of Science, Hons (Biochemistry).
- I have proficiency, and commercial experience with —
- Programming Languages: Java, Groovy, Python, Javascript
- Java Enterprise Edition server-side frameworks (JPA, JTA, EJB 3.0, Glassfish, Hibernate [search, validator, EM, envers], Lucene, Spring)
-
Web application development frameworks
(Full-stack, micro, and restful web services): Drop Wizard, Grails, Flask, Django, Twisted Python (and others...) - Web client-side technologies - standards compliant HTML and CSS. Client-side javascript: AngularJS, JQuery, Dojo.
- Experience working with agile development methodologies, Scrum and XP.
- CI with Jenkins & Team City. Test driven development (JUnit, EasyMock, nose, py.test) BDD (Cucumber-JVM). Configuration management (Puppet); deployment-automation (Fabric).
- Database design, implementation, maintenance, query-optimisation. (MYSQL, PostGreSQL, MSSQL, Oracle). Search (Elastic Seach); document-based storage (CouchDB).
- Custom TCP/IP socket server development with the Twisted Matrix Framework
- Linux system administration and web hosting support — installation, configuration, troubleshooting and maintenance for FTP, POP-Mail (courier MTA), DNS (BIND), Apache, Glassfish, and various DBMS's. F5 load balancers. (and more...)
- Standard Widget Toolkit (SWT) and JFace, java desktop-client GUI design and development.
- Requirements analysis, software specification and software design skills.
- Open source project: ipydb - a cross-database interactive shell, embedded in IPython
Education
- 2000-2005
- Bachelor of Information Technology (Hons. Bioinformatics) University of Queensland, Australia.
- Honours project: Machine learning techniques for the localisation of proteins. (Supervisor: Dr. Mikael Bodén).
- 1994-1999
- Bachelor of Science (Hons. Biochemistry). University of Queensland, Australia.
- Honours project: Discovery and analysis of genes involved in mammalian sex determination and sex reversal. (at the Koopman laboratory)
Key Professional Experience
Software Engineer, (2015 - present) — Amazon
Roles/Responsibilities
- The design and implementation of big-data analytics, machine-learning and data science software projects in the online advertising space
Key Technologies and Methodologies
- Machine-learning / optimization algorithms applied to large-scale advertising data-sets
- Design and implementation of restful microservices
- Large-scale elasticsearch analytics
- EMR, hadoop, spark
- AWS technology stack (dynamo, s3, sqs/sns, redshift, ...)
- Java, Spring
- Agile methodologies, software project design, estimation and planning
Senior Software Developer, Wotif group (2011 - 2014) — www.wotif.com
Wotif Group operates leading online travel brands in the Asia Pacific region. Wotif was a publicly listed company (WTF) employing more than 450 staff in 13 countries on five continents. Recently, Wotif Group was acquired by Expedia, Inc.
Roles/Responsibilities
- Requirements gathering and analysis.
- Specification and software design/planning.
- Implementing software which is of a high quality, satisfies functional requirements, and is completed on a tight timeline.
- Quality Assurance. Checking and reviewing other team-members' source code and work process. Improving code quality and practices. Trouble-shooting and training for other team members.
Key Technologies and Methodologies
- Agile Development - Scrum & XP
- Test Driven Development - JUnit, EasyMock
- BDD - Cucumber-JVM
- CI - Jenkins, TeamCity
- Configuration Management, Deployment, Packaging: Puppet, Fabric, Maven, RPM
- RESTful webservices (DropWizard)
- Elastic Search, CouchDB, Oracle Database
- Java EE, Spring, Hibernate, Lucene, WebWork, JMS, REST, Jersey
Software Applicatons Manager, Creatop (2009 - 2010);
Senior Software Engineer, Creatop (2006 - 2009).
Creatop is an active small-to-medium sized software firm offering a range of products and services from large-scale, complicated business applications down to website design and hosting. In this role I have gained experience working in a small team of software developers of various experience levels to achieve outcomes on tight timelines. I was involved in all aspects of the software development lifecycle: initial client meetings and requirements gathering; software specification and design; implementation and deployment; and, quality assurance and software maintenance. In 2009, I was promoted to the position of Software Applications Manager. In this new role I was entrusted with team leadership responsibilities, while also making decisions about the technology and software development upon which Creatop built its business.
Roles/Responsibilities
- Requirements gathering and analysis.
- Specification and software design/planning.
- Implementing software which is of a high quality, satisfies functional requirements, and is completed on a tight timeline.
- Quality Assurance, Training. Checking and reviewing other team-members' source code and work process. Improving code quality and practices. Trouble-shooting and training for other team members.
- Improving internal software development process.
- Supporting existing web hosting clients and installing new hosting environments. On top of ongoing software development projects, Creatop runs a self-managed server hosting facility for numerous clients and on a wide range of different platforms.
Key Technologies
- Server-side programming: Java EE 5 Application development stack, Coldfusion, PHP.
- Client side programming: Desktop-GUI development: SWT/JFace. Web clients: standards compliant HTML/DHTML/CSS. AJAX/XML-RPC Javascript; Dojo/Dijit JavaScript GUI toolkits; Flash, Actionscript programming.
- Database design, optimisation, and maintenance (MSSQL, MySql, PostgreSql).
- Object-Oriented, UML-based Software design.
- Hosting support and setup: Strong skills in general Linux/Unix server administration. Applications support for: Apache, Mysql, PostreSQL, FTP, SMTP, POP-mail, DNS. Experience with windows server support: IIS, MS-SQL.
Consultant Software Engineer, Flexicar (2005-present)
Flexicar is an innovative, high-tech car sharing concept. Flexicar members can book a car over the web, locate a car, and using their SmartCard, swipe-in, unlock the car, take a journey, and swipe-out afterwards. All without the requirement for human staff-interaction. Booking, billing, and car locking/unlocking is fully automated via Internet applications. Flexicar Support staff can GPS-track and control many aspects of their flexi-cars via specialised internet applications.
Role/Responsibilities
- Flexicar smart-cars are equipped with an internet-connected device which provides a two-way interface for communications. I was contracted as an independent software consultant by Flexicar to develop a custom Internet server application for coordinating and controlling a fleet of share-cars, together with an administration application for Flexicar staff to remotely monitor, GPS-locate, and interact with their fleet.
Key Technologies
- Custom TCP/IP Server developed from the ground-up using Python and the Twisted Framework. This Server coordinates embedded GPRS mobile-network connected devices installed in share-cars via a custom protocol.
- Python Nevow, web development kit. Administration and fleet-management tools were developed for the Custom python TCP/IP Server. GPS tracking and unit manipulation is achieved via a http-based 'snap-in' admin tool for the main TCP/IP socket server.
- PHP/MYSQL based car-booking and member-management system.
Lead Developer, QUT + Kids Help Line (2005)
This project was a partnership between the Queensland University of Technology
(QUT)
and Kids Help Line (KHL), to
develop interactive, web-based counselling tools to complement KHL’s existing
online services and other counselling activities.
Role/Responsibilities
As the lead developer on the project, I was responsible for IT planning, technology selection, system architecture, implementation and support of the web counselling software suite.Key Technologies
- A custom Python-based TCP/IP server for Internet communications - built with the Twisted Matrix framework.
- An XML-based language for communicating and synchronising the flash-based counselling client-side interfaces.
- A Client side suite utilizing Flash/Actionscript and javascript to create a rich, expressive interface which took the form of a whiteboard with sophisticated drawing and chatting tools.
- Database backend system for queuing and entry into the counselling sessions, together with the management and administration of counselling sessions, users, and transcripts.
Referees
Dave Whitla, Technical Architect, Wotif Group
- dave D-O-T whitla A-T wotifgroup D-O-T com
Marcos Caceres, Platform Architect, The Mozilla Corporation.
- mcaceres@mozilla.com
Further Commercial Referees are available upon your request.