Ahmed Al-Amir

Ahmed Al-Amir

Melbourne, Australia
Hire Ahmed
Scroll To View More
Ahmed Al-Amir

Ahmed Al-Amir

Melbourne, Australia
Member since March 16, 2014
Ahmed is an entrepreneur with a vivid imagination and 9 years of experience developing high performance applications. He is an expert with data storage/manipulation and high precision industrial applications. He is self-motivated and can work alone or as a part of a team.
Ahmed is now available for hire
  • C/C++, 9 years
  • Java, 5 years
  • JavaScript, 3 years
  • Object-oriented Programming (OOP), 9 years
  • Android, 6 years
  • Python, 4 years
  • Git, 1 year
  • Linux, 4 years
Melbourne, Australia
Preferred Environment
Ubuntu, IntelliJ IDEA, Sublime Text, Git, SVN
The most amazing...
...things I've coded are algorithms for indexing over 16GB of Arabic plain text, keeping overhead less than 20% and search time under 300ms on a mainstream PC.
  • Android Developer
    Kasra.co (via Toptal)
    2015 - 2016
    • Designed and implemented the app from the grounds up, making sure to make ends meet between existing backend and 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: Android, REST, Deep Linking
  • Android Developer
    Fatsack Outdoors (via Toptal)
    2015 - 2015
    • 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: Android, Parse SDK, JSON
  • Android Mobile Developer
    Rolltech, Inc. (via Toptal)
    2014 - 2015
    • 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: Android, Retrofit, JSON
  • Developer
    Terminal.com (via Toptal)
    2014 - 2014
    • Created reusable Linux-based snapshots. Each snapshot contained popular open source software installed, configured, and ready to use.
    Technologies: Linux
  • Development Lead
    2014 - 2014
    • 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: Android, Python
  • System Designer
    2012 - 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.
    Technologies: JavaScript, C#, SQL
  • Team Leader
    2012 - 2012
    • 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.
    Technologies: ASP.NET, Python
  • Senior Developer
    CIT MobiDiv
    2011 - 2011
    • 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: Windows Mobile, Android, J2ME
  • Developer
    Harf IT
    2007 - 2011
    • 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: C++, Win32 API
  • Artiweet (Development)

    Artiweet is a social app enabling Twitter lovers to tweet to their hearts' content with no limit. It is suitable for those with many followers and even more to say.

  • Yalahwy (Development)

    Yalahwy is an Android app for personal safety and kidnap prevention.

    Meant as a community service for a community in need, it keeps an eye on those making dangerous trips; it alerts their friends via social networks when they are in danger, along with a map showing their latest whereabouts.

  • Rolltech Bowling - Android (Development)

    Rolltech is a bowling score tracker.

    Users can automatically track scores and statistics in real-time, share bowling experiences with friends, and compete globally without ever leaving their favorite bowling center.

  • Fatsack Outdoors - Android (Development)

    Fatsack is an app for enthusiastic fishers. It keeps track of the items they have in their tackle boxes, the fish they catch as well as weather and location information for their catches.

  • Kasra: News & More (Development)

    Kasra delivers buzzing social articles about celebrities, lifehacks, recipes, and quizzes to the Arab youth.

    Kasra enables readers to follow their favorite writers, bookmark the articles they like, share them over social networks and sync all of that across all their devices.

  • Android Customization: How to Build a UI Component That Does What You Want (Publication)
    It is not uncommon for developers to find themselves in need of a UI component that is either not provided by the platform they are targeting or is, indeed, provided, but lacks a certain property or behavior. The answer to both scenarios is a custom UI component. The Android UI model is inherently customizable, offering the means to create custom UI components in various ways.
  • Needle in a Haystack: A Nifty Large-Scale Text Search Algorithm Tutorial (Publication)
    When coming across the term "text search", one usually thinks of a large body of text, which is indexed in a way that makes it possible to quickly look up one or more search terms when they are entered by a user. This is a classic problem in computer science, to which many solutions exist. But how about a reverse scenario? What if what's available for indexing beforehand is a group of search phrases, and only at runtime is a large body of text presented for searching?
  • Languages
    Java, C/C++, JavaScript, C#, PHP, Python
  • Frameworks
    Ext JS, Android SDK, Entity, ASP.NET, Django
  • Libraries/APIs
    Facebook API, SQLite, Twitter API, jQuery
  • Tools
    Sublime Text 2, Visual Studio, IntelliJ IDEA, Git, SVN
  • Paradigms
    Object-oriented Programming (OOP), Agile Software Development, Service-oriented Architecture (SOA), Data-driven Programming
  • Platforms
    Parse, Symbian, Windows, Android, Linux
  • Storage
    SQL Server, Oracle, MySQL, NoSQL
  • Bachelor's degree in Computer Engineering
    Cairo University - Egypt
    2001 - 2006
I really like this profile
Share it with others