Senior Software Engineer
2016 - PRESENTOutware Mobile- 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.
Technologies: Firebase, REST, Git, Kotlin, Java, AndroidFreelance Android Developer
2015 - 2016Kasra.co (via Toptal)- 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.
Technologies: Deep Linking, REST, AndroidFreelance Android Developer
2015 - 2015Fatsack Outdoors (via Toptal)- 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.
Technologies: JSON, Parse SDK, AndroidFreelance Android Developer
2014 - 2015Rolltech, Inc. (via Toptal)- 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.
Technologies: JSON, Retrofit, AndroidFreelance Developer
2014 - 2014Terminal.com (via Toptal)- Created reusable Linux-based snapshots. Each snapshot contained popular open source software installed, configured, and ready to use.
Technologies: LinuxDevelopment Lead
2014 - 2014Inmobly- 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.
Technologies: Python, AndroidSystem Designer
2012 - 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.
Technologies: SQL, C#, JavaScriptSenior Developer
2011 - 2011CIT MobiDiv- 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.
Technologies: J2ME, Android, Windows MobileDeveloper
2007 - 2011Harf IT- 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.
Technologies: Win32 API, C++