Daniel Campos

Daniel Campos

Vancouver, Canada
Hire Daniel
Scroll To View More
Daniel Campos

Daniel Campos

Vancouver, Canada
Member since December 30, 2014
Daniel is a full-stack software engineer with seven years of extensive experience designing and implementing large-scale web-based applications mainly on the Java EE platform. He has very strong Java and JavaScript programming skills. He is a driven individual, a team player, an enthusiastic learner, and most importantly, a passionate professional.
Daniel is now available for hire
Portfolio
  • DevFactory
    Java 8, Spring MVC, AWS Services, RESTful APIs, Python, Groovy, Maven, Gradle...
  • Tradier
    Java, JavaScript, Dropwizard, Java EE (Hibernate, JAX-RS, CDI), Ember.js...
  • Algar Tech
    Java SE, Java EE (JSF, JPA/Hibernate, EJB, CDI, JAX-RS, JAX-WS, Servlets, JSP...
Experience
  • Java, 7 years
  • JavaScript, 6 years
  • AngularJS, 3 years
  • Java EE, 7 years
  • Node.js, 3 years
  • Machine Learning, 2 years
Vancouver, Canada
Availability
Part-time
Preferred Environment
Linux, IntelliJ/Eclipse, Sublime/Atom, Git
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.
Employment
  • Software Architect
    DevFactory
    2015 - PRESENT
    • Worked on a proprietary CI System entirely based on AWS services and Microservices written in Java with the help of Spring Framework.
    • Worked on implementing and maintaining RESTful APIs using Spring Boot.
    • Worked on a product to provide insights over unit tests. This product was integrated with Travis CI.
    • Worked with several AWS services like SQS, SNS, Redshift, S3, EC2, EC2 Container, DynamoDB, RDS, and ELB.
    • Worked on a Java agent to intercept the compiler and identify modules in a project sending the artifacts (source, binary, lib) to AWS S3.
    • Dockerized a Python module with PostgreSQL leveraging the docker-compose utility.
    Technologies: Java 8, Spring MVC, AWS Services, RESTful APIs, Python, Groovy, Maven, Gradle, Sonar, Jenkins, Travis CI, CircleCI, MySQL, PostgresSQL, Docker, Linux
  • Senior Software Engineer
    Tradier
    2015 - 2015
    • 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: Java, JavaScript, Dropwizard, Java EE (Hibernate, JAX-RS, CDI), Ember.js, MySQL, Redis, MongoDB, Memcached, Functional Programming, RESTFul API Design, Node.js, Express.js, Linux, TDD, Akka, Ratpack, AWS, Microservices, Ruby On Rails, Sinatra, Docker
  • Senior Software Engineer and Team Leader
    Algar Tech
    2010 - 2015
    • 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.
    • Responsible for technical training and new hire interviews.
    Technologies: Java SE, Java EE (JSF, JPA/Hibernate, EJB, CDI, JAX-RS, JAX-WS, Servlets, JSP, JMS), JavaScript/Node.js, AngularJS, jQuery, HTML 5, CSS 3, Maven, Git, SVN, Linux, Jboss AS/Wildfly, Websphere, Weblogic, Apache, OC4J, Oracle, Oracle PL/SQL, SQLServer
  • Sun Campus Ambassador
    Sun Microsystems
    2009 - 2010
    • 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: Java SE, Java EE, Glassfish, MySQL, OpenSolaris, Netbeans
  • Web Developer
    FEAD University
    2008 - 2009
    • Supported a distance learning platform written in PHP and accessed by thousands of students.
    • Created a reusable PHP data access API.
    • Created a system to manage access to the wireless network throughout the University.
    Technologies: Java, PHP, JavaScript/jQuery, CSS, MySQL, Apache, Linux
Experience
  • (OCEEJD) Oracle Certified Expert, Java EE 6 Enterprise JavaBeans Developer (Other amazing things)
  • Microsoft Specialist: Programming in HTML5 with JavaScript and CSS3 (Other amazing things)
  • (OCEWCD) Oracle Certified Expert, Java Platform, EE 6 Web Component Developer (Other amazing things)
  • IBM Certified SOA Associate (Other amazing things)
  • IBM Certified System Administrator – WebSphere Application Server Network Deployment V7.0 (Other amazing things)
    http://www-03.ibm.com/certify/tests/ovrC2180-377.shtml

    Certification achieved in October 2011.

  • (OCJP) Oracle Certified Professional, Java SE 6 Programmer (Other amazing things)
  • (OCJA) Oracle Certified Associate, Java SE 6 (Other amazing things)
  • api-stream (Development)

    Project responsible for exposing an API for streaming real-time market data through ZeroMQ's pub/sub messaging model. This authenticates using a session based middleware.

    Technologies: Node.js, Express.js, Java 8, Ratpack, CDI (Guice), Jackson, ZeroMQ, Memcached, Git, Github, Travis CI.

  • be-acctrest (Development)

    Project responsible for the REST API for accounts, users, and trading. It acts as a lightweight proxy and includes some lightweight logic around parameter validation, permissions, etc. It has integration with an internal SOAP API running on a JBoss applications server.

    Technologies: Java 8, Java EE (JPA/Hibernate, CDI, JAX-RS, JAX-WS), Dropwizard, MySql, JUnit, Mockito, Git, Github, Travis CI, Sonar, PMD, FindBugs.

  • be-mdrest (Development)

    Project responsible for market data delivery. Endpoints consist of real-time and delayed market data, history, time-sales, and streaming session endpoints. It has integration with a third-party SOAP API from where the market data is retrieved.

    Technologies: Java 8, Java EE (JPA/Hibernate, CDI, JAX-RS), Dropwizard, MongoDB, Memcached, dxFeed SDK, JUnit, Mockito, Git, Github, Travis CI, Sonar, PMD, FindBugs.

  • Market Data Console (Development)

    Project responsible for exposing an admin console for market data entitlements and reporting

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

  • be-entitlements (Development)

    Project responsible for allowing/restricting delayed or real-time access to products/data feeds for both the regular and the streaming API.

    Technologies: Java 8, Java EE (JPA/Hibernate, CDI, JAX-RS), Dropwizard, MySql, Redis, Akka, JUnit, Mockito, Git, Github, Travis CI, Sonar, PMD, FindBugs.

  • Advisor (Development)

    Project responsible for the 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.

  • be-accounts (Development)

    Project responsible for accounts and orders and the admin services necessary for those processes.

    Technologies: Java 8, Java EE (JPA/Hibernate, CDI, JAX-RS), Dropwizard, MySql, Retrofit, Java Mail, Quartz, AWS SDK, JUnit, Mockito, Git, Github, Travis CI, Sonar, PMD, FindBugs.

  • be-operations (Development)

    Project responsible for opening and funding accounts and the admin services necessary for those processes. Most operations require integration with third-party SOAP/REST APIs.

    Technologies: Java 8, Java EE (JPA/Hibernate, CDI, JAX-RS), Dropwizard, MySql, Retrofit, Java Mail, Quartz, JUnit, Mockito, Git, Github, Travis CI, Sonar, PMD, FindBugs

  • Blend Subs (Development)

    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 (MongoDB, Express 4, AngularJS and Node.js) stack, NPM, Bower, OpenSubtitles API.

  • SISCOS (Development)

    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 by 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 (Development)

    A system to manage the execution of services exposed on a Websphere ESB in order to load data. Project developed for the largest Brazilian health insurance company, 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 (Development)

    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. Summarizing, the GE algorithm generates executable programs in any language, in this case, in Python. It was 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 language.

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

  • Autocom (Development)

    A system to calculate the commission of authorized partners, individual sellers and teams of the largest Brazilian health insurance company, 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 (Development)

    A system to assist doctors and patients in order to anticipate possible diseases. This project was developed for the Brazilian largest health insurance company, 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 (Development)

    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 Brazilian largest health insurance company, 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 (Development)

    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 (Development)

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

    Technologies: Bootstrap, SAAS, HTML5, CSS3, JavaScript/jQuery.

  • RAST (Development)

    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 some others. RAST is able to trace business and source code written in any language.

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

  • SIGESP (Development)

    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.

  • Wireless Management System (Development)

    A system to store MAC addresses of students in order to grant access to different devices on the FEAD University wireless network.

    Technologies: PHP, JavaScript/jQuery, CSS, Apache, Linux.

  • EAD Plataform (Development)

    A distance learning platform built on top of the Moodle Framework. Responsible for maintenance and improvement of the platform by adding modules to the framework in order to extend its functionalities.

    Technologies: PHP, Moodle, MySQL, JavaScript, CSS, XML, Apache, Linux.

  • Daniel is a mentor in the Toptal Global Mentor’s Program. This program is a partnership between Toptal and General Assembly to provide high quality mentorship for students from minority and low income backgrounds who are looking to begin their careers as professional software engineers. Daniel shows commitment to diversity in tech by mentoring a General Assembly student every week for a year, covering everything from coding tips and tricks to advice on making it in the industry.
Skills
  • Languages
    JavaScript, SQL, Java, PL/SQL, R, Python, Groovy
  • Frameworks
    Dropwizard, Jersey, Spring, Spring MVC, AngularJS, JUnit, Express, Google Guava, Spring Security, Karma, Akka, Ember.js, Angular 2, Akka 2.0
  • Libraries/APIs
    JPA, jQuery, Jackson, JAX-WS, JAX-RS, Ratpack, JMS, Ember Data, Protobuf, Node.js, Quartz
  • Tools
    Sonar, Maven, Grunt, Spring Boot, Git, npm, Apache Tomcat, IntelliJ, Travis CI, Bower, SVN, Docker
  • Paradigms
    Test-driven Development (TDD), Scrum, Agile Software Development, REST, Functional programming
  • Platforms
    Java EE, Linux, Joomla, Android, Amazon Web Services (AWS), JavaFX, Meteor
  • Storage
    Oracle, JBoss AS, MySQL, PostgreSQL, Redis, MongoDB, Memcached, SQL Server
  • Misc
    Evolutionary Algorithms, EJB, CDI, API Design, RESTful, Machine Learning, Ember CLI
Education
  • Master's degree in Computational Intelligence
    Centro Federal de Educação Tecnológica de Minas Gerais – CEFET-MG - Belo Horizonte
    2013 - 2015
  • Bachelor's degree in Computer Science
    Centro Universitário de Belo Horizonte - UNI-BH - Belo Horizonte
    2008 - 2012
Hire the top 3% of freelance developers
I really like this profile
Share it with others