Andrzej Doyle, Algorithms Developer in London, United Kingdom
Andrzej Doyle

Algorithms Developer in London, United Kingdom

Member since August 10, 2020
Andrzej is a senior back-end developer with fifteen years of experience in JVM languages, Java and Scala, including ten years' work for demanding financial clients such as IHS Markit and GSA Capital. He is adept at delivering a complete software project from conception to deployment, focusing on thoroughly understanding the underlying business problem.
Andrzej is now available for hire

Portfolio

  • EDA Family Solutions
    Amazon Web Services (AWS), APIs, Code Review, JSON Web Tokens (JWT)...
  • GSA Capital
    Java 11, Banking & Finance, RabbitMQ, APIs, Python, Solution Architecture...
  • IHS Markit
    Banking & Finance, APIs, Oracle, Oracle PL/SQL, XML Web Services, HTTP...

Experience

Location

London, United Kingdom

Availability

Part-time

Preferred Environment

IntelliJ IDEA, PyCharm, Linux, Windows

The most amazing...

...app I've developed was GSA's charge calculator, taking extremely complex business requirements and turning them into something robust, performant, and scalable.

Employment

  • Chief Technology Officer

    2020 - PRESENT
    EDA Family Solutions
    • Evaluated technical architecture options, balancing concerns of performance, price, feature set, future-proofing, reliability, and ease of integration. Established and built-out tech stack that hits our requirements on all of these factors.
    • Authored and revised workflows across the tech team, reduced developer onboarding headaches, and avoided conflicts in style, structure, and integration.
    • Planned roadmaps with other CXOs, reporting technical progress and highlighting technical risks in non-technical terms. Conclusions arising were realistic and balanced, indicating a good understanding of the situation and constraints.
    • Architected, developed, and implemented a child-safety iOS application in Swift (7,000 lines of code), integrating with the Python (Flask) back end, emphasizing a minimal working set of user information, for privacy and ethical concerns.
    • Managed and mentored junior developers, mixing coaching with more administrative and pastoral aspects. The developer reports show that they are thrilled with the setup and are learning a lot.
    • Tracked, prioritized, and resolved bugs and feature requests via Github and Trello. Reviewed the other developers' branches and collaborated with those reviewing mine, picking up bugs and design issues before entering the codebase.
    Technologies: Amazon Web Services (AWS), APIs, Code Review, JSON Web Tokens (JWT), SQLAlchemy, Front-end, Full-stack, Front-end Development, Back-end Architecture, Mobile App Development, Mobile App Design, Team Mentoring, Technical Leadership, HTTP, REST APIs, Interviewing, Recruitment, CTO, Trello, GitHub, Docker, Unit Testing, App Store Acceptance Process, Agile Deployment, Continuous Integration (CI), AWS Elastic Beanstalk, AWS, Xcode, iOS, Flask, PostgreSQL, Swift, Python
  • Core Technology Senior Developer

    2010 - 2019
    GSA Capital
    • Led the development of the Alpha capture system, used by over 30 major banks and trading houses, generating £5 million in annual revenue.
    • Architected, implemented, tested, and deployed the real-time charge calculator, tagging two million trades daily with over 20 types of configurable charges and commissions.
    • Handled the out-of-hours support on rotation, minimizing disruption to time-critical processes through a full understanding of the internal and external systems empowering my decision-making process under pressure.
    • Acted as an early adopter, evangelist, and advisor for Scala within GSA, which reached 90% take-up within the core and became the common language across all teams.
    • Advanced the CI practices within the team. Deployed a prototype setup as a proof-of-concept, tuning it to incorporate our custom deployment steps, and getting widespread buy-in for integration. Removed 99% of manual work and errors around deployment.
    • Collaborated closely with my colleagues in the operations and trading teams to understand the details of their roles and incorporate this knowledge into the designs of systems they used. Named a "most valuable colleague" several times due to this.
    • Refactored a serialization protocol of the trade capture system at the heart of GSA's business. Extensive testing and careful three-phase deployment allowed this to go live with no downtime or errors and resulted in a 20x increase in throughput.
    • Liaised with the infrastructure team to determine the hardware setup required for each application, then commissioned and acceptance-tested it.
    • Mentored and supervised the junior developers joining the team, sharing both programming and business knowledge so that new hires were typically able to pick up first-line support within three months of joining.
    • Designed and maintained internal representation of financial products as a database and library (API). Integrated stakeholder information and understanding of financial services to cleanly model over 100,000 products across dozens of asset classes.
    Technologies: Java 11, Banking & Finance, RabbitMQ, APIs, Python, Solution Architecture, Software Architecture, Fintech, Financial Services, Back-end Development, Full-stack, API Integration, Architecture, Financial Modeling, Requirements Analysis, Performance, API Architecture, App Support, Deployment, Team Mentoring, Project Management, Bug Triage, Git, Hudson, Bash Script, SQL Server 2012, AngularJS, Java, Scala
  • Associate Developer

    2009 - 2010
    IHS Markit
    • Refactored the web app upload process, leading to a performance improvement by one order of magnitude and the acceptance of a new account of £70,000.
    • Improved team productivity by introducing improved workflow tools, including Git, Hudson, JProfiler, and Sonar. This reduced the "code freeze" period around releases from two weeks to one day and enabled parallel development.
    • Maintained documentation on the in-house wiki, focusing on relevance, correctness, and applicability. Praised by the manager for these efforts when other developers found it simple to take over basic maintenance and troubleshooting when needed.
    • Designed, prototyped, and implemented scalable grid architecture for distributed calculation, which enabled the company to sign larger accounts (£3 million in expected revenue stream) and expand coverage to offer valuations of risk.
    • Reorganized the build process, removing fragile dependencies and refactoring unclear targets, resulting in an estimated 100 working hours a month saved on slow and broken builds as well as immeasurable improvements on morale and workflow.
    • Mentored the colleagues and developed their abilities, both one-to-one and in group informal training sessions.
    • Automated the webserver validation process with Hudson and Nagios, saving around ten working hours a month of manual intervention and garnering commendation for the monthly meeting initiative.
    • Wrote and monitored the automated test suites, which included the first full definition of correct behavior. While incomplete on my departure, this raised coverage from 11% to over 60% on the packages concerned.
    • Replaced the custom database persistence library with Hibernate version, reducing defect report rate by over 90% and enabling developers to fix issues faster by one order of magnitude.
    Technologies: Banking & Finance, APIs, Oracle, Oracle PL/SQL, XML Web Services, HTTP, Mentorship & Coaching, Subversion (SVN), Git, Sonar, JProfiler, Hibernate, Hudson, jMock, Unit Testing, Spring, Back-end, XSLT, XML, Java
  • Java Developer

    2006 - 2009
    Site Intelligence
    • Reworked the input parsing code underlying the whole application to run multithreaded. Performance gains of 540% enabled us to take on larger accounts returning an immediate £200,000 in licensing revenue.
    • Created an email service integration module from initial specification to testing and delivery. This module was licensed for £55,000 in revenue in its first year.
    • Took ownership of and improved the client-side JavaScript for customer deployment, including refactoring from previous global-procedural structure to unobtrusive object-encapsulated design, which enabled us to win an account with a large supermarket.
    • Consulted with management to plan a feature set for future releases. The solid estimates and feedback on potential technical roadblocks improved the consistency of release delivery.
    • Completed the ongoing development across multiple modules, including estimation, development, testing, time tracking, and liaising with the technical author.
    Technologies: Spring, MySQL, Algorithms, Data Loading, Parsers, HTML, CSS, Microsoft SQL Server, PostgreSQL, SQL, XSLT, Web Servers, XML, JavaScript, Java

Experience

  • Real-time Charge Calculator

    A Scala application for calculation of commissions, financing, and other costs accrued by executed trades.

    I was in charge of investigating how we could automate the previously manual and error-prone process. Though the charges varied greatly in methodology, common elements could be extracted from them, and thus each "calculator" could be defined as a combination of functional blocks. I identified and implemented these components in a composable manner, setting up a daily batch to fully replace the manual process.

    However, my favorite aspect of this application was its extensibility. Initially, the configuration involved hand-editing the XML, and it was relatively simple to add an HTML front-end with validation without modifying the core logic. Some processes wanted charges available before the end-of-day. It was straightforward to embed the calculation core in a real-time trade-watching process. Other teams wanted to run charge calculations in backtesting, apportioning, or virtual trade calculations. I embedded this logic in a library compatible with the simulation API.

    I took an extremely thorny problem, and by stripping it down to an extensible core, built something beneficial that found its way into most teams' workflows.

  • Alpha Capture System

    A bespoke "fantasy trading" system for professional financial analysts. Working on this project involved developing several substantial components:

    - Front-end web app to allow users to enter and track their investment ideas.
    - Calculation module to evaluate the would-be performance of these ideas.
    - Internal API feed to aggregate, filter, and present these ideas to our trading teams.
    - Internal reporting front end for the derivation of commissions and rewards to the analysts under various criteria.
    - Back end to tie everything together and serve data efficiently.

    I was in charge of the development and architecture of all of these components, which often involved balancing priorities and paring down wishlists in the face of real-world constraints. Additionally (as was common at GSA), I acted as front-line support for the external and internal users, handling bug reports and general queries diplomatically.

    This project's success was down to acknowledging the potentially huge scope and insisting on a clean and extensible core, followed by incremental development of features in an order that would maximize overall project value. Honest and open management of stakeholder expectations was key to maintaining their engagement.

  • P&L Visualizer

    A web application that allows trading groups to see historical visualizations of their profit and loss, which replaced and augmented the previous daily CSV files sent out by the operations team.

    I was responsible for designing the application and creating the back end that would serve up the data. The performance was an essential requirement here. Through data warehousing techniques (including tiered pre-aggregation), I maintained sub-second response times for any combination of dimensions that the user query.

    The design required close collaboration with the users and the Ops team that produced the input. I not only produced a coherent UX workflow but was also able to effect changes in the Ops workflow to better align with users' needs, such as exposing ETAs and progress for each day's data.

    The single-page app sat on a Bootstrap framework, with custom JS to load data from the back end and pass to a dynamic charting library.

    The initial version was a great success because of its clear usability, with the CEO especially keen on it for use in pitches. I then extended the back end to augment official totals with calculated P&L breakdowns in close collaboration with Ops to align the methodology, which found widespread approval.

  • EDA Child Safety App
    https://www.eda-solutions.co.uk/

    EDA is a Swift-based app allowing children to send out an SOS signal to parents and responsible adults when they feel in danger.

    I co-founded this startup with the CEO, taking full ownership of the technical side. It was decided to target Apple devices, and despite not having used Swift before, I built out a functional and well-architected MVP within the six-month estimate.

    I also evaluated and procured the infrastructure required to create, deploy, and run the application, ensuring that the choices would suit our current low budget but be compatible with future growth.

    I was responsible for recruiting students to help with the development as part of a university project and mentoring them to industry best practices. The individual I took on is still with us after the project ended, as he feels he is getting a lot from the relationship, and his contributions to the project are becoming more meaningful.

    Together we built the back-end server in Python and Flask, prioritizing a clean, extensible core that both meets the needs of the MVP and provides a solid base for future development.

Skills

  • Languages

    Java, Python, JavaScript, XML, Java 11, Scala, Bash Script, CSS, HTML, SQL, XSLT, CSS3, HTML5, Haskell, Swift, PHP, Ruby, WSDL, TypeScript
  • Frameworks

    Spring, JSON Web Tokens (JWT), Hibernate, Bootstrap, AngularJS, Flask, Angular
  • Libraries/APIs

    JDBC, jQuery, REST APIs, jMock, SQLAlchemy
  • Tools

    JProfiler, Hudson, Git, IntelliJ IDEA, Subversion (SVN), Xcode, GitHub, Trello, PyCharm, Sonar, CircleCI, RabbitMQ
  • Paradigms

    API Architecture, Application Architecture, Back-end Architecture, Functional Programming, Continuous Integration (CI), Unit Testing, Requirements Analysis, Refactoring, User Acceptance Testing (UAT), Continuous Delivery (CD), Mobile App Design
  • Other

    Back-end, HTTP, Web Servers, Data Loading, Technical Architecture, Stakeholder Management, API Design, Architecture, API Integration, Back-end Development, Financial Services, Fintech, Software Architecture, Solution Architecture, APIs, Data Structures, Algorithms, Analysis, Bug Triage, Team Mentoring, Deployment, App Support, Performance, Technical Leadership, Full-stack, Mentorship & Coaching, XML Web Services, CTO, Interviewing, Recruitment, Code Review, Profit & Loss (P&L), User Experience (UX), User Interface (UI), Single-page Applications (SPA), Caching, Optimization, Feature Planning, Product Roadmaps, Infrastructure, Monitoring, Build Configurations, Financial Modeling, Financial Market Data, Large Data Sets, UI, Compilers, Parsers, AWS, Agile Deployment, App Store Acceptance Process, Mobile App Development, Front-end Development, Front-end, Data Warehousing, Graphing, Data Warehouse Design
  • Storage

    Relational Databases, SQL Server 2012, Microsoft SQL Server, SQL Performance, MySQL, PostgreSQL, Oracle PL/SQL, SQLite
  • Industry Expertise

    Project Management, Banking & Finance
  • Platforms

    iOS, AWS Elastic Beanstalk, Docker, Windows, Linux, Twilio, Oracle, Amazon Web Services (AWS)

Education

  • Bachelor's degree in Mathematics and Computer Science
    2002 - 2005
    University of Oxford - Oxford, UK

To view more profiles

Join Toptal
Share it with others