Senior Software Engineer2016 - PRESENTOutware Mobile
Technologies: Android, Java, Kotlin, Git, REST, Firebase
- Explored the possible solutions to tackle the client's business aspirations and described the structure and behavior of proposed software solution to project stakeholders.
- Wrote and reviewed code that closely maintains banking regulations and security practices.
- Participated in refactoring legacy code to fit into MVVM architecture and allow for better unit test coverage.
- Worked with the client's back-end team to fine-tune their structure to better serve mobile apps.
- Hosted knowledge sharing sessions and encouraged team members to engage in presentations and activities.
- Mentored developers and provided technical guidance for solving difficult and illusive bugs.
Freelance Android Developer2015 - 2016Kasra.co (via Toptal)
Technologies: Android, REST, Deep Linking
- Designed and implemented the app from the ground up, making sure to make ends meet between the existing back end and the desired UI.
- Worked closely with the UX team to meet design specifications and ensure comparability with a wide range of Android device sizes.
- Added background loading and caching to enable users to consume content offline.
- Implemented syncing for user settings (favorites, bookmarks, etc.) between different user devices.
- Integrated the app with several social media services, e.g., branch.io for deep linking and Facebook/Twitter for logging in and content sharing.
Freelance Android Developer2015 - 2015Fatsack Outdoors (via Toptal)
Technologies: Android, Parse SDK, JSON
- Ported an iOS app to Android.
- Created Android UI from provided Photoshop templates.
- Employed a mix of local and in-the-cloud strategy for data storage and caching.
Freelance Android Developer2014 - 2015Rolltech, Inc. (via Toptal)
Technologies: Android, Retrofit, JSON
- Developed the Android version of a Rolltech bowling score tracking app.
- Converted iOS app screens to Android ones.
- Implemented the app to consume a real-time API and maintained a responsive user-friendly UI.
Freelance Developer2014 - 2014Terminal.com (via Toptal)
- Created reusable Linux-based snapshots. Each snapshot contained popular open source software installed, configured, and ready to use.
Development Lead2014 - 2014Inmobly
Technologies: Android, Python
- Led a team of six developers, making design decisions and enforcing code quality practices.
- Used adaptive algorithms in the software to predict user future content consumption based on previous behavior.
- Achieved goals of lowering network congestion and decreasing internet bills.
System Designer2012 - 2013CGI
- Redesigned SQL queries, significantly cutting execution time from five hours to 15 minutes.
- Redesigned C-based administration software for power plants into a server/client architecture.
- Ensured full backward compatibility for the new design.
Senior Developer2011 - 2011CIT MobiDiv
Technologies: Windows Mobile, Android, J2ME
- Wrote a lossless algorithm to compress images in as few SMS packets as possible.
- Integrated the application with the messaging system on various mobile platforms.
- Used Facebook/Twitter API to publish images from the application.
Developer2007 - 2011Harf IT
Technologies: C++, Win32 API
- Designed and implemented algorithms for indexing both plain text and XML, with the ability to execute XPath queries on indexed data.
- Kept search and retrieval performance under 300ms for 16GB of data on a single mainstream PC, with index storage overhead of 15%.
- Wrote COM wrappers to provide search functionality to other platforms.
- Wrote a plugin to provide advanced Arabic support for SQL Server full text search.