Diogo Souza da Silva

Web/Software developer

Formal education

  • Graduating in system analysis and development;
  • Java Formation: Distribuited aplications;
  • English course;
  • + Lots of books and reading in general...

Experiences

Instituto de Pesquisas Jardim Botanico do Rio de Janeiro - System Analyst (Mar/2011 ~ today)

As a developer and architect of flora conservation tools for the research institute at Rio de Janeiro Botanical Garden, I was responsable for the last three year in development and adoption of technologies to enhance their capabilities at flora conservation assessment.

Working with several databases (previous: MySQL, PostgreSQL+PostGIS. now: CouchDB and ElasticSearch) and programing languages (PHP, Ruby, Clojure), also responsable for part of the operational(devops) work (Linux, Docker).

Intelie - System Analyst (Sep/2010 to Feb/2011)

Collaborated as a developer in their in-house products, working on both back-end with clojure and ruby, and front-end with Sencha/ExtJS. One of the greatest team I have ever meet.

Instituto de Pesquisas Jardim Botanico do Rio de Janeiro - Web developer (Feb/2010 to Sep/2010)

Responsable for their portal and initial research enhancement tool, in Drupal.

PixelHouse - Mobile Developer (May/2009 to Jan/2010 )

Intern and them responsable for their Android product, when android had barely launched.

IBM - Sysadmin Intern (May/2008 to Dec/2008)

Intern as a sysadmin, focused on Windows Servers, but also helped a little with middleware and virtualization.

BSI-Brazil - Web Developer (Feb/2007 to Sep/2007)

Responsable for their portal and CRM tools.

Freelancer Long time freelancing for web development, made well over 50 websites.

Knowledge and skills

Rated from 0 to 5. Five meaning complete domain.

Web (up to 5)

HTML5 5
CSS 3
JavasScript 3.5
Mobile 4
Design 1

Languages (up to 5)

PHP 5
Clojure 3
Javascript 3.5
Ruby 3
Java 2

Databases (up to 5)

CouchDB 5
PostgreSQL(+PostGIS) 4
ElasticSearch 3
Redis 3.5
Neo4J 2

DevOps (up to 3)

Linux 3
Shell 3
Docker 3
CI/CD 3
Cloud 2

Current work

Centro Nacional de Conservação da Flora

CNCFlora

The National Centre for Flora Conservation, created under the Rearch Institute Rio de Janeiro Botanical Garden, aims at providing information for the public and government about brazilian biodiversisty and flora conservation.

It follow a micro-services architecture, with interconnected and reusable components, developed on Vagrant, all open-source, and deployed on Docker containers, using etcd for information and configuration management.

You can get an overview of the complex ecosystem at CNCFlora github.

Applied: Docker, Vagrant, etcd, Clojure, PHP, Ruby, CouchDB, ElasticSearch.

Rapid Automated Risk Assessment

Compromised of a (micro-)service that performs several complex geospatial analysis and a simple front-end to display those, this system allows for the rapid risk assessment of the whole world.

This was made for the GBIF Ebbe Nielsen 2015 Challenge.

Applied: Clojure,HTML5,RESTful API,Geo,Docker.

Side projects

RestServer

RestServer is a simple PHP library for the easy development of Restful services and aplications, using the language latest features.

Applied: PHP, REST.

FastChat

FastChat is a chat widget, written in clojure(a functional, lisp inspired, language for the JVM) and Redis, that is really easy to integrate into any website.

Applied: Clojure, Redis, WebSockets, TravisCI, Docker.

CouchDB Extras

Set of extras scripts for couchdb, including: CouchDB to ElasticSearch custom river, Master/Master cluster setup, CouchDB History DB.

Applied: CouchDB, Ruby.

SmallOps

Set of easy and simple tools to work with the operations of dockerized containers, applied in production on the CNCFlora project.

Applied: Ruby, Docker, etcd, fig, confd.

Proxy Docker

A Docker image to proper proxy request to other docker containers, make the access, integration and linking to such containers easier.

Applied: nginx, Docker, etcd, confd.

Logstash Container

Docker ElasticSearch+LogStash+Kibana all set up container.

Applied: nginx, Docker, logstash, elasticsearch, kibana.

Gamedev experiments

Space Invaders

Experiment of creating a game using only HTML5 canvas and javascript. The game is a simple adaptation of the space invaders game for the browser.

(A friend asked: "Can you make games? How much time would it take?", turns out this space invaders only need two days.)

Applied:HMTL5, JavaScript, Canvas, JAWS(framework).

HeroGame

Took the challenge of js13kgames of creating a game in under 13kb in javascript. In the nights of a single week, and with no framework (due to size limitation), this tile-based dungeon game is the result.

Applied:HMTL5, JavaScript, Canvas.

Lexia

A simple Platformer gamer to experience more on HTML5 game creation, using tiled map creator, with open art and music.

Applied:HMTL5, JavaScript, Canvas.