- Senior Software EngineerOutware Mobile2016 - PRESENT
Technologies: Android, Java, Git
- Provided technical analysis for business requirements.
- Wrote and reviewed code that closely maintains banking regulations and security practices.
- Provided assistance for solving difficult/illusive bugs.
- Organized and presented technical talks.
- Mentored developers and provided technical guidance.
- Freelance Android DeveloperKasra.co (via Toptal)2015 - 2016
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 DeveloperFatsack Outdoors (via Toptal)2015 - 2015
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 DeveloperRolltech, Inc. (via Toptal)2014 - 2015
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 DeveloperTerminal.com (via Toptal)2014 - 2014
- Created reusable Linux-based snapshots. Each snapshot contained popular open source software installed, configured, and ready to use.
- Development LeadInmobly2014 - 2014
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 DesignerCGI2012 - 2013
- Redesigned SQL queries, significantly cutting execution time from 5 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.
- Team LeaderCartoLogic2012 - 2012
Technologies: ASP.NET, Python
- Created a unified user management system encapsulating services running on different platforms.
- Developed a paging system allowing users to consume large amounts of data from GIS services not offering paging.
- Senior DeveloperCIT MobiDiv2011 - 2011
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.
- DeveloperHarf IT2007 - 2011
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.