About

My name is Jeremy Soumokil and my job is to develop software. It feels as if I’m just solving puzzles, but I am fortunate that I can do it as a profession. I have been at it for 14 years now, but I am as eager to understand and find solutions for problems as when I got my first programming book for the C64.

Tools and methodologies change as technology pushes the boundary of our imagination and creates new needs and opportunities. However, some good practices never change. Take time to get to know the problem domain, stick to architectural principles and automate your development lifecycle for efficient delivery iterations – these are my ingredients to get you shorter lead times and predictable releases.

My professional career started in secondment as part-time developer during my studies. After receiving a Master’s degree on Computer Science with specialization on Technical Artificial Intelligence and a publication on AAMAS, I joined a technology consulting firm as software developer. I learned about the market and the needs of the industry. I took the opportunity to achieve VMWare Spring and Oracle Java development certifications and further developed my skills in heathcare, utilities and telecommunications. I focused on software architecture, programming design, networks and communication protocols, and experienced the dynamics in organisations. I continued doing what I learned and liked, and eventually started my own company.

With ApiRapi, I aim to be recognized as that knowledgeable team player who you safely trust that complex issue to and who can bring those features all the way to production. ApiRapi is the glue that brings applications together, through APIs delivered rapidly with experience and worksmanship. ApiRapi symbolizes the passion and reliability in my work by its Indonesian translation, “orderly fire”. And finally, ApiRapi is a compound imaginary word in Dutch, that suggests (at least to me..) a monkey that picks up things. Life is a beautiful thing and there’s so much to smile about.

 
 

Services

Training & Coaching

Increasing your knowledge and skillset is a driver for efficiency as well as motivation. Teaching can be explicit like a training session, but also just by leading by example.

Continuous Delivery

Taking the effort and invest in delivery automation will result in faster lead times, more predictable releases and more satisfaction for developers and stakeholders.

Web Security

Design to minimize the attack vectors of potential threats, such as spoofing, authenticity, tampering, integrity, repudiation, information disclosure, denial of service, elevation of privilege

Java & Web-development

Hands-on development is what I love! I have experience with Java, Spring, OSGi, Docker, Kubernetes, webservices, databases, messaging, networking, security, testing, monitoring, scripting, …

Networks & Virtualization

Containerization and orchestration technologies have standardized the way to describe infrastructure, networks and deployment. This empowers developers and paves the way for more automation!

Technical Writing

Agile thinking removed focus on documentation. Yet, technical designs and formal documentation have an important to play in knowledge transfer both internally as cross-domain

Performance testing

Multithreaded test automation is instrumental to baseline against non-functional requirements. Analysis of test results provide indicators on performance, throughput and stability.

Telecommunications industry

Extensive exposure to service monitoring and assurance domain on data, video and telephony products and the IT infrastructure in OSS, BSS and network domain.

 
 

CV

Period
November 2016 – Now

Role
Software Architect / Senior Java Developer

Summary
Providing software development services around software design, implementation, team leadership, training & coaching and process support around the software development lifecycle.

03/2017 – 12/2020
  •  Senior developer in a Scrum team responsible for development, infrastructure and releases of the gateway between end-users (web + apps) and the telecom provider BSS. Implemented custom authentication, authorization, caching, security, CSRF, two-factor authentication, data migration, monitoring and services that operate on client and product data. In addition, provided ideas and built prototypes for new features & products. Technologies: Java 8, Spring Boot, Redis, CSRF, JWT, SQL, CXF, JaxB, Swagger, JUnit, Mockito, RobotFramework, nginx, Kubernetes, Rancher, Jenkins, GIT, Gradle, Docker, Python, OWASP, 2FA, Cookies, CSRF, …

Employer
ApiRapi, Zaandijk

Period
November 2016 – Now

Role
Associate / DevOps Technical Lead

Summary
Spare time project that aims to bring a platform that makes development and implementation of IoE solutions faster, more secure and more flexible.

11/2016 – Now
  •  Responsible for infrastructure and deployment, set-up and maintenance of CI/CD pipeline, developer of proof-of-concepts, e.g. IoT app to bootstrap Pi, release manager tools, containerized test automation. Technologies: Java, Spring Boot, Kubernetes, Docker, AWS, Kafka, Jenkins, RobotFramework, Ionic, OSGi, Python, …

Employer
Kahwa SAS, Roquefort-les-Pins

Period
July 2010 – October 2016

Role
Software Development Consultant

Summary
Software Developer in Accenture’s Emerging Technology Delivery capability. Also active as career counselor, internship supervisor, supporting capability development initiatives, evaluating and interviewing candidates.

12/2013 – 10/2016
  •  Development lead & architect of a service assurance application that provides status, remote operation and analytics, based on real-time data aggregation from multiple data sources related to CPE metrics, network interfaces, DOCSIS, WiFi, connected devices and telephony. The application operates on a footprint of >4mln CPEs and is delivered with a combination of on-shore and off-shore developers. Technologies: OSGi, Spring, ServiceMix, Camel, GWT, SOAP, REST, SNMP, TR-069, HighCharts, ElasticSearch

09/2013 – 12/2013
  •  Front-end developer for a new set-top-box product running on proprietary middleware that exposes hardware functions as native Javascript objects. Technologies: Javascript, HTML, CSS, Webservices

11/2012 – 09/2013
  •  Team lead for the development of a real-time video, voice and network service reporting framework for the Network Operations Center. Technologies: OSGi, CXF, Spring, ServiceMix, SQL, MongoDB, GWT.

07/2012 – 11/2012
  •  Proof-of-concept developer to assess application features based on second screen concepts. Technologies: HTML5, PHP, WebSockets, Encryption, Authentication.

05/2012 – 07/2012
  •  Performance tester of a meta-data video delivery platform and CDN, based on JMeter test automation and performance monitoring. Responsible for driving weekly troubleshooting sessions.

09/2011 – 05/2012
  •  Developer of a second screen TV application serviced through a virtualized and cloud-based over-the-top video delivery platform. Technologies: HTML5, ExtJS, VMWare vSphere, JMeter, DTV platforms

08/2011 – 09/2011
  •  End-to-end tester of a new VoIP service for smart-phones running on Android and iOS, responsible for orchestrating vendors and coaching testers.

03/2011 – 07/2011
  •  Developer in a Scrum team delivering technical designs and development for a new collateral management system driven by the European Central Bank. Technologies: Java, Spring, Hibernate, JSF, JUnit, JMS

10/2010 – 03/2011
  •  Developer in the BSS domain of a cable provider. Affected components are business critical and interface with billing systems, SAP, CRM and third party banks. Technologies: Java, JSP, Kornshell, SQL

08/2010 – 10/2010
  •  Developer on a workforce management and optimization tool (ClickSchedule), building additional user interface add-ins, handling XML messages, and data representation through Microsoft Excel sheets.

07/2010 – 08/2010
  •  Developer of client-identification and order-intake functionality of multiple different legacy applications. The application is built using the Corizon platform, which uses Python to describe interactions with the legacy applications and Mashup pages as presentation layer.

Employer
Accenture, Amsterdam

Period
January 2007 – June 2010

Role
Medewerker Operator Group Delft (Detachering)

Summary
Provided project support to various clients, with activities around system administration (e.g. building inventory, deployment of hardware and software environments, administration of Windows Domains), network troubleshooting (across OSI-stack) or software development (e.g. electronic health record). Technologies & Platforms: DameWare, Citrix, VMWare, Altiris Deployment Solutions, McKesson x/mCare, JavaScript, SQL, CSS, HTML.

Employer
Operator Group Delft (OGD), Delft

Period
Februari 2009 – Augustus 2009

Role
Intern

Summary
Design + implementation of a Theory of Mind Agent-architecture. Technologies: C++, UnrealEngine3.

Employer
W!Games, Amsterdam