Daniel Medeiros de Assis

Daniel Medeiros de Assis

Software Engineer | Confluent Certified Developer for Apache Kafka

This is the résumé page of Daniel Medeiros de Assis. Here you’ll find information about my work experience as software engineer over the past twenty years, along with my education degrees, certifications, publications, references from former colleagues, known languages, skills and interests.

Daniel hails from São Paulo Area, Brazil. He earned his master degree from IPT (Instituto de Pesquisas Tecnológicas). Before working as Lead Consultant for FICO, he worked as Software Architect and Developer for Petrobras, Cardif, Octo and Accenture. His professional work focuses on architecture and development of Java distributed applications, but he also adopts Arch Linux w/ i3m as the operational system from his personal computer (no dual boot), handles Scrum pretty well and believes Clojure is the most elegant functional programming language ever. Currently, he is focusing on specialization of Kafka and AWS technologies.

São Paulo Area, São Paulo, Brazil
Daniel's Github profile
Daniel's LinkedIn profile



Solution Consulting - Lead Consultant at FICO

FICO is a technology company that provides optimization technologies that help clients to make better and more profitable decisions. In order to achieve this, their products handle huge amounts of data processing and rule appliances. Most of FICO clients are in the Finances sector. Advanced analytics, credit score analysis and rule engine processing over data are some of the most common topics in this context.


  • Lead Consultant of a Big Data Streaming project that processes millions of records/hour in an ecossystem adopting Storm, Kafka, Hadoop, Hive and Cassandra;
  • Architect for a Rule Authoring Application, deployed as a Java Web Application and integrated with Oracle Database and Active Directory (Spring Security) in a Linux Red Hat environment;
  • Creation of data synchronization and XML optimization services (systemd) and generation of RPM packages for proper installation in Red Hat client's environment;
  • Creation of a Python Flask application for report generation. Consumption of REST/JSON endpoints, parsing of XML returned data (XPath) and rendering of information with VueJS. Creation of a sofisticated distribution mechanism for this app, generating a RPM for deployment in a RHEL production box with no Internet access.
  • Creation and management of Swagger documentation and Java clients for REST/JSON consumption of service application endpoints;
  • Architect for a multi-tier web-based application/batch processing solution (Java8, Spring Boot and Batch, Oracle database, Univocity parser, linux shell scripting and REST/SOAP integrations, alongside with FICO own tools for rule engine and RAD in the front-end) that processes million records/hour under performance constraints.

Bus & Technology Delivery Manager at Accenture

Accenture is one of the largest consulting companies in the world. In my brief passage through, I worked as a technical specialist and manager of a technical team.


  • Supported teams in Scrum adoption in a tech company
  • Worked in partnership with our client (a bank) in a distributed architecture application
  • Managed a digital architecture team for an internal project to a bank

Software Architect Consultant at Octo

Octo is a tech company from France specialized in Software Architecture and Agile method adoption. Our job was to deal directly with client scenarios, helping them to improve their architecture, code quality, and agile process.


  • Define a Microservices project adoption (transition from monolith)
  • Design CI Jenkins pipeline automation
  • Design automated tests approach (culture, adoption and execution)
  • Work on code quality analysis, approaches to improvement
  • I also conducted multiple interviews with architect candidates.

Senior Software Developer / Software Architect at BNP Paribas Cardif

Cardif is an insurance company from BNP Paribas bank. There, I worked as a Senior Software Developer and then I assume the role of Software Architect. My work was to help improve our internal products, teams concepts and techniques, in order to our products be properly adopted from the affiliates of the entire Latin America.


  • Worked deeply with batch processing and architectural-level design
  • Performed REST integration, using key technologies such as Swagger, WS02, API Management
  • Guided developers in terms of technological constraints and coding patterns and approaches
  • Reinforced and promoted the automated test culture into the development team
  • Worked on maintenance and development of new features in Java Web applications (Websphere 7, Java Web, Spring, JMS, Oracle, Hibernate and JDBC Template, automated unit and integration tests)
  • Helped the adoption and execution of agile process to the development team, through adaptation of Scrum method to the internal reality of the company, considering matrix organization and plan-driven process

System Analyst / Senior Software Programmer / Software Architect at Petrobras

Petrobras is one of the largest oil companies in the world. Working in the IT department, I had the opportunity to work on development and architecture of several intranet applications, using a lot of concepts and techniques.


  • Definition of architecture, design and implementation of intranet web applications, using technologies such as Spring (Core 2.5, Webflow e Security), JPA 1.0/Hibernate 3, JSF 1.2 (with RichFaces), Logback, Maven 2;
  • I also brought DDD patterns of design and domain oriented development, which help to understand and clarify business needs from requirements;
  • Helped in the adoption and dissemination of Scrum agile method in several teams, extending it with some agile techniques such as Grooming, User Stories, Planning Poker;
  • Helped in the adoption and dissemination of TDD and BDD techniques to the development teams;
  • Worked in the evolution and maintenance of Java Web applications to different areas of the company, adopting the following key technologies and practices: JPA/Hibernate, EJB3, JSP, Oracle, Struts, JDBC, Spring, Hibernate, Refactoring, Clean Code;
  • Worked in maintenance and evolution of several intranet applications, using HTML, CSS, Javascript, ASP, C#.Net, Oracle and Oracle PL/SQL procedures;
  • Conducted dozens of technical interviews with programmer candidates.

Software Programmer at Foster

Foster was a small web agency company. I had the opportunity to work a lot (in a professional level) about web applications that I used to create as hobbies at home.


  • Worked in the development of web applications to large companies, using Java/JSP/Servlets, HTML, Javascript, CSS, Perl, MySql, SQL Server and Oracle;
  • I was also responsible to some of those projects in terms of requirements elicitation from clients and validate the deliveries according to expectations.


Master in Software Engineering from IPT (Instituto de Pesquisas Tecnológicas) with GPA of Approved

Bachelor in Computer Science from Universidade Metodista de São Paulo with GPA of Approved


Confluent Certified Developer for Apache Kafka from Confluent

Oracle Certified Expert, EE 6 JavaBeans Developer from Oracle

Sun Java Certified Programmer from Sun Microsystems

Certified ScrumMaster from Scrum Alliance

Testes unitários, de integração e de aceitação (Unit, Integration and Acceptance tests) by Java Magazine, 147

Dominando os testes automatizados (Mastering automated tests) by Java Magazine, 146

Modelagem e implementação com TDD e DDD (Modeling and implementation with TDD and DDD) (p.14-26) by Java Magazine, 144

Como adotar a análise estática de código (How to adopt static code analysis) by easy Java Magazine, 51


Daniel é um excelente arquiteto com habilidades técnicas incontestável, sempre prestativo e comprometido em agregar valor com novas ideias e soluções. É um profissional ético, versátil, engajado, eficiente e eficaz em todos os desafios.

Fernando Paiva

Daniel é um profissional extremamente competente e bastante focado na qualidade dos projetos, característica bem combinada com sua capacidade técnica e seu amplo conhecimento de ferramentas de desenvolvimento. Uma pessoa que busca extrair os detalhes do projeto visando equalizar o conhecimento de negócio entre os envolvidos de forma a antecipar possíveis problemas.

Rodrigo Amaro Rodrigues

Daniel é um profissional extremamente disciplinar, sempre focado em suas tarefas para entregar o produto com qualidade no prazo. Tem um dedicação enorme no que faz e sempre tenta seguir as melhores praticas para executar suas tarefas. Sempre esta disposto a ajudar seus colegas e disseminar seus conhecimentos. Além de ser uma pessoa e profissional totalmente ético e sensato, o que torna uma pessoa agradável de trabalhar

Dimmy Junior

Daniel is an extremely competent and productive IT professional, with a notable skill in self-directed learning and in the expression and communication of his ideas. He is also excellent as a mentor of other professionals, sharing his vast knowledge and helping them develop new skills, with great humility and patience, while constantly evolving and revising his own knowledge and skills against new experiences and information he gains in the process. It is a great pleasure to work with him. He has an unwavering motivation to always do his best.

Victoria Thompson

Daniel sempre foi o exemplo perfeito de profissional competente, que mantém o foco em suas atividades e consegue o máximo de produtividade dentro do horário de trabalho. Tem uma visão de metodologias de mercado muito clara e está sempre antenado no que pode contribuir para melhorar os processos internos da empresa. Participativo e pró-ativo se envolve em diversas atividades, das mais diversificadas disciplinas que estão ligadas aos projetos no intuito de perceber e propor sempre as melhores soluções.

Romulo Nascimento


Fluency: native-speaker
Fluency: professional-working-proficiency


Enterprise Java Architecture
Level: Master
  • Java8
  • Spring
  • Oracle
  • Jenkins
  • Automated Tests
  • IntelliJ
  • Batch Applications
  • Web Applications
  • Linux
  • TDD
  • BDD
  • DDD
Data and Distributed Architecture
Level: Intermediate
  • Kafka
  • AWS
  • Microservices
  • Storm
  • Cassandra
  • Hadoop
  • Docker


  • Hiking
  • Mountains
  • Blues
  • Rock
  • Jazz
  • Classical
  • Lofi Hip Hop
  • Instrumental (guitar, drums, bass)
  • Stoicism
  • Minimalism
  • Existencialism