Master Business Administrator - FGV - Brazil
March/2010 - June/2012
Learned soft skills needed to manage a real state and construction company. Changed experiences with other managers and company owners.
 
        João Gilberto Balsini Moura
Senior Software Engineer
Brazilian / Italian
36 years old
Currently living and working remotely from Florianópolis, SC, Brazil.
 
             
                
              Currently adding new features to the existing Enzyme QMS
              
 
              Working on the migration from the existing APP from EmberJS to Elixir Liveview.
              
            
 
             
                
              Worked on Employees Efficiency Tribe on K2 team
              
 
              Developed Elixir/Phoenix and Ruby/Rails solutions to improve our Authentication and Pricing.
              
              Led the docker project: already reduced onboarding time of new employees from 2 weeks to less than a
              day.
              
              Tech lead of the price approval project. The goal was to automate manual tasks to reduce costs
              (900.000 USD yearly) while improving work quality for our employees.
            
 
             
                
              Developed an Application for a group of Real Estate Agencies using Phoenix Framework and Phoenix Liveview.
              The stack included Docker, Postgres and Gitlab. Also there was some map related work with Postgis.
              Tech Lead of the project, responsible for all the implementation of a project and its stack: CI/CD,
              frontend and backend.
              
              Tutored developers on migrating from Ruby to Elixir
              and helped create standards for Elixir development.
              
              Eventually worked on some existing Ruby on Rails projects as well, fixing issues, and adding new
              features.
            
 
             
                
              Specified and developed three services from scratch. Two of them implemented GraphQL APIs using
              Absinthe.
              
              On the backend
              we used Elixir, Ecto, PostgresSQL and MSSQL.
              
              On the frontend we used a mix of vanilla Javascript, VueJS and
              Phoenix Liveview.
              
              We worked on the whole stack, including architecture, tests, and deployment to Azure
              Cloud using Docker containers and build pipelines that implement multiple checks (formatter, dialyzer,
              tests,
              e2e tests) before deploying to
              production.
              
              READ MORE
            
 
             
                Successfully managed a real state
              and
              construction company with around 50 employees and contractors. The conflicts were reduced by a big margin
              at the same time the ownership of tasks was improved.
              Migrated new company
              projects
              from CAD to BIM, that change made our projects a lot easier
              to track, increased the quality of the construction, reduced maintenance and as a consequence, increased
              our revenue.
              Managed the construction of two buildings around 10.000 m2 from foundation to deliver.
              
              READ MORE
            
 
             
                 Successfully replaced Excel, used to manage parts
              of the company, with a modern ERP system that I
              developed using Ruby on Rails, Javascript and MySQL.
              Improved a lot how the company worked, allowing staff to do a lot more, with more quality, in less
              time.
              Made new data available in real time to managers to better understand the company through
              reports.
              READ MORE
            
 
            Janne Langø
Head of People Operations at Asolvi
"Joao has shown enthusiasm and ownership for his work from his first day with us. He is a professional and passionate developer and is well liked by his team members.""
 
            Tanja Tollin
Product Owner at Asolvi
"As a product owner in Asolvi, I have had the pleasure to work with Joao Gilbert Balsini Moura. Joao is the one that the other team members turn to for advice, he is very skilled and shows a very good understanding of the business and how to translate this into the product they are creating. He works methodically and structured and playes a key role into creating such a collaborative spirit in the team. He also brought a very easy-going social attitude to the team, which I think is key to create a good working environment."
 
            Camilla Rygh
Elixir developer at Asolvi
"Joao is always there if you need a hand. Despite being far away and in a different time zone, he shows up when he is needed the most and always with a positive attitude. He has a way of identifying tasks that are neglected by the team, for example if we fall behind on code reviews, leading to consistency in the work we do and how we do it."
 
            Dee Roberts
Elixir developer at Asolvi
"Joao has a fantastic work ethic, and is always willing to take on tricky items and see them through. His experience and skill as a developer means the end result is always top notch, both in code quality and user experience. He's also just an absolute pleasure to work with, always happy and bright no matter how things are going, which has really helped bring the team together."
Master Business Administrator - FGV - Brazil
March/2010 - June/2012
Learned soft skills needed to manage a real state and construction company. Changed experiences with other managers and company owners.
Electrical/Mechatronics Engineering, BSc - UFSC - Brazil
January/2003 - December/2007
Control engineering, automation, electrical and software engineering.
Elixir Conference US August/2019
Release the Kraken… Err… Elixir!
Learned a lot about releases using Distillery. Had an introduction to Elixir releases. Learned about debugging systems running on production.
Elixir Conference US August/2019
Elixir in the Jungle
Learned about terraform and how to deploy code to Amazon AWS.
Personal
                Very fast learner. 
                Self motivated with proactive behavior. 
                Good analytic capacity. 
                Love challenges and problems to solve.
Languages
Portuguese: Native
                English: Fluent
                French: Basic
Personality test
The Scientist
                "INTJ's live in the world of ideas and strategic
                planning. They value inteligence,
                knowledge, and competence, and tipically have high standards in these regards, which they contiuously
                strive to fulfill."
Objetives
To work in a nice software company and solve problems using the right programming
                languages and tools for the job.
                Improve people lives and work quality through good software.
              
Fixed loading of environment variables
Before that fix, Hab didn't load environment variables automatically on zsh shell. So, when you opened a new shell, you needed to manually switch folders (using cd .) to make it reload the variables.
Fix crash when name of element ends on []
When you used liveview with select of type multiple the rendered element had name ending with "[]", something like name = 'object[attribute][]'. I proposed a fix to that problem.
Discovered a small issue on activerecord while debugging an issue on a production application. The problem arised when trying to query while eager loading multiple has and belongs to many relations with same coloumn names.
Helped on initial setup and documentation
Before this contribution the mix tasks defined by Maestro were generating migrations on the wrong folder. I also made another contribution to this project, adding the missing Jason dependency.
Authentication and Authorisation in Phoenix Liveview
A big article on how to securely implement authentication and Authorisation in Phoenix Liveview.
Link to article: Link
A very simple but feature rich chat application
A feature rich chat application that uses all Liveview bells and whistles. You have presence, to identify who is online, and typing indicators, to know who is writing.
Massive multiplayer online game
Board game implemented in Elixir
A multiplayer board game implemented using Elixir. It uses a multiple Genservers to maintain state of the board. I used phoenix liveview and phoenix pubsub to push realtime updates to all users.
Gathering and processing data from API using GenServer, RabbitMQ and Broadway.
A service written in Elixir that queries an API for previous and actual values and saves the data into influxdb. It uses RabbitMQ and Broadway to deal with a big chunk of historical data.