Daniel Campos, Developer in Vancouver, BC, Canada
Daniel is available for hire
Hire Daniel

Daniel Campos

Verified Expert  in Engineering

Full-stack Developer

Vancouver, BC, Canada

Toptal member since February 11, 2015

Bio

Daniel is a full-stack software engineer with extensive experience designing and implementing large-scale web-based applications using Java and JavaScript. Lately, he's been working mainly in a microservices architecture leveraging the power of the cloud—particularly the AWS environment. Daniel is a driven individual, a team player, an enthusiastic learner, and, most importantly, a passionate professional.

Portfolio

Tradier
Amazon Web Services (AWS), Travis CI, WebFlux, Linux, Unix, GitHub, Git, Redis...
DevFactory
Amazon Web Services (AWS), Linux, Docker, PostgreSQL, MySQL, CircleCI...
Tradier
Amazon Web Services (AWS), RESTful Development, REST APIs, CDI, JAX-RS...

Experience

  • JavaScript - 13 years
  • Java - 13 years
  • Amazon Web Services (AWS) - 7 years
  • API Design - 7 years
  • Spring Boot - 7 years
  • Microservices - 7 years
  • Machine Learning - 4 years
  • Node.js - 4 years

Availability

Part-time

Preferred Environment

Git, WebStorm, IntelliJ IDEA, MacOS

The most amazing...

...thing I've coded is an evolutionary algorithm called Grammatical Evolution to optimize the software effort estimation in the early phases of a project.

Work Experience

Senior Software Engineer

2016 - PRESENT
Tradier
  • Released two microservices to production handling 1.5k requests per minute.
  • Applied Java best practices to all modules with the help of tools such as FindBugs, Sonarqube, and Google Error Prone.
Technologies: Amazon Web Services (AWS), Travis CI, WebFlux, Linux, Unix, GitHub, Git, Redis, MySQL, MongoDB, RESTful Development, REST APIs, Vert.x, Spring MVC, Spring Boot, Dropwizard, Java

Software Architect

2015 - 2016
DevFactory
  • Worked on a proprietary CI System entirely based on AWS services and microservices written in Java with the help of Spring Framework.
  • Implemented and maintained RESTful APIs using Spring Boot.
  • Worked on a product to provide insights over unit tests. This product was integrated with Travis CI.
  • Utilized several AWS services like SQS, SNS, Redshift, S3, EC2, EC2 Container, DynamoDB, RDS, and ELB.
  • Developed a Java agent to intercept the compiler, identifying modules in a project and sending the artifacts (source, binary, lib) to Amazon S3.
  • Dockerized a Python module with PostgreSQL leveraging the Docker Compose utility.
Technologies: Amazon Web Services (AWS), Linux, Docker, PostgreSQL, MySQL, CircleCI, Travis CI, Jenkins, Sonar, Gradle, Apache Maven, Groovy, Python, RESTful Development, REST APIs, Spring MVC, Java 8

Senior Software Engineer

2015 - 2015
Tradier
  • Designed several RESTful APIs for financial products with a microservices thought process.
  • Applied several design patterns in favor of extensibility, reusability, maintainability, and readability to highly improve the code base.
  • Created reusable projects to avoid code duplication among several applications.
  • Worked on a streaming API project to deliver a large quantity of financial data.
  • Implemented front-end web applications with JavaScript frameworks.
  • Converted some Rails/Sinatra APIs to Java.
Technologies: Amazon Web Services (AWS), RESTful Development, REST APIs, CDI, JAX-RS, Hibernate, Java EE, Docker, Sinatra, Ruby on Rails (RoR), Ruby, Microservices, Ratpack, Akka, Test-driven Development (TDD), Linux, Express.js, Node.js, Functional Programming, Memcached, MongoDB, Redis, MySQL, Ember.js, Dropwizard, JavaScript, Java

Senior Software Engineer and Team Leader

2010 - 2015
Algar Tech
  • Awarded Outstanding Employee 2014 - Software Development Unit.
  • Led the innovation team creating solutions to improve the company's productivity and quality.
  • Supported the adoption, in 2013, of a new reference architecture using front-end technologies like AngularJS together with Java EE back-end communicating through a RESTful API.
  • Implanted and spread a tool that helped the company to adopt Agile methodologies.
  • Created a reusable, cross-platform, and flexible UI library to increase the development process in the early stages.
  • Created an innovative requirements traceability tool to bind business to code allowing developers and managers to have a better understanding of the whole development process besides collecting statistical information to help future predictions.
  • Handled technical training and new hire interviews.
Technologies: Microsoft SQL Server, Oracle PL/SQL, Oracle, Apache, WebLogic, WebSphere, WildFly, JBoss AS, Linux, Subversion (SVN), Git, Apache Maven, CSS3, HTML5, jQuery, AngularJS, Node.js, JavaScript, Java Message Service (JMS), Jakarta Server Pages (JSP), Servlet, JAX-WS, JAX-RS, CDI, Enterprise Java Beans (EJB), Hibernate, JPA, JSF, Java EE, Java SE

Sun Campus Ambassador

2009 - 2010
Sun Microsystems
  • Spread and contributed to the open source Sun technologies, mainly Java, Glassfish, and NetBeans.
  • Gave speeches and training for many companies and universities.
  • Blogged about Sun's technologies.
  • Became a Minas Gerais Java User Group (MGJUG) coordinator.
  • Created training materials and speeches about SCJA and SCJP certifications.
Technologies: NetBeans, Solaris, MySQL, GlassFish, Java EE, Java SE

Streaming API

Exposes an API for streaming real-time market data, such as quotes, time, and sales and trade information. This project evolved from Node.js and Express.js to Java Ratpack, and the most recent version was built with Vert.x.

Market Data API

Delivers market data. Endpoints include real-time and delayed market data, history, time sales, and streaming session endpoints. It integrates with a third-party SOAP API from where the market data is retrieved.

Advisor

Front-end layer that communicates with several APIs allowing advisor users to perform financial operations.

Technologies: JavaScript (ES6), Ember.js, Node.js, Bootstrap, Bower, Git, GitHub, Travis CI

Operations API

A service responsible for opening and funding accounts and admin endpoints necessary to maintain customer data. Most operations require integration with third-party SOAP/REST APIs. The API is used internally and externally via an API gateway.

Blend Subs

An open source project, still under development, to help language learners by mixing subtitles in two different languages. It's possible to choose a percentage of phrases of the target language the user wants to mix together with its native language.

Technologies: MEAN stack, NPM, Bower, OpenSubtitles API

SISCOS

An SLA system used by large call center companies. It became a product so it is possible to run on Windows or Linux servers. As for databases, it's possible to use Oracle, PostgreSQL or SQL Server. It has a High Availability mode using JBoss AS Clustering and Load Balancing through Apache(mod_jk). Its UI was improved using Bootstrap 3.

Technologies: Java EE 6 (EJB, Hibernate, JAX-WS, JAX-RS (RESTEasy), CDI, JSF (RichFaces)), JUnit, JBoss Seam, Maven, Oracle, SQL Server, PostgreSQL, Bootstrap 3, Google Charts

DRE Gerencial

A system to manage the execution of services exposed on a Websphere ESB in order to load data. The project was developed for the largest health insurance company in Brazil, Unimed.

Technologies: AngularJS, Grunt, Karma, NPM, Bower, E2E tests, HTML5, Booststrap, Java EE (EJB, JAX-RS (Jersey), CDI), JUnit, Maven, JBoss AS

Software Effort Estimation: An Approach Using Grammatical Evolution

A project developed as part of my master's thesis. It's an evolutionary algorithm (EA) called Grammatical Evolution (GE) that has inspiration on the creation of proteins as well as the natural selection. EA is a subfield of machine learning/computational intelligence. This algorithm was used to optimize the prediction of software effort estimation. The GE algorithm generates executable programs in any language, in this case, in Python. It used a well-known dataset called ISBSG to train and validate the model. Before running the algorithm, this dataset was cleaned by removing outliers and other statistical tests. This process was done using R.

Technologies: Python 2.7 (Pandas, Numpy, Matplotlib), Spyder, R

Autocom

A system to calculate the commission of authorized partners, individual sellers, and teams of the largest health insurance company in Brazil, Unimed.

Technologies: AngularJS, Grunt, Karma, NPM, Bower, E2E tests, HTML5, Booststrap, Java EE (JPA, EJB, JAX-RS (Jersey), CDI), JUnit, Maven, JBoss AS, Oracle, Oracle PL/SQL

Programas Online

A system to assist doctors and patients in order to anticipate possible diseases. This project was developed for the largest health insurance company in Brazil, Unimed.

Technologies: AngularJS, Grunt, Karma, NPM, Bower, E2E tests, HTML5, Booststrap, Java EE (JPA, EJB, JAX-RS (Jersey), CDI), JUnit, Maven, JBoss AS, Oracle, Oracle PL/SQL

Questionários Online

A system to create dynamic forms used by doctors in order to measure the risk level of a patient. This project is used by many systems though RESTful API as well as AngularJS directives. It was developed for the largest health insurance company in Brazil, Unimed.

Technologies: AngularJS, Grunt, Karma, NPM, Bower, E2E tests, HTML5, Booststrap, Java EE (JPA, EJB, JAX-RS (Jersey), CDI), JUnit, Maven, JBoss AS, Oracle, Oracle PL/SQL

FISCAP

A system to store and manage all the bidding announcements on the state of Minas Gerais, Brazil.

Technologies: Java EE (JPA, EJB, JSF (PrimeFaces), JAX-WS), Spring Security, Maven, JUnit, Oracle, JBoss AS.

RID

An innovative project to accelerate projects on the early stages by creating a reusable and flexible UI library based on Bootstrap.

Technologies: Bootstrap, SASS, HTML5, CSS3, JavaScript/jQuery

RAST

An innovative project recognized by the company as the best idea of 2012. This project attracted government funding to be expanded and to update its initial architecture. Summarizing, RAST is a requirements traceability tool that binds source code and business requirements so that it's possible to easily keep track of the development phase. It provides the completeness of use cases or user stories, impact analysis, automatic traceability matrix, project evolution, and more. RAST is able to trace business and source code written in any language.

Technologies: Java EE (CDI, JSF (PrimeFaces)), Google Guava, JavaFX version

SIGESP

A city hall project that allows citizens to register any events in their neighborhood like falling trees, holes on the street, and so on.

Technologies: Java EE (EJB, JSF (RichFaces), CDI, Hibernate), JBoss Seam, JUnit, Maven, JBoss AS
2013 - 2015

Master's Degree in Computational Intelligence

Centro Federal de Educação Tecnológica de Minas Gerais – CEFET-MG - Belo Horizonte, MG, Brasil

2008 - 2012

Bachelor's Degree in Computer Science

Centro Universitário de Belo Horizonte - UNI-BH - Belo Horizonte, MG, Brasil

APRIL 2019 - APRIL 2022

AWS Certified Cloud Practitioner

AWS

OCTOBER 2016 - OCTOBER 2019

AWS Certified Developer - Associate

AWS

APRIL 2015 - PRESENT

Oracle Certified Expert, Java EE 6 Enterprise JavaBeans Developer

Oracle

APRIL 2013 - PRESENT

Microsoft Specialist: Programming in HTML5 with JavaScript and CSS3

Microsoft

AUGUST 2012 - PRESENT

Oracle Certified Expert, Java Platform, EE 6 Web Component Developer

Oracle

MAY 2012 - PRESENT

IBM Certified SOA Associate

IBM

JULY 2010 - PRESENT

Oracle Certified Professional, Java SE 6 Programmer

Oracle

AUGUST 2009 - PRESENT

Oracle Certified Associate, Java SE 6

Oracle

Libraries/APIs

JAX-RS, JAX-WS, Jackson, Quartz, Ratpack, Node.js, Protobuf, Vuex, Vue, Retrofit 2, Java Message Service (JMS), jQuery, REST APIs

Tools

Gradle, Apache Maven, Git, Travis CI, NPM, Bower, IntelliJ IDEA, Subversion (SVN), Apache Tomcat, Karma, Grunt, Amazon Virtual Private Cloud (VPC), Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), Amazon ElastiCache, Amazon CloudFront CDN, AWS IAM, Servlet, WildFly, Apache, WebStorm, Sonar, Jenkins, CircleCI, GitHub, Gulp

Languages

C#, JavaScript, Java, SQL, Python, Java SE, HTML5, CSS3, Ruby, Java 8, Groovy, Kotlin, R

Frameworks

Angular, JUnit, JPA, Spring Boot, Spring MVC, AngularJS, Dropwizard, Jersey, Bootstrap 3+, Spring Security, Express.js, Google Guava, Vert.x, Ember.js, Cypress, JSF, Hibernate, Jakarta Server Pages (JSP), Ruby on Rails (RoR), Sinatra, WebFlux, Akka, Truffle, Mockito

Paradigms

Scrum, Microservices, REST, Test-driven Development (TDD), Functional Programming, RESTful Development

Platforms

Java EE, Amazon Web Services (AWS), Jakarta EE, Docker, Linux, Android, Joomla, Oracle, Amazon EC2, AWS Lambda, Solaris, NetBeans, WebSphere, MacOS, Unix, Blockchain, Meteor, JavaFX, Ethereum

Storage

MongoDB, MySQL, Redis, Oracle PL/SQL, Memcached, JBoss AS, PostgreSQL, Amazon S3 (AWS S3), Microsoft SQL Server

Other

API Design, Evolutionary Algorithms, Animation, Machine Learning, Chrome Extensions, DocumentDB, Document Management Systems (DMS), GlassFish, CDI, WebLogic, Bitcoin, Enterprise Java Beans (EJB), Artificial Intelligence (AI), Software Development, Web Development, Computer Science

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring