PHP Developer in Rio de Janeiro - State of Rio de Janeiro, Brazil
PHP Developer2018 - PRESENTeHungry (via Toptal)
- Implemented new features and fixes on a high-traffic portal.
- Updated pre-2010 code to improve maintainability on the long term.
- Moved forward with modern team approaches, such as GitHub tasks, projects, and code reviews.
Lead Python Developer2017 - 2018Radix - Bondinho do Pão de Açúcar
Technologies: Python, Django, PostgreSQL, Docker
- Led project development together with an intern and a seasoned designer.
- Structured the Django project starting from HTML layouts the designer had been working on (based on layouts from an external company).
- Contributed to meetings with the stakeholders, presenting the project and discussing their concerns.
Ruby (Padrino) Developer2017 - 2017Sameach Vedações
Technologies: Ruby, Padrino, CSS3, Bulma, PayPal, MoIP
- Redesigned the entire website with responsiveness in mind (it was built in 2010).
- Reorganized the information architecture to better suit what the owners had in mind.
- Re-implemented PayPal checkout.
- Refactored a lot of inner code to make maintenance easier in the future.
- Organized tasks through CodeBase and reported progress to client every two weeks (via email, as requested).
React Developer2017 - 2017Geru (via Toptal)
Technologies: React, Redux, CSS3
- Created a full system from layout PDFs using React and Redux entirely on my own.
- Used heavy unit testing with Redux and pure functions to ensure calculations matched company samples.
- Integrated automatic deployment using GitHub pages for testing purposes.
PHP/API Developer2016 - 2017Smith & Carson (via Toptal)
Technologies: PHP 5/7, Phalcon 2/3, RESTful API, Docker
- Implemented a job queueing library using databases for Phalcon, for low throughput but long running jobs, released as open-source code.
- Revamped the PDF reporting feature, with a modular approach and cleaner API, allowing for expansion with new reports as needed.
- Integrated the new ProsperWorks CRM into the existing company systems, with a clean API client and webhooks consumer.
- Helped to upgrade an open-source, Phalcon-based API library.
- Upgraded the application from Phalcon 2 and PHP 5.6 to Phalcon 3 and PHP 7.
- Provided continuous review of the huge application codebase to keep it updated with the best market standards.
- Helped to maintain a legacy CodeIgniter application, while migrating some features into the new one.
React Developer2016 - 2016KORD Electrical (via Toptal)
Technologies: React, Redux, Docker, Material Design
- Developed a complex scrollable application with many different accounting calculations, given the designer prototypes.
- Implemented a React+Redux application following the smart/dumb components pattern.
- Integrated a material design library into the project to have a clean interface for the MVP.
- Organized Docker containers to compile the application and run the PHP API (API not in use anymore).
- Advised the non-technical founder on startup steps (what to build, MVP scope, how to launch, how to investigate the market, etc.).
Analyst Developer2013 - 2015M4U
Technologies: PHP, Symfony, REST/SOAP Web Services, jQuery, OWASP
- Developed and maintained white-label products, focused on credit card services, through internal web services.
- Created internal structure for new projects, relying in flexible technology choices to accommodate the different API styles the team had to work with.
- Created internal command-line systems to streamline and make it easier to locally install projects and enable deployment.
- Advocated usage of best practices on REST APIs whenever possible throughout other teams in the company.
- Organized a central repository to be used by the several team projects, so internal libraries could be easily shared and controlled, according to version constraints.
- Speaker @ PHPeste: RESTful Best Practices (Other amazing things)https://www.slideshare.net/igorsantos07/restfuuuu-boas-prticas-restful-phpeste-2017
I was invited to speak at PHPeste, the biggest PHP conference from the northern part of Brazil, after a successful CFP submission. My talk was about RESTful do's and dont's, best practices, and tool suggestions to create APIs; I spoke to around 200 people (280 in total at the event).
I was also invited to translate questions for Rasmus Lerdorf, PHP creator.
- Geru - Debt Calculator (Development)https://exame.abril.com.br/seu-dinheiro/calculadora-gratuita-ajuda-voce-a-quitar-suas-dividas/
This was a standalone React project I built. It involved heavy math calculations and featured a series of unit tests to make sure all numbers were crunched correctly, given the company samples.
The original product is now offline, so the link leads to a PR release.
- Sameach Vedações - Responsive Redesign (Development)https://samechvedacoes.com.br/
This was an old "product.. display" website that needed a layout revamp. They were advertising online and were receiving a lot of mobile access, so I had to redesign their site with responsiveness in mind.
- Konato - Events Directory (Development)http://konato.igorsantos.com.br
An event directory focused on students and professionals alike, searching for talks, congresses and similar activities to boost their curriculum.
Sole developer, building everything from the database to the front- and back-ends, using PHP7, Laravel 5, PostgreSQL, Docker, and Heroku.
It is open-sourced at https://github.com/konato-events/web
- Calories - Sample React Project (Development)http://calories.igorsantos.com.br
This was a sample app I created to study and display some React and REST skills. It was based on a friend's ideas, and consists of a small web app to log food calories and control your daily intake - there's also an admin role where someone can alter users. The API explorer is easy to use and enables developers to test the RESTful API methods directly from the documentation page.
- How to Build a Multilingual App: A Demo With PHP and Gettext (Publication)Making your website or web app available to a wider audience often requires it to be available in multiple languages. For non-English projects, you can increase your audience by releasing it in English as well as your native language. Internationalizing and localizing your project, however, becomes a much easier process if you start during its infancy. In this article, Toptal Software Engineer Igor Gomes dos Santos shows us how to leverage simple tools, like Gettext and Poedit, to internationalize and localize a PHP project.
FrameworksEloquent, PhalconPHP, React Native, YARN, Redux, Bootstrap 3, Yii, Codeception, Laravel, Laravel 5, Padrino, Sinatra, Symfony 2
ToolsSculpin, Bitbucket, GitHub, NPM, Git, Subversion (SVN), CodebaseHQ, WebStorm, PhpStorm, Composer, RubyMine, Nginx, Apache
ParadigmsDatabase Design, REST, Object-oriented Programming (OOP), Functional Programming, UI Design
OtherRESTful APIs, User Experience (UX), Usability, API Testing, Restler, HTML Email, Chrome Extensions, MoIP
Libraries/APIsReact, ProsperWorks CRM API, jQuery, jQuery Validation, ActiveRecord, jQuery UI, Auth0 API, PayPal API, GitHub API, jQuery Mobile
PlatformsDocker, DeployHQ, Linux, Heroku
StoragePostgreSQL, MySQL, Redis, Memcached, NoSQL
- Bachelor's degree in Information Systems2011 - 2015Universidade Estácio de Sá - Rio de Janeiro, Brazil
- Visiting student as part of my bachelor's degree in Computer Science2012 - 2013Dalhousie University - Halifax, Canada