I am an experienced Java/Scala developer (13 years) with hands-on development, design, analysis and deployment on several IT projects worldwide and different industries. I am also a technology enthusiast (Scala, JVM-based languages, Akka, The Reactive Manifesto (http://www.reactivemanifesto.org/) - Rx, Ruby) and certified (SCJP 5.0 and SCWCD 5.0) Java/JEE/Web professional with strong academic background on Computer Science (MSc and BSc with honour - first class).
My main skills are related to Java/Scala technologies (mostly back-end and quite good front-end as well), both considering Web and distributed environments (JEE), and also desktop-standalone (JSE) development: Java 8, Scala 2.11, ScalaTest, Play Framework, Slick FRM, Akka Actors and Akka HTTP+Streams, Http Dispatch, Multi-Threading APIs, strong OO concepts, design, JS/Ext/GWT, JSP, Taglibs, JAX-RS (Apache CXF), Apache Camel, Spring 2.5 and 3.0 (IoC, Batch, Web MVC, AOP, Integration JMS, Security, Social, Mobile and so on), Swing, SWT and Eclipse RCP, JFace, JDBC, EJB 2.x and 3.x, Websphere, Apache, Tc Sever, Hibernate, DWR AJAX, XML, Scrum, Agile, TDD with JUnit, EasyMock, PowerMock, Mockito, REST-assured, BDD (BDDMockito, Cucumber), OSGi, Karaf, Oracle, SQL, PL/SQL, Web Services, REST, Amazon AWS Cloud (EC2, S3, RDS, SQS, SNS) and others.
Java/Scala Developer (Contractor) @ IT Contractor under own limited company working on a full Java/Scala Web development stack in different projects and industries, such as Retail, Publishing, Media, E-Commerce, Finance & Banking, IT Consulting and so on. From May 2013 to Present (2 years 8 months) London, United KingdomScala Developer @ From July 2015 to Present (6 months) London, United KingdomJava/Scala Developer (Contractor) @ Working as Java/Scala developer to build the backend Web and Restful based application for shelf optimisation to provide the best management of products and space allocation. The shelf optimisation is based on linear programming (LP model) using an optimiser/solver called Gurobi.
Main Responsibilities & Achievements:
- Extensive usage of REST APIs using Spring MVC and Spring Data REST for the front-end Angular based Web application
- Extensive usage of data and message driven channels via Apache Camel routes integrated with Akka-Camel for interfacing with the Play Framework- based solver/optimiser application
- Fully integration and wiring of managed beans & components using Spring IoC annotation-based configurations
- Design and development in Scala of the main layer of the application based on Play Framework and Akka-Camel, which was the solver layer responsible for creating the linear programming mathematical model in Gurobi optimizer
- Development of a Scala DSL (called “OptZ”) for the Data Analysts to create high level abstract mathematical models
- Coding best standards and practices using good design-pattern, following Fluent syntax and Builder design-pattern
Main Technologies: Java 8 with functional programming, Scala, Akka-Camel, Akka-HTTP, Play Framework, Slick FRM Linear Programming and Optimisation, Web RESTful API, Swagger, Spring Boot, Spring MVC, Spring Data REST, Spring IoC, Apache Camel, Hibernate, JPA, MySQL, Oracle, MongoDB, TDD (Mockito/PowerMock), BDD with Cucumber, Jacoco for code coverage, Ehcache, Maven, Agile, Scrum, CI, Maven, Bamboo, Confluence, Jira, FishEye and Crucible. From August 2014 to July 2015 (1 year) London, United KingdomSoftware Engineer (Contractor) @ Working as Software Engineer to build the back-end system to capture and publish elections data for GB, EU and NI local elections.
Main Responsibilities & Achievements:
- Extensive usage of REST APIs using JAX-RS via Apache CXF for ingest and publish of election data from the data provider and front-end editorial Web application
- Implementation of front-end editorial Web application using Backbone.js, RequireJS, Mustache and Jasmine for TDD JavaScript in the client all managed and composed in a JS bower environment (AMD components)
- Extensive usage of data and message driven channels via Apache Camel routes for ingestion, XSLT transformation, DB persistence, enrichment and publish to Amazon SNS topic and SQS queues
- Fully integration and wiring of managed beans & components using Spring IoC annotation-based configurations
- Coding best standards and practices using Fluent syntax and Builder design-pattern
Main Technologies: Web RESTful, JAX-RS with Apache CXF, Apache Camel, OSGi with Karaf, Spring MVC, JSP, JSTL, EL, Javascript, Backbone.js, jQuery, Boostrap, Jasmine, Junit, TDD (Mockito and BDDMockito), BDD with Cucumber, Amazon AWS (SQS, SNS, S3), Agile, Scrum, CI, Maven, Jenkins, Confluence and Jira. From March 2014 to July 2014 (5 months) London, United KingdomJava/Scala Developer (Contractor) @ Working as Java/Scala developer I was involved on a distributed (onshore and offshore) development team to work collaboratively on the new Web London Gazettes platform, following good RESTful and HTTP principles to support Web 3.0-based services (Semantic and Ontological Web) for online publishing, editorial content management, E-Commerce, billing, and printing.
Main Responsibilities & Achievements:
- Extensive usage of Spring MVC and Spring Integration to provide RESTful services for the Web publishing platform
- Implementation of a Scala script for batch processing of XML-based feed from Companies House data services using Scala HTTP Dispatch library
Implementation of the Gazettes E-Commerce platform and integration with the billing backend systems written in .NET via SOAP
- Coding of the online publishing channel using Spring Integration, ActiveMQ and NoSQL data store in MarkLogic
- Design and implementation of a global error handling mechanism via Spring Integration
- Tuning of application performance with HTTP Caching mechanisms, such as HTTP headers and conditional requests
- Tackling production issues and performance improvements for the Java/JEE Web tier layer in Tomcat
Main Technologies: RESTful, good HTTP principles, Spring Framework (MVC, Integration, Security, REST, WS-SOAP), Scala scripting, HTTP Dispatch lib, Hibernate, TDD (EasyMock, Mockito & PowerMock), Integration Test Case with Spring and Restassure, JMS (ActiveMQ integrated with Spring Integration), SVN, Web services (SOAP and REST), Ajax (JQuery), EhCache, Oath authentication with Spring Security, Tomcat and Apache servers, XML+XML parsing (DOM, Sax, Castor, XStream), Xpath, XSLT, Web 3.0 (Semantic and Ontological), XML, RDF+RDFa, MarkLogic (NoSQL DB), MySQL DB, Scala. From May 2013 to March 2014 (11 months) London, United KingdomSenior Java Developer (Team Lead) @ At Northcliffe Digital / Local World I've been working as Sr. Java Developer (Team Lead) being responsible for coding, designing, architect, leading, coordinating, deploying and providing support for production systems, such as Localpeople, WPS (Web Publishing System), TiN ("Thisis" Network) and Wowcher.
The localpeople.co.uk is an extensive network platform of local community sites developing rapidly across the UK. The LP sites serve the local community by providing a space online where locals and businesses can freely interact and connect with each other about what’s important for them and their businesses. Localpeople provides two different platforms for locally-targeted social networking and businesses directory services (http://www.localpeople.co.uk). An in-house built CMS tool called WPS (Web Publishing System) has been developed to provide support, manage and publish in an easy and integrated way the Web contents for all the platforms.
For our ‘thisis’ network platform, which serve editorial news, UGC and classified information across the UK regional communities, I have led the migration onto a brand new platform and further development of new and enhanced features for the websites. As Team Lead I am responsible to provide technical support to the development team (7 server-side and 3 front-end).
Wowcher.co.uk is a website offering daily deals which allow a customer to buy a voucher which can be redeemed at businesses offering their goods and services at discounted prices. At Wowcher.co.uk I have developed and led the development team of 4 Java developers and 1 front-end.
Main technologies: Java 5 and 6 EE, Java Multi-threading, Spring 2.5 and 3.0 (Spring MVC, Spring IoC, Spring Batch, Spring Security, Spring JMS, Spring WS REST API, Spring Template), Hibernate, SQL/PL SQL, Oracle DB and Oracle Coherence, Tomcat, TcServer, JSP/Servlet/EL, Amazon Cloud, EC2, RDS, DWR (Ajax), Ext/JS + GWT, SiteMesh, Velocity and so on. From November 2009 to May 2013 (3 years 7 months) London, United KingdomJava Team Lead - Sr. Software Engineer @ I have worked as Java Team Lead. I was responsible for managing and coordinating a team composed of 6 Java developers. Beyond, development of core functions of the system have been developed by myself.
In this project, our main focus is related to providing support for several systems involved in the Consumer & Goods sector for Avon company. Avon’s Customer Care area has been supported by several informatics systems, since manufacturing to selling and delivering process.
The main involved technologies were Java EE, JSP, Servlet, AJAX, XML, Spring, Hibernate, JMS (IBM MQ) and BPM. From April 2009 to August 2009 (5 months) São Paulo Area, BrazilSenior Java Developer - Software Engineer @ I have worked for UBS Investment Bank as eTrading Java developer involving message exchanging patterns (JMS) and inter-process communicating systems applied to Financial Services.
The eTrading or Electronic Trading systems provide a method of trading securities (such as stocks, and bonds), foreign currency, and exchange traded derivatives electronically. It uses information technology to bring together buyers and sellers through electronic media to create a virtual market place. Those systems aim to reduce cost of financial transactions and greater liquidity, which increases the efficiency of the worldwide markets.
The software platform is based on Java and .Net architectures. The communication tier is based on client-side through hand-coded Java business components with message middleware based on JMS specification (third-party based on Tibco RV and EMS). The distributed services, such as transactions, clustering, security and monitoring have been developed in-house. The client tier is based on Java standalone (Java Swing + AWT), Java web (JSP, Struts, JSF) and .Net platform (C#). In the persistency layer we have in-house persistent framework over Sybase and Oracle databases. The OS the financial services were hosted is Unix-based platform. From April 2008 to April 2009 (1 year 1 month) London, United KingdomJava Developer (Java/JEE Specialist) @ Software Engineer (Java Specialist) being responsible for the development of applications on distributed and standalone environment. My main focus was related to the distributed environment using SOA (System Oriented Architecture) through Web services.
The main involved technologies were Eclipse RCP (Rich Client Platform) and WTP (Web Tool Platform), Web services, IBM WebSphere Application Server, SOAP, HTTP(S), Design Patterns, XML, Javascript, HTML, AJAX, Struts, JSP, Servlets, TagLibs, Hibernate, JDBC, DB2, automatic build using ANT scripts, CVS, Rational ClearQuest, Bugzilla, SWT, JFaces, Swing, Hibernate and Derby Cloudscape database.
- System Analyst: system design and requirements specification using UML diagrams and Design Patterns. From February 2007 to April 2008 (1 year 3 months) São Paulo Area, BrazilSoftware Engineer and Msc Researcher @ Motorola Test Automation Framework – focused on testing automation for cell phone applications, reducing the cost and time, beyond adding quality in the final product. This project is inserted on Motorola/BTC – Brazil Test Center. The BTC has been awarded with “National Premium in Software Quality and Productivity” promoted by MCT/SEPIN/PBQP-SW, and technologic innovation by Finep. The project supplies high capacity in software engineering with specialization in testing design and engineering.
- Software Engineer (Java Specialist): development of test automation frameworks for cell phone applications using Java and legacy layer responsible for communicating the automation frameworks and hardware devices.
- Msc researcher: research on test automation and formal method fields. Focused on system specification, analysis and development using formal languages (Z, CSP, LTS, PetriNets) and model-checking techniques. From 2004 to 2007 (3 years) Recife Area, BrazilSoftware Engineer (Java Specialist) - Free Lancer @ Pitanga project consisted in an IT system on the web able to manage all internal systems from CESAR and Pitang companies. Such an integrated system brought an outstanding way of integrating of all information systems from those companies. Using the Pitanga system the project managers can operate in a whole information system, where all activities related to their projects and collaborators are gathered on a unique way.
- Software Engineer (Java Specialist): development on a distributed environment using SOA (System Oriented Architecture). The main involved technologies are Eclipse WTP, Web services, Tomcat Web Server, SOAP, HTTP(S), Design Patterns, XML, OpenCMS (Content Management System based on Java), Javascript, HTML, JSP, Servlets, TagLibs, Hibernate, JDBC, Oracle, PostgreSQL, SQL Server, ANT, CVS, Bugzilla.
- Test Engineer: specification of test scenarios (manual), managing test phase (time and people management), analysis of test case executions and write test reports. From October 2005 to March 2006 (6 months) Recife Area, BrazilReal-Time Embedded Systems Developer @ Oil Exploration / Real-Time Embedded Systems Development. This project was based for my specialization course on Real-Time Systems applied to Optimization and Automation at Petroleum & Gas Sector – Petroleum National Agency – ANP and Department of Informatics and Applied Mathematics – DIMAP, at Federal University of Rio Grande do Norte – UFRN. It consisted on developing embedded real-time systems for monitoring oil data directly in exploration fields of Petrobrás company. All exploration data were monitored by our embedded system and the data were sent to the surface and shown in real-time to the specialists for further analysis. From December 2002 to September 2004 (1 year 10 months) Natal Area, Brazil
MSc, MSc on Computer Science focus on Software Engineering by UFPE (Federal University of Pernambuco), A @ Universidade Federal de Pernambuco From 2004 to 2007 Specialization, Software Testing Analysis and Design by UFPE/Motorola/BTC (Brazil Test Center) @ Universidade Federal de Pernambuco From 2005 to 2006 BSc with honor (first class), Computer Science, With Distinction (A+ Honour) @ Universidade Federal do Rio Grande do Norte From 2000 to 2004 Clelio (Leo) is skilled in: Scala, Java, Hibernate, Spring, Agile Methodologies, Tomcat, JUnit, UML, Scrum, Design Patterns, Java Enterprise Edition, XML, Eclipse, Software Engineering, JavaScript
Websites:
http://www.wowcher.co.uk,
http://www.localpeople.co.uk,
http://www.thisisbristol.co.uk