Overview
More than 20 years of exceptional track record in designing and implementing interoperable, distributed software solutions. A highly proficient software specialist with expertise in developing robust, cloud-based REST and microservices solutions that are scalable, high-performance software systems. Such systems require comprehensive knowledge of concurrent, distributed systems that are interoperable and need to communicate with other nodes in heterogeneous networks. Mr. Jamil is an excellent team player and his expertise lies in software architectures, object-oriented analysis and design, JEE and Java technology and modern software development processes.
Career Summary
March 2020 – To date |
Cboe Clear | Senior Java Developer |
November 2018 – March 2020 |
Idexx | Senior Java Developer / Architect |
November 2016 – October 2018 |
Nuon / Vattenfall | WSO2-IS / Java Lead Designer |
June 2016 – October 2016 |
ING Bank | Senior Java Developer |
October 2015 – May 2016 |
Rabobank International | Senior Java Rest API developer |
September 2013 – September 2015 |
KLM | Senior Java developer Electronic Search & Booking system |
September 2010 – August 2013 |
IMC B.V. | Electronic exchange connectivity Developer |
April 2010 – August 2010 |
KLM | J2EE / Web services consultant (via Capgemini) |
April 2009 – March 2010 |
Allianz | Senior Developer / Analyst (via Capgemini) |
April 2007 – March 2009 |
Nationale Nederlanden | Technical Analyst / Coordinator (via Capgemini) |
April 2007 – August 2010 |
Capgemini Netherlands | Senior Consultant |
April 2006 – March 2007 |
International Industries Limited | Software Architect / Developer (via XyberMoguls) |
November 2002 – March 2006 |
Telewest Communications NV/SA | Software Architect / Developer (via XyberMoguls) |
December 2000 – October 2002 |
IMC B.V. | Senior Software Engineer (via XyberMoguls) |
December 1999 – March 2007 |
XyberMoguls B.V. | Software Engineer |
Academic Summary
1996 - 1999 |
University Of Karachi, Pakistan | B.S. Computer Science |
2009 - 2011 |
ROC, The Netherlands | Inburgering / Dutch language course |
Competence Summary
Domains
- Identity and Access Management
- Corporate Banking
- Electronic Trading
- Electronic Flight Booking
- Healthcare
Cloud Platforms
- Azure (API management, VMs, Loadbalancer)
- AWS (API Gateway, ElastiCache, Lambda, VPC, Loadbalaner, Global Accelarator, S3, Route53)
Languages, Tools, Technologies and Frameworks
- Java 8
- JEE
- Spring / Springboot / Spring Batch / Spring Integration
- Hibernate
- REST and SOAP services
- Dockers
- Java FailSafe
- EHCache, Hazelcast
- JUnit, Mockito
- Apache Spark
- Intellij, Eclipse, JVisualVM
- Maven, Gradle, Jenkins, Sonar, TeamCity, DeployIt
- Wireshark, Jira
- Git, SVN, Stash, Cruicible
- JMeter, Gatling
- JSP, PHP, Servlet
- Java script
Electonic Trading Protocols
- FIX, Fast/FIX
- ITCH, OUTCH
Application and Web Servers
- Tomcat, JBoss, WebSphere
- WSO2 Identify Server
Databases
- Oracle, MySQL, SQL Server, InfiniSpan
Software Processes
- Agile methodologies, Scrum
- Extreme Programming
- TDD
Career Details
March 2020 - to-date
Cboe Clear
clear.cboe.com
Position:
Freelance Senior Java Developer
Overview
Developed the complete Liquidity Management Project in record time. Worked in a small team and delivered the whole solution in 3 month, while working from home from day 1.
Role
Senior Java developer
Achievement
Built the complete Call management module. This module generates mandatory or optional debit request for trading parties, based on the current liquidity need for settling trade transaction. Built Post Trade API Cboe Clear will be launcing a new service called Securities Financing Transactions (SFT) https://clear.cboe.com/europe/resources/roadmap_initiatives/sft. Building the Inventory Management System for this new system.
Tools and technologies
Java 21, Spring, Spring Boot, REST services, Kafka, Kafka Streams, Domain Driven Design, Event Sourcing
November 2018 - March-2020
IDEXX
www.idexx.nl
Position:
Freelance Senior Java Developer / Architect
Overview
Developed an integration layer between an inhouse developed Animal Health Care and (SAP) Finance system. The integration of the two system is required to generate financial reports and customer invoices. It also enables Idexx to keep track of their daily revenue. This integration layer comprises of service-oriented (two way) channels and batch processes which are developed using Spring Boot, Spring Integration, Spring Batch and Amazon Cloud platform. The solution is developed for Canada and UK markets and process millions of requests and records per day.
Role
Lead developer and Architect of the complete solution. This requires constant communication with Canada and UK analysts and business and layout a solution which can work for multiple markets with vastly different requirements.
Achievement
Legacy system takes more than 1 hour to process a maximum of 10K records. New solution can process those records in 20 seconds and has no limitation on the maximum number of records. With this new solution Idexx can keep track of their daily revenue and order status nearly real time.
Tools and technologies
Java, Spring, Spring Boot, Spring Integration, Spring Batch, REST services, AWS Lambda, AWS Elasti Cache, AWS API-Gateway, AWS Global Accelerator, AWS Application Load balancer
November 2016 - October 2018
NUON / Vattenfall
Position:
Freelance Java and WSO2 Identity server lead designer. Solution Designer
Overview
Implemented an Identity and Access Management (IAM) system for the Nuon (Vattenfall) B2C system. This system provides an authentication and authorization solution for a portal that has a user base of 1.9 million users. After a successful authentication process, these users can manage their products and track their engery usage. This IAM system uses the WSO2 Identity server as a core product and provides APIs for user authentication and user provisioning. During the migration period it also provides a federated authentication mechanism to migrate users from the legacy system to the new IAM system. The solution is built and deployed on top of Azure cloud components.
Role
Team lead, Solution designer and Senior developer. It also involved managing and hiring new resources for the project designing and implementing the API. Providing technical assistance to the junior developers.
Achievement
Migrated 1.9 million users to the new WSO2 based Single Sign ON IAM solution.
Tools and technologies
Java, Spring, WSO2 Identity Server, Azure cloud, MS SQL Server, Hazelcast distributed cache
June 2016 - October 2016
ING Bank
Position:
Freelance Senior Java Developer
Overview
Working in the Risk Analysis and Computing team to migrate the legacy simulations to an Apache Spark based big data simulation system.
Role
Senior Java and Spring developer migrating/implementing the legacy simulations to new platform. Also involved helping the management to create a migration strategy.
Tools and technologies
Java, Spring, Apache Spark, Google protocol buffers
October 2015 - May 2016
Rabobank International. Online security team
Position:
Freelance Senior Java REST API Developer
Overview
Designing and developing a REST API to facilitate corporate banking operations. This API System provides an intuitive and highly scalable interface to build internal and external systems for corporate clients. Back-end of the system uses SOAP services layers to access and manipulate the corporate data stored in LDAP and Oracle DB.
Role
Senior developer designing and implementing the API. Providing technical assistance to the junior developers.
Tools and technologies
Java, Spring, Spring MVC/REST, Spring batch, Websphere, LDAP, Oracle
September 2013 - September 2015
KLM - Electronic Search & Booking tool
Position:
Freelance Senior Software Engineer
Overview
www.klm.com provides an online search and booking tool to find and book lowest price tickets. This site provides a unique view of cheapest flights per year and per month for both outbound and inbound flights. Month by month or day by day price overview gives every user an option to compare the prices and book a journey with optimum flexibility. The whole application is divided into two parts, Search and Checkout. Search provides a single page web application optimized for searching cheapest flying options and checkout helps user to buy extra options and make a payment. Rebooking functionality is recently added in this application.
Role
Worked as a senior back-end developer for the REST based back-end for the search and booking tool. Also added a few simple and small front-end components for the single page search application.
Achievement
Implemented 80% of the back-end for the rebooking functionality. Gain reputation as a star developer who can burn 40% of the sprint points without compromising any quality or standards and always deliver things in time.
Tools and technologies
Search is a single page web application built with html and java script. This front-end uses a REST based back-end written in Java to execute different use-cases. SOAP services’ clients fetch the information from Amadeus about flights and reservations. This system is recently moved to Tomcat (from Websphere) and uses Oracle db to store transactional data. This system also uses MQ to provide feed-back to the internal monitoring systems.
September 2010 - August 2013
International Market Makers B.V. (IMC)
Position:
Electronic Exchange connectivity software engineer
Overview
IMC is a market maker, which connects to more than 50 electronic exchanges for High Frequency Trading (HFT). Electronic Exchanges the entire world uses some (flavors of) standard protocols to dispatch market data (feed) and accept orders for electronic trading. IMC connects to all these exchanges with the help of locally developed connectivity solutions (drivers). These drivers not only dispatch the market feed but also provides an interface to submit orders/transactions to the electronic exchanges. Depending on the exchange protocol, these drivers can provide a two-way information flow with a latency of microseconds.
Role
Development and support of the high-speed connectivity software. Add connectivity solutions to connect with new markets. Support protocol migrations and improve performance of existing solutions.
Achievement
Successfully developed mass quoting for CME exchange. Developed the software to enable IMC (Chicago) to enter the Brazilian market (Bovespa) for the very first time. Migrated the TOM connectivity solution to ITCH which makes the market data feed dispatch to be ~300 milliseconds faster.
Tools and technologies
The system is designed using state of art Object Oriented and concurrency patterns. It is written in Java/JEE and runs under Linux and Windows and uses MySQL database. Objects are serialized using XML and Java standards and distributed over TCP and UDP.
April 2010 - August 2010
KLM - JEE Consultant (via Capgemini)
Position:
Senior J2EE / Web Services consultant
Overview
Flight management system (FM) is a KLM system to manage flight bookings, cargo handling, fuel status etc. It is a complex system involving heterogeneous sub systems interfacing with the help of web-services. KLM was porting this system to the latest web services and business standards.
Role
Understand domain requirements, create designs and implement services. Analyze and debug performance problems, improve the reference architecture for developing web-services. Provide expert opinion on different projects.
Achievement
Improving services performance by 30%, porting JAXB services to JiBX.
Tools and technologies
Java, JAX-WS, JiBX, Spring, Hibernate, Websphere, TIBCO.
April 2009 - March 2010
Allianz – Hypolife mortgage system (via Capgemini)
Position:
Senior Software Developer
Overview
Hypolife is a web-based mortgage application management system that manages the complete process of a Mortgage Application. It uniformly connects all the Intermediaries with Allianz and streamlines the whole business process. Hypolife is developed using MDSD (model driven software development) approach. All business processes and constraints are defined as models and then a proprietary code generator is used to generate Application flows, Model layer, Persistency layer and External Interfaces definitions. This approach makes the whole software development process very agile and supports easy software evolution.
Role
Analyze complex domain requirements. Design and implement technical solutions for the problem.
Achievement
MDSD approach makes it possible to add late requirements efficiently. Hypolife streamlines the whole business process and cuts down overall Mortgage Application processing time.
Tools and technologies
Java, Spring, Hibernate, Spring Webflow, JBoss (for development), Websphere (for production environment), Hypersonic, DB-2.
April 2007 - March 2009
Nationale Nederlanden – DUPLO system (via Capgemini)
Position:
Technical Software Analyst and Architect
Overview
Duplo = “De Uniforme Pensioeninvoerapplicatie voor de Leven Collectief Organisatie” Duplo and OffIS are designed and developed to provide a uniform interface for handling requests related to creation or updation of Pension and Insurances. Duplo makes it easy for the users to create customized offers for their clients by hiding the complexity of the pension and insurance domain under its intuitive user interface and simple but powerful design. This system communicates with legacy systems running on heterogeneous environments like Mainframe and AS400.
Role
Analyze complex technical requirements; devise technical solutions for the problem. Design new solutions. Lead a team of software engineers working in India.
Achievement
The staging system designed to add requests and process mutations cuts down the overall processing by half. In addition it enforces a 4 eye data review principle which dramatically reduces the number of errors made by pension and insurance agents during calculations. Compared to the old AS400, Duplo’s intuitive user interface and simple processing flow makes it possible for the real insurance experts to use the system without having A2400 operating skills.
Tools and technologies
Java, EJB, Websphere, Oracle, DB-2
April 2006 - March 2007
International Industries Limited – FlexTrack MRP Solution (via Xybermoguls)
Position:
Software Architect / Senior Developer
Overview
This system facilitates Production Planning, Scheduling, Order Management, Price Management, Inventory and Warehousing, Raw Material Management and Invoicing. The system provides complete pipe production life cycle management from Order to Plan, Plan to Production and Production to Warehousing or Order Delivery. System provides a platform to generate efficient production plans with a single click based on available resources, machine configuration and user defined criteria.
Role
Designed and Architect the system and lead a team of 15 software engineers. Implemented critical and major components of the system.
Achievement
The user can track the complete life cycle, from coil to the pipe production, with the help of FlexTrack. Production Plans can be generated and updated within minutes that help in keeping track of more than 20 Plants running in the factory.
Tools and technologies
Java, EJB, Hibernate, JBoss, MySQL, SQL Server 2000
November 2002 - March 2006
Telewest Communications – FlexTrack: Revenue Tracking (via Xybermoguls)
Position:
Software Architect / Senior Developer
Overview
This project has resulted in the deployment of a high performance Revenue Tracking Solution on FlexTrack for Telewest, a Belgian operator. FlexTrack is a carrier-class telecom server platform suitable for running multimedia applications or applications that track network resource usage or operator’s revenue tracking or IN like services. The Revenue Tracking Solution consisting of the following applications: Billing Solution, Mediation Platform, Rating Engine, Interconnect and IN Services such as Least Cost Routing (LCR), Prepaid and Value Added Service (VAS). The Mediation Platform collects, validates, formats, routes and reliably distributes (guarantees no loss or duplication) usage events (CDRs) in real-time from vendor independent switches including the AXE to Billing and Post Processing Systems. Extremely scalable, it is capable of mediating millions of usage events daily. Number Portability (NP) collects NP information in real-time from CRDC into FlexTrack. The SSP on AXE demands in real-time and concurrently, NP information from Flextrack using TCAP on INAP. The service is capable of being used by other operators concurrently in real-time through dedicated links.
Role
Member of the architecture team for this project, which required highly specialized J2EE and JAVA skills and expertise in designing high performance distributed architectures. Also essential was experience of developing large, real-time enterprise solutions, which fulfill stringent requirements for availability, performance, robustness and scalability. He was responsible for developing the Mediation Platform and IN Service Number Portability for Belgium based on CRDC.
Achievement
The maiden deployment at a Belgian Telco has resulted in dramatic reduction of fraud and achieved phenomenal improvement in Mediation, Rating and Billing performance. The deployment Mediates and Rates millions of usage events daily and has reduced billing cycle 6x. NP is an extremely cost effective solution.
Tools and technologies
Revenue Tracking is written in JAVA, implemented on the J2EE framework, is platform neutral and deployed on JBOSS application sever and Linux. It can also be deployed using BEA Weblogic or IBM WebSphere Application Servers. It’s designed using the Object Oriented paradigm and makes good use of patterns. Development of the systems requires sound knowledge of Hibernate, JDBC, JFC, EJB, Java RMI and CORBA. Development tools used included: the IBM Rational Suite, JRUN, TogetherJ and JPROBE
December 2000 - October 2002
International Market Makers B.V. (IMC) - Option Trading Platform (via Xybermoguls)
Position:
Software Engineer and participated in the Architecture team
Overview
Option Trading platform, a 50 man-year project, is an exceptionally successful option trading platform used for arbitrage trading by IMC the largest Dutch, Market Maker. Options data from several major exchanges including Euronext and LIFFE is received through live data streams from providers such as Bridge, Mercury and TopCAC. Feed drivers import and transform the data from vendor specific formats into a common information model. The data undergoes intricate processing to spot arbitrage opportunities.
Role
As member of the architecture team, was assigned to help develop some of the components of the trading platform. Help defining the mechanisms for concurrent, asynchronous and event driven trading systems, strategies for options trading and maintaining volatilities. Also took part in the task of identifying mechanisms to seamlessly exchange information between object oriented and relational paradigms. Construction of real time duplex drivers for exchanging data between applications and various stock exchanges, which enables electronic trading. Providing interfaces for trading and tracking portfolios.
Achievement
Successfully developed a framework to develop electronic trading applications and drivers. Applications developed on this framework have the best performance on the Amsterdam Exchange (AEX) capturing most arbitrage positions, daily. Executes automated transactions within a microsecond.
Tools and technologies
The system is designed using state of art Object Oriented patterns. It is written in Java and runs under Linux and Windows and uses MySQL database. JavaCC is used to implement parsers. Objects are serialized using XML and Java standards and distributed over TCP/IP. JProbe is part of the unit testing mechanism and is used to quantify the performance of the packages and components
December 1999 - December 2000
XyberMoguls B.V. (XM) – FlexTrack: A Telecom Server Platform
Position:
Senior Software Engineer
Overview
FlexTrack is a carrier-class telecom server platform suitable for running multimedia applications or applications that track network resource usage or operator’s revenue tracking or IN services. It is truly (linear) scalable and fulfils stringent requirements for availability, performance and robustness. It is OPEN, uses J2EE, and is designed to be platform neutral (NT and Linux). FlexTrack is implemented using a component-based architecture; it is highly configurable and can be easily integrated to third party products or to any network element or application on the network without disrupting existing services or network elements. Developed from inception, the platform is designed to operate with clustered hardware, distributed software architectures (CORBA compliant) and interoperable applications. The platform provides components for communications, control functions and mechanisms such as persistency and security. It was a 20 man-year project implemented by a team of about 20 engineers.
Role
Lead software designer for defining mechanisms and standards for platform independent implementation, testing and deployment of the system on heterogeneous platforms.
Achievement
Developed a generic reusable framework, which enables the development of event driven and pipe lined applications. This framework provides robust, flexible and extensible mechanisms for persistency, inter-process communication, asynchronous communication, pipe lined task execution, event handling, platform independent file handling, memory pooling, environment configuration, fault reporting and error handling.
Tools and technologies
The platform, written in C++ and JAVA running under Linux, is developed using iterative and incremental processes. Components are designed using the Object Oriented paradigm on an XML based protocol. CORBA is used to communicate with the outside world.
Academic Details
1996 - 1999
B.S. Computer Science - University Of Karachi, Pakistan
Courses Studied
- Object Oriented Analysis and Design
- C++, Java, COM, DCOM
- Automata theory, Compiler construction
- Discrete Mathematic,
- Relational Databases Design
- Operating Systems Architecture, Networking theory
- VLSI Techniques
- Advance Software Engineering, System Analysis and Design and Algorithmic Analysis & Design
- Operational Management, Dynamic Programming, Statistical Methods
Projects
- Natural Language Processing Interface for the Traveling Guide expert system
- Computer controlled Robotic Arm
- Automated Semester Cell system for University of Karachi
- FTP (File Transfer Protocol) Client
- DBMS application for the Patients Admission System Aga Khan University Hospital
- Statistical Methods Based Password Checker
- Jigsaw Puzzle