2021-02
~
Technical Lead
HSBC, London, United Kingdom
Industry: Investment banking
Position type: contract
Building a hosting platform using GKE (Google Kubernetes Engine) for Global Banking and Markets (GBM) Securities Financing departament.
Introduced a concept of a cross cloud providers hosting platform (GCP, Alicloud, AWS) to enable teams to deliver business solutions quickly and safely to production with toil reduced to minimum.
Leading technology choices and design.
Reviewing code for other team members and (as an independent reviewer) other teams.
Actively working with Product Owner and other stakeholders to manage priorities, define delivery items for team of 4 engineers.
Leading interviews.
Advocating Agile and DevOps.
Achievements:
Designed and implemented multiple services widely used in the department:
- Automated TLS certificates generation
- LDAP authentication
- Services catalog
- Automated release audit documents generation (change description, implementation tasks, testing evidence, quality scans, security scans) tailored for quick and safe approvals
- Deployment service fulfilling HSBC change management requirements
- Single sign on authentication/authorization mechanism for the UI components based on Kerberos and JWT tokens
Lead a series of mob programming sessions to promote Agile approach.
Delivered highly successful presentation about releasing smaller, faster and safer with highest number of views in the series.
Technologies: Kotlin, TypeScript, Git, Microservices, Hexagonal architecture, API-First, JIRA, Intellij IDEA, Maven, Bash, JSON, TLS certificates, LDAP, Kerberos, JWT, REST, Linux, GCP, Docker, Kubernetes, DevOps, Agile,
2020-12
~2021-01
Lead Software Engineer
HSBC, London, United Kingdom
Industry: Investment banking
Position type: contract
Successfully delivered a stock locating client facing application for Global Banking and Markets (GBM) Equities Prime clients.
Front to back delivery in a delivery-focused team following Agile and DevOps principles.
Lead technology choices and design.
Introduced an Agile approach with full customer collaboration using prototypes which prevented us from going into wrong direction.
Achievements:
The project was delivered on time although an initial 5-month delay when I joined the project.
Delivery resulted immediate increase in client short balances.
Technologies: Kotlin, Java, TypeScript, Git, Microservices, Hexagonal architecture, API-First, JIRA, Intellij IDEA, Maven, Bash, JSON, REST, SQL, Linux, DevOps, Ansible, Agile, webpack, puppeteer, Node.js, OpenFin,
2020-07
~2020-12
Technical Lead
HSBC, London, United Kingdom
Industry: Investment banking
Position type: contract
Building a hosting platform for JVM-based microservices to enable teams in Global Banking and Markets (GBM) Securities Financing departament to deliver quickly and safely business solutions to production. Advocating Agile and DevOps.
Lead technology choices and design.
Technologies: Kotlin, Git, Microservices, Hexagonal architecture, API-First, JIRA, Intellij IDEA, Maven, Linux, DevOps, Agile, GCP, Docker,
2019-07
~2020-07
Lead Software Engineer
HSBC, London, United Kingdom
Industry: Investment banking
Position type: contract
Successfully migrated client facing portal for Global Banking and Markets (GBM) Equities Prime clients from Flash-based platform to HTML5/TypeScript platform in an Agile iterative way with full business involvement.
Full back to front project including: analysis of existing solution, rewriting a monolith application into a set of microservices, migration of existing 6-month release cycle into one change - one release release cycle incorporating DevOps and Agile principles.
Built entitlements service and administrative UI.
Created a HTML5 application for OpenFin and browsers.
Lead technology choices and design.
Achievements:
Met the deadline with the safe margin.
Delivered product in an iterative way with full business involvement and constant feedback.
Technologies: Kotlin, Java, TypeScript, Git, Microservices, Hexagonal architecture, API-First, JIRA, Intellij IDEA, Maven, Clojure, JavaScript, Bash, JSON, REST, SQL, Linux, DevOps, Ansible, Agile, webpack, puppeteer, Node.js, OpenFin,
2019-02
~2019-07
Senior Software Engineer
HSBC, London, United Kingdom
Industry: Investment banking
Position type: contract
Worked on a service producing insights for sales people based on clients trading history using Machine Learning.
Achievements:
Redesigned service based on an integration database into set of microservices.
Automated release process which reduced manual steps to minimum.
Started a Rust User Group within HSBC. Brought Rust and Cargo into HSBC. Created crates.io mirror.
Technologies: Kotlin, Java, Rust, Git, Microservices, Hexagonal architecture, JIRA, Intellij IDEA, Maven, Gradle, Clojure, JavaScript, Bash, JSON, REST, PostgreSQL, SQL, Intellij IDEA, DevOps, Agile,
2017-09
~2019-02
Senior Software Engineer
HSBC, London, United Kingdom
Industry: Investment banking
Position type: contract
Worked on a project introducing a new revenue attribution model for sales people.
Achievements:
Completed full process of requesting, configuring and going through sign-off process of new production servers tailored for DevOps use.
Automated release process which increased delivery frequency from fortnightly to several per day.
Built a set of microservices to replace team management system (including design, REST request/response and streaming APIs, eventing-based replication, PostgreSQL database, automatic schema migration with Flyway, UI with plain modern JavaScript)
Technologies: Java, Ratpack, Git, Microservices, Splunk, Grafana, InfluxDB, Telegraf, Elasticsearch, JIRA, TeamCity, Intellij IDEA, Puppet, Ansible, Docker, Maven, Gradle, Clojure, JavaScript, Bash, JSON, REST, PostgreSQL, SQL, Linux, DevOps, Agile,
2016-06
~2017-09
Lead Software Engineer
HSBC, London, United Kingdom
Industry: Investment banking
Position type: contract
Worked at the FX eDistribution project on a backend service supporting an UI component responsible for controlling lifecycle of algorithmic FX orders (TWAP, Implementation Shortfall, Liquidity Seeking) and market FX orders (Stop Loss, Take Profit and Benchmark).
Lead backend services design and delivery.
Achievements:
Introduced automated integration and API contract tests which allowed to catch a number of issues with API our services consumed
Delivered Stop Loss and Take Profit orders in a cooperation with the algorithmic trading team
Technologies: Java, Git, Microservices, Splunk, Grafana, JIRA, TeamCity, Intellij IDEA, Maven, Akka, Scala, Clojure, Mockito, AssertJ, JUnit, Linux, DevOps, Agile,
2015-07
~2016-06
Senior Software Engineer
Ocado Technology, Hatfield, United Kingdom
Industry: Online grocery retail
Position type: permanent
Worked on low latency services (<10ms) that calculated availability of products in real time.
Services were designed to be highly available and scalable (akka cluster, AWS, blue-green deployment), highly responsive (actor model) and low latency (in-memory cache with akka sharding).
Services were based on CQRS and event sourcing.
Achievements:
Introduced idea of team goal which helped us prioritize tasks and have common vision of our services.
Proposed adjustments to our sprint (pair programming, one story at a time) that improved collaboration and helped building trust.
Created two OAuth2 libraries (non-blocking client with caching capabilities and testing library) that are widely used across teams at Ocado Technology.
Configured Continuous Delivery pipelines. Did a research on implementation of BlueGreen Deployment and found major flaws in the early stage what allowed us to prepare architecture of our applications before it's released to production.
Migrated production and integration tests environments to new AWS account before given deadline.
Technologies: Scala, Akka, Spray, AWS, Git, Event Sourcing, Microservices, Distributed systems, JSON, REST, Swagger, ScalaTest, JIRA, Guice, DynamoDB, OAuth2, Crucible, Kibana, Logstash, GO, Intellij IDEA, Maven, Linux,
2015-02
~2015-07
Senior Software Engineer
Ocado Technology, Hatfield, United Kingdom
Industry: Online grocery retail
Position type: permanent
Worked on the order management service.
Service was part of distributed platform based on cloud computing environment.
Achievements:
Introduced testing standards in the team.
Lead tests quality sessions.
Technologies: Java, AWS, Git, Microservices, Distributed systems, JSON, REST, Swagger, Hystrix, PostgreSQL, Python, OAuth2, Cucumber, Mockito, AssertJ, JUnit, Jenkins, Guice, DynamoDB, Crucible, Kibana, Logstash, GO, Intellij IDEA, Maven, Linux,
2014-03
~2015-01
Senior Software Engineer
Luxoft, Krakow, Poland
Industry: Investment banking
Position type: contract via vendor
Contractor at UBS Investment Bank.
Worked on front office applications (capital commitment, automatic indication of interest generation and trade advertising) supporting sales traders and market makers at Cash Equities project.
Applications were event driven, based on FIX protocol and low latency (<5ms).
Achievements:
Reverse engineered trade advertising and automatic indication of interest generation and made a presentation for business users.
Implemented a proper handling of introduced algos within Sales Facilitation applications.
Introduced automatic system tests increasing quality of produced software.
Enhanced logging by adding single request tracking which significantly decreased the investigation time in case of an issue.
Set up automatic build system which improved speed and reliability of the release process.
Technologies: Java, QuickFIX/J, CameronFIX, Spock, Groovy, Git, Gradle, Jenkins, Oracle, JIRA, SVN, Intellij IDEA, SQL, JUnit, AssertJ, Guava, Mockito, Linux,
2011-07
~2014-02
Technical Lead
Senior Software Engineer
Software Engineer
Sabre, Krakow, Poland
Industry: Airlines and airports
Position type: contract / permanent
Worked on a cost saving migration project which involved over 30 major airlines.
Lead the team of 4 developers during the last year of the project.
The project was very challenging due to multiple dependencies (Sabre's internal systems, customer's systems), no downtime requirement, big amount of user data (data of 30M+ passengers of airlines), pressure of time, little documentation of the legacy system and all of it's features.
Service was part of distributed platform built using SOA and SOAP web services.
Achievements:
Finished the project 3 months before required deadline (license renewal of a proprietary mainframe).
Developed a XML comparison library using bipartite graph algorithm that significantly decreased number of discrepancies during the migration.
Created automated configuration diff tool reducing release time and increasing quality.
Lead best practices developers meetings which helped keeping common understanding of the system in a big team (30 developers).
Created a configuration API as an abstraction over a configuration source (file, DB, JMX) that allowed operations team to have flexible configuration.
Created searchable log application for QAs which allowed testing untestable before aspects.
Technologies: Java, Java, Spring, Hibernate, XSLT, Guava, Maven, Apache Wicket, AspectJ, JUnit, Mockito, Fest, MySQL, MyBatis, Apache Camel, XPath, XML, XML Schema, Oracle, Clojure, Distributed systems, Linux,
2010-06
~2011-06
Software Engineer
Sylogic, Warszawa, Poland
Industry: Websites
Position type: permanent
I've been developing web applications for customers. I took part of whole process of creating application (gathering requirements, analysis, designing, developing and deployment)
Technologies: Java, Spring, Hibernate, JSF, Maven, Apache Wicket, Tiles, Intellij IDEA,
2006-01
~2009-07
Linux administrator
ConSol* Consulting & Solutions Software Poland, Krakow, Poland
Industry: CRM
Position type: part-time
I've built and been maintaining infrastructure for a technology company which employed 30 developers.
Achievements:
Developed income optimizer for hospitals. Successfully deployed at the hospital in Sucha Beskidzka.
Researched and developed a 'proof of concept' application WebCTI - Asterisk / ConSol* CM in a single person R&D project.
Technologies: Linux, Bash, awk, Java, Apache Wicket, Spring, Hibernate, Maven, Intellij IDEA,