Ian Medeiros
Senior Software Engineer at Marco Polo- Claim this Profile
Click to upgrade to our gold package
for the full feature experience.
-
Inglês Full professional proficiency
-
Portuguese Native or bilingual proficiency
Topline Score
Bio
Experience
-
Marco Polo
-
United States
-
Technology, Information and Internet
-
1 - 100 Employee
-
Senior Software Engineer
-
Nov 2022 - Present
-
-
-
PSafe US
-
United States
-
IT Services and IT Consulting
-
1 - 100 Employee
-
Android Team Lead
-
2018 - Feb 2023
After some time in a Senior position, I was offered the chance to lead the development of one of the products of the company. As I had a little bit of more autonomy for implementing my ideas (with hard deadlines constraints), I started to push for better android development practices: - The team started migrating the codebase to Kotlin- The team started decoupling the code from Activities/Fragments into presentation / data layers- The team started increasing the test coverage- We introduced code-reviews into the development process The introduction of those practices, together with excellent work from the product team, we were able to deliver results: - The deploy rate got faster, delivering more than 8 high value features in the semester with only 4 developers (including myself)- Overall product metrics improved substantially: crash-rate, user engagement, retention rate, ARPU, etc.Today, the product I was leading got into "maintenance mode" and the team was merged into the main product of the company. As the practices proved effective, they were adopted on all our Android Development Cycle and I am co-leading being seen as the "evangelist" for good software development practices.Some software concepts I try to implement daily: Clean Architecture, SOLID, DRY, Dependency Injection, TDD, Multi-Modular AppSome specific android development keywords: Kotlin, Coroutines, Android Architecture Components, AndroidX, Dagger, Gradle, Groovy Show less
-
-
Senior Android Developer
-
2016 - 2018
After two years of hard work and proven ability to solve complex problems from start to finish without supervision, a strong overall system knowledge, understanding of the application domain and strong work ethic, I was promoted to a Senior position. I helped develop a lot of core features in the app, but one that I believe had an overall good impact in my evaluation was the Anti Phishing. That feature involves strong android permission system knowledge, handling background services, back-end communication and code modularity: it is being used in different mobile products of the company and is helping thousands of users not being scammed daily.Some technologies used: Java, Android, Gradle, Groovy, Unix, Bash, Python Show less
-
-
Android Developer
-
2014 - 2016
While I was working on windows, the company started to give strong signs that it would pivot to the mobile market: more investments were being made to hire mobile developers and the OKR's were almost exclusively related with mobile projects. Anticipating the oficial migration, I negotiated a change to the Mobile team. It was the right choice: the mobile market showed a lot more growth potential and I had the opportunity to learn an exciting new language / framework, mostly Android with some small iOS projects. C++ knowledge is easily transferable to Java, so I was able to fix bugs in my first work day and ship new features in no time.Worked in this position for almost two years, sharpening my knowledge about the Android ecosystem and keeping my studies on fundamentals: code refactoring, SOLID principles, unit testing, design and architectural patterns.Some technologies used: Java, Android, Gradle, Groovy, Unix, Bash, Python Show less
-
-
C++ Windows Developer
-
2013 - 2014
Started at PSafe as a native windows developer and worked in a variety of applications mostly implemented in C++ with Qt5 before migrating to Android. At the time, the company was focusing on penetrating the Windows software market in Brazil and I had the opportunity to help design, develop and maintain apps with a large user base, with millions of downloads. Worked on building an antivirus, some windows installers, a native windows file backup system and managed our build scripts mostly written in Python. The products were discontinued when the company made the executive decision to pivot to the Mobile market.Some technologies worked on: C++, Qt5, CMake, Win32, Python, Windows Show less
-
-
-
Fictix
-
Rio de Janeiro, Brazil
-
Software Engineer
-
2011 - 2013
Fictix was a bootstrapped startup company building interactive media content for other brands. As the main developer of the company, together with one of the founders, I had the opportunity to implement a lot of challenging applications from the ground up. They ranged from motion detection and augmented reality to touch-screen apps. It was a really good opportunity to be exposed to the market, starting to apply project management methodologies like SCRUM and dealing with the pressure of meeting tight dead-lines. Some concepts exercised: Background segmentation, motion detection and augmented reality Some used technologies: C++, OpenGl, Qt5, and ActionScript Show less
-
-
-
Universidade Estadual de Santa Cruz
-
Brazil
-
Higher Education
-
700 & Above Employee
-
Scientific Initiation Researcher
-
Jun 2008 - Dec 2010
Started my career as an undergraduate researcher in my university. It was a great opportunity to develop my writing skills, work ethics and sharpen one of the most critical skills in any software developer: the ability to find answers to open questions. Had 2 main research areas: applied math and scientific computation. Some used technologies: C, Linux and a multi precision arithmetic library called GMP. Started my career as an undergraduate researcher in my university. It was a great opportunity to develop my writing skills, work ethics and sharpen one of the most critical skills in any software developer: the ability to find answers to open questions. Had 2 main research areas: applied math and scientific computation. Some used technologies: C, Linux and a multi precision arithmetic library called GMP.
-
-
Education
-
PUC-RJ
Master's degree, Computer Science -
Universidade Estadual de Santa Cruz
Bachelor's degree, Computer Science