David West
Verified Expert in Engineering
Software Developer
Dublin, Ireland
Toptal member since April 20, 2016
David is a skilled Kotlin/Java, native mobile, Flutter, and React web developer with the ability to build web-scale, high-performance full-stack systems ahead of schedule. He's the type of developer who quickly gains expertise in any tech. David's focus is on Java microservice back-end applications and he has a passion for building native iOS and Android mobile apps. David is comfortable working in US or European time zones.
Portfolio
Experience
- Java - 15 years
- Amazon Web Services (AWS) - 6 years
- Spring Boot - 5 years
- Swift - 5 years
- iOS - 5 years
- Android - 3 years
- React - 2 years
- Flutter - 1 year
Availability
Preferred Environment
Git, Xcode, Eclipse, IntelliJ IDEA, MacOS
The most amazing...
...feeling of accomplishment was having my first iOS app featured on the App Store, going from zero iOS experience to a first released version in just two weeks.
Work Experience
Full-stack React/AWS Developer
Capterra
- Developed client-facing features to allow users to manage their accounts and guide their progress on Capterra.com.
- Built a React front-end application using a micro front-end architecture, communicating with the back end via a GraphQL API (AWS AppSync). Aided the team in adopting GraphQL best practices.
- Developed back-end AWS Lambda functions (using JavaScript) for the website, using DynamoDB and Elasticsearch as data stores. Integrated with Kafka topics to populate the data sources.
Lead Developer
Quorilla (Toptal Projects)
- Was selected by Toptal Projects for a two-week lightning start to plan and estimate the MVP as the lead developer, along with the lead designer and the project and delivery managers. Led a team of five developers in the implementation phase.
- Built the front end using React, Redux, MUI (Material UI), and WebRTC/HLS live video streaming.
- Built the back end using Kotlin Spring Boot microservices and Node.js AWS Lambda functions for live-streaming video processing. These loosely coupled microservices communicated using event-based communication with AWS SQS queues.
- Deployed dockerized microservices using AWS Fargate, Node.js serverless processing for video processing using AWS Lambda, AWS Media Services APIs, and continuous delivery with CircleCI.
- Included a full-text search of courses, classes, and tutors using Elasticsearch and Hibernate Search.
- Led the team to build the MVP of the project from the planning stages to completion in four months within time and budget.
Lead Developer
FreeRoots (Toptal Projects)
- Was selected by Toptal Projects for a two-week lightning start to plan and estimate the MVP as the lead developer, along with the lead designer and the project and delivery managers. Led a team of four developers in the implementation phase.
- Built a React/Redux front-end application using functional React components and hooks.
- Used an Apollo GraphQL library to communicate with the microservices back end.
- Built the back end using Kotlin Spring Boot microservices. These loosely coupled microservices communicated using event-based communication with AWS SQS queues.
- Deployed dockerized microservices using AWS Fargate and continuous delivery with CircleCI.
- Led a team of four developers to deliver the MVP in four months, within time and budget.
Lead Developer
Other Clients (Toptal Projects)
- Was selected by Toptal Projects for two other lightning start projects to plan and estimate them as a lead developer. Led a team of two developers in the implementation phase.
- Built two sharing economy native apps: a native iOS app using Swift and a native Android app using Kotlin.
- Implemented communication via REST with Spring Boot microservices written in Kotlin.
- Deployed dockerized containers on AWS Fargate.
- Implemented payment processing via Stripe.
- Built an admin portal using React/Redux.
- Delivered the apps on time and within budget.
Technical Architect
Phorest
- Designed the architecture and implemented a web-scale, multi-tenant cloud-based platform for the beauty industry with Java and open source stack with microservice architecture.
- Developed a multitenant cloud system that services thousands of businesses with millions of customers, built on elastic, scaling AWS cloud infrastructure using Amazon ECS and Docker.
- Developed Spring Boot microservice applications deployed on AWS ECS; built with Java, Groovy, and Kotlin.
- Built Objective-C and Swift iOS apps. One iOS app was featured by Apple in the App Store.
- Developed native Android apps using Java and Kotlin.
- Built web apps using the JavaScript framework Ember.js.
JEE Architect (Contractor)
Fujitsu
- Acted as a Fujitsu consultant onsite at the Irish tax authority (revenue commissioners).
- Developed a new ESB solution for revenue as part of their SOA strategy, in addition to Java development on other projects.
- Used the Mule ESB to mediate JMS, web services, and legacy communication protocols between the revenue’s web applications and back-end core tax processing services.
- Defined the XA transaction strategy for integrating the various endpoints.
- Worked on various other JEE applications using WebLogic, Sprint, Hibernate, and Ingres.
Solutions Architect (Contractor)
Sentenial Software
- Designed and built a B2B core integration framework for SEPA’s high-volume message-based, direct debit payment processing.
- Developed a specific implementation for integrating Sentenial's SEPA payment system with the accounting systems of the Royal Bank of Scotland.
- Designed a flexible integration framework which allows Sentenial’s suite of products to stream messages to heterogenous bank systems via web services, JMS, SFTP, files, etc, through a configuration of different endpoints.
- Used Spring (including Spring Web Services and Spring Batch), various XML processing frameworks (DOM, SAX, XSLT, XPath, JAXB, XSD), JMS, WebSphere, JBoss, Oracle and DB2 on Windows, Linux, and ZOS mainframes. The system is currently being used to process payments in Royal Bank of Scotland and ABN Amro.
Senior Software Engineer
Cusp Point Software
- Worked as the lead developer, mainly designing and delivering a large number of features in a highly distributed, multi-tenant web application, targeted at terabytes of data in a SAS document management system.
- Built an Ajax front end, back end, and did full-stack development for the core document management web application using a JBoss Application Server, Seam, Spring, and JPA architecture.
- Developed a SOAP/REST document management web service.
- Created a back-end domain object based security framework for a multi-tenant web application using Spring Security.
- Wrote a document routing workflow web application using JBoss JBPM, and a document batch processing engine using Spring/Hibernate.
Senior Software Engineer (Contractor)
Corvil
- Contributed to the build of an embedded platform for Corvil’s network bandwidth quality manager, to support introspection of network problems in high-volume, financial trading environments using statistical algorithms to analyze 10 GB packet rates to microsecond accuracy.
- Managed and worked in core Java development.
- Wrote network systems programming C, C++, and Python and did Bash integration testing on a Linux platform running PostgreSQL.
- Profiled and performance tuned Java and PostgreSQL.
Software Engineer (Contractor)
AOL
- Developed a new webservices SOA, using J2EE technologies, supporting AOL’s internal and B2B strategy.
- Helped design and build the Order Management Service; used a range of technologies and techniques, including web services (via WebLogic), Hibernate, Spring, Drools, Tapestry, Maven, and model-driven architecture (using AndroMDA).
- Used standard Jakarta EE technologies such as EJB, JMS, and servlets.
Research Associate
University of Sydney | NICTA
- Worked on two industry funded research and development projects.
- Was involved in developing a Bluetooth/GSM telecommunications hybrid-positioning system (Symbian/C++ and J2ME).
- Worked with heterogeneous middleware for multi-modal input and output (Java, C++).
- Was published in seven journal and conference publications.
Technology Analyst (Intern)
Barclays Capital Investment Bank, New York
- Developed applications for managing the corporation's Sybase database users using Visual Basic; my work increased the application performance by over an order of magnitude.
Programmer
Genie Internet Consultancy
- Worked on web application development using PHP, Perl, MySQL, JavaScript, and DHTML.
Experience
Live Video Streaming React Web App and Back End
The functionality includes:
• Setting up courses and classes
• Onboarding tutors and students
• Email communications
• In-browser live streaming for the tutor using WebRTC technologies
• In-browser viewing of classes (live and recorded)
• Video processing server side to convert live classes into recorded videos available on demand
React Web App for Grassroots Political Advocacy
https://www.freeroots.comThe MVP was built in four months, and the app uses React, Redux, GraphQL, and Firebase on the front end and Spring Boot, microservices, Kotlin, and AWS on the back end.
APP FEATURES
• Campaign creation and display
• Bulk emails with client filters
• Client management
• Bulk CSV uploads
• Analytics
• Stripe Connect payments
• Admin portal
• Integration with complex APIs for contacting US senators and representatives
• Social sign in
Podcast Demo App Built with Flutter
https://www.youtube.com/watch?v=bSPes0DV9mMScheduling and Point of Sale Application | Native iOS and Native Android
• https://itunes.apple.com/ie/app/phorest-go/id623199514?mt=8
• https://play.google.com/store/apps/details?id=com.phorest.phorestgo
Education
Master of Science Degree in Computer Science: Networks and Distributed Systems
Trinity College Dublin, the University of Dublin - Dublin, Ireland
Bachelor's Degree in Computer Science
Trinity College Dublin, the University of Dublin - Dublin, Ireland
Skills
Libraries/APIs
REST APIs, SAX, Java Message Service (JMS), React, AMQP, Alamofire, CocoaPods, JAXB, Facebook API, Node.js, WebRTC
Tools
ActiveMQ, Eclipse IDE, IntelliJ IDEA, Xcode, RabbitMQ, Android Studio, AWS SDK, Amazon Simple Queue Service (SQS), JBoss Drools, TestFlight, GitHub, Git, JBoss Application Server, Apache Maven, Cucumber, AWS Fargate, AWS AppSync, Application Servers
Languages
Kotlin, Groovy, Swift, Java, Objective-C, XML, SQL, GraphQL, JavaScript, HTML, HTML5, CSS3, JavaScript 6, C++, C, XPath, TypeScript, XSLT, XSD, Python, C#, Visual Basic, PHP, Perl, Dart, Bash Script
Frameworks
Flutter, JPA, Spring Boot, Spring JDBC, Hibernate, Spring, UIKit, Cocoa Touch, Cocoa, TestNG, JUnit, Redux, Google Guava, jBPM, Spring MVC, Spring Batch, Seam, Tapestry, Ember.js
Paradigms
Microservices, Microservices Architecture, Scrum, REST, Testing, Acceptance Testing, Unit Testing, Kanban, Agile Software Development
Platforms
JEE, iOS, Android, Docker, Amazon Web Services (AWS), Oracle, Amazon EC2, Windows, JBoss, MacOS, Linux, Eclipse, WebSphere, IBM z/OS, Symbian, J2ME, AWS Lambda, Apache Kafka
Storage
JSON, MySQL, PostgreSQL, Spring Data, Amazon S3 (AWS S3), Memcached, Amazon Simple Workflow Service (SWF), IBM Db2, Microsoft SQL Server, Sybase, Ingres, NoSQL, Amazon DynamoDB, Elasticsearch
Other
Apache Commons, DOM, Full-stack, RESTful Web Services, Integration Testing, APIs, Back-end, Architecture, Full-stack Development, Technical Leadership, WebLogic, GitFlow, SOAP, BPM, DHTML, HTTP Live Streaming (HLS)
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring