Lucas Dias
Engenheiro de software at Anansi- Claim this Profile
Click to upgrade to our gold package
for the full feature experience.
-
Português Native or bilingual proficiency
-
Inglês Full professional proficiency
Topline Score
Bio
Experience
-
Anansi
-
Bahamas
-
Information Technology & Services
-
Engenheiro de software
-
May 2023 - Present
-
-
-
Imaginary Cloud
-
Portugal
-
IT Services and IT Consulting
-
1 - 100 Employee
-
Full Stack Developer
-
Dec 2021 - May 2023
-
-
-
Buser Brasil
-
Brazil
-
IT Services and IT Consulting
-
200 - 300 Employee
-
Full Stack Developer
-
Oct 2020 - Dec 2021
Main developer of the infrastructure team, which is responsible for management of boarding points. Developed the boarding and stopping points management system allowing for the creation of new points with google maps API integration to provide navigation to the end user, allowing for updates to any existing points and notifying all parties involved through multiple channels and allowing for soft-deleting to avoid further use in new travels or routes. Developed a bus altering request system that allowed for partners to create an request to alter a bus to a particular travel group in their app. The request could them be reviewed and approved or rejected by the internal team on the internal app. There the reviewer would be able to see images of both bus, equipment and side effects of accepting the change such as lower passenger capacity on each travel class and possible reimbursement costs to these passengers. Developed a map to show past travel's telemetry data. this was used to check if the driver was doing the expected route. It allowed for issuing fines to partner if there was anything wrong in the travel log. Developed a boarding point scheduler system for distributing loading within geographically close points. It would show each travel group in each selected boarding points within the selected time range. The data was shown in a sort of timeline chart, there could be as many groups in the same time slots as the boarding point could accommodate. if there was more, the time slot would be colored red and the user could move any of the travel groups to another boarding point. Optimized critical procedure for making changes in bus routes. Any minor to a route change can have side effects in multiple other entities. Before optimizing, complexity was O(n^5) and after it got down to O(n) where n is the amount of boarding points in the route. Optimized multiple endpoints that searched through routes and boarding points removing n+1 queries. Show less
-
-
-
Diebold Nixdorf
-
United States
-
IT Services and IT Consulting
-
700 & Above Employee
-
Back End Developer
-
Jun 2020 - Oct 2020
Develop new features and mantained multiple microservices used for fraud detection. All of them written in Flask. One of those, was an image comparison service that, given a screenshot, would compare that with screenshots from all the client's app, if any looked close enough, it would flag it to be manually reviewed later on to check if it was a phishing attempt. Set up CI/CD pipelines for some of those webservices using GitLab, Docker and deploying to AWS. Agile environment. Develop new features and mantained multiple microservices used for fraud detection. All of them written in Flask. One of those, was an image comparison service that, given a screenshot, would compare that with screenshots from all the client's app, if any looked close enough, it would flag it to be manually reviewed later on to check if it was a phishing attempt. Set up CI/CD pipelines for some of those webservices using GitLab, Docker and deploying to AWS. Agile environment.
-
-
-
-
Full Stack Developer
-
Jun 2018 - Jun 2020
Migrate a set of back-end application from .Net to Express. Each application was responsible for a different set of geographic analysis. During migration, I've added unit tests to each application and reduced the amount of code and optimized any endpoint that needed. Also made small adjustment to the front end of each application which was written with dojo toolkit. Worked on multiple projects for electricity distribution companies. Developed a tool that from a set of point features representing electrical towers, generated power lines features and calculate its attributes based on distance between towers and terrain elevation. Develop multiple tools to validate datasets used for navigation by tower maintenance crew. Develop a platform to visualize maintenance data and inspection videos of distribution towers. Develop a set of tools to detect changes over an area under power lines by comparing satellite images, used to detect possibly illegal construction near power lines. Develop a platform to facilitate distribution of technical documentation from substations and power-plants to the entire company. All of these was developed using Python, arcpy and the python arcgis library on the back-end and pure javascript or dojo on the front-end with the arcgis js library. There was also a lot of data work needed on most projects, which means that I wrote a lot of SQL. Pushed other developers to stick to best practice and incentivizing discussions on how to make things better, mainly on subjects like: version control, writing reusable code, writing unit tests, TDD and automated pipelines. I also gave a few lectures on javascript and python/arcpy to other developers. Took part in the discovery process of every project exchanging ideas directly with the end user and iterating with them as the project evolves. Formally, it was not an agile environment, but in practice it was quite similar. Show less
-
-
-
Geoflorestas
-
Brazil
-
Environmental Services
-
1 - 100 Employee
-
Junior Developer
-
Apr 2017 - Jun 2018
Developed a geographic analysis process that given a set of features representing plots of land used for raising livestock, intersects that with multiple set of features representing illegal deforestation, areas of preservation, embargo areas and indigenous lands. If an intersection is found, check it against a set of rules such as area size, exception cases and region and then return a report specifying which rules were broken and why. The end users of this tool would them use that information to determine if cattle raised in those plot of lands could be bought or not by a meat producer. It was written using Python, PyQGIS and PostGIS. Developed multiple entry-points for this analysis process: A QGIS plugin using PyQT (later became and standalone app), a command line which was used to run the process on a schedule through crontab and an API written in Flask/Flask-restful. Optimized that same analysis as it used to run on a schedule with data from all the clients (each client had in average 10k properties to analyze against the same set of about 500k features). This was legacy code written using .Net and PostGIS and used to take about 10 hours to complete. Using my version, the same analysis would run within 15 minutes. Added new features to it, like options to set the intersection rules and features to include or exclude on each run. Developed web scraping scripts to update data used by the analysis. Those were written using Python and Selenium and run on an EC2 instance via crontab. This instance was managed by me. Developed a recurring task that would fetch satellite data (usually .csv files) from a FTP server, parse them into point features representing possible fire spots and them check for farming land within an specified distance of any of these spot. If any is found, notify the client responsible for that land through email. This was done using Python and PostGIS. Also worked on minor features in .Net, Angular, Vue and Express. Show less
-
-
-
-
Software development Internship
-
Oct 2016 - Apr 2017
Hired for manual data cleaning of geographic data, but proactively develop a variety of small Python scripts to automate parts of this cleaning process. Those scripts used the arcpy library. One of them looked for a "box" pattern within a set of line features and transform them into a polygon feature. With those polygons, another script was responsible for connecting any close enough line's endpoints to the centroid of the polygon. Helped data analysts with any manual process that could be automated. For example, while working with vectors, one dataset needed to have its vectors all pointing to the same direction to simulate water flow. So I developed a script that would go through those vectors and flip them if needed. Also written with Python and the arcpy library. Show less
-
-
Education
-
Universidade Cruzeiro do Sul
Técnologo, Análise e desenvolvimento de sistemas -
ETEC - Escola Técnica Estadual de São Paulo
Técnico, Tecnologia da Informação