Omar Fahmy, Back-end Developer in London, United Kingdom
Omar Fahmy

Back-end Developer in London, United Kingdom

Member since January 12, 2020
Omar is a back-end developer specializing in Scala and functional programming. Omar previously worked at iManage, where he was responsible for delivering performance-intensive back-end services for the iManage AI platform, which is trusted by the world's top law firms, in challenging on-premise deployments. Omar is passionate about delivering well-tested, clean code that fulfills requirements while being considerate of future developers by leaving behind a maintainable and robust codebase.
Omar is now available for hire

Portfolio

  • iManage
    Akka Streams, Functional Programming, JVM, Memory Profiling, Akka Actors...
  • iManage
    Akka Streams, Functional Programming, JVM, Memory Profiling, Akka Actors...
  • BAE Systems Applied Intelligence
    SQL, MongoDB, REST APIs, Java, Back-end Development, JavaScript

Experience

Location

London, United Kingdom

Availability

Part-time

Preferred Environment

Linux, IntelliJ, Slack, MacOS

The most amazing...

...thing I've built is a control system for an unstable wing during my degree, which had to perform real-time signal processing on an Arduino inside a wind tunnel.

Employment

  • Senior Software Engineer

    2019 - 2020
    iManage
    • Received the award for engineering excellence in our annual employee awards, out of over 600 employees.
    • Resolved numerous memory leaks by profiling the application using VisualVM, usually in response to high-pressure customer incidents.
    • Improved the speed of one of the document ingestion stages exponentially.
    • Simplified the integration testing by removing the dependency on a dedicated integration testing VM, so that any developer could easily run the tests locally while also freeing up the VM for other uses.
    • Added instrumentation using Graphite and created default Grafana dashboards to facilitate application monitoring, which saved time when diagnosing issues in production.
    Technologies: Akka Streams, Functional Programming, JVM, Memory Profiling, Akka Actors, Linux, SQL, MongoDB, PostgreSQL, REST APIs, ScalaTest, Docker, Java, Scala, Back-end Development, Play 2, Java VisualVM, Akka, Play Framework
  • Software Engineer

    2017 - 2019
    iManage
    • Responsible for delivering a performance intensive back-end service that provided document processing for law firms.
    • Reduced the speed of two of our document processing algorithms by 50% and 90%.
    • Developed a feature to calculate precision and recall for user-trained data-extraction models using cross-validation, which was implemented using Akka Streams.
    • Rewrote existing complex imperative code as purely functional code, which enabled me to add thorough unit tests for a complex part of the application—reducing bugs and improving maintainability.
    Technologies: Akka Streams, Functional Programming, JVM, Memory Profiling, Akka Actors, Linux, SQL, MongoDB, PostgreSQL, REST APIs, ScalaTest, Docker, Java, Scala, Back-end Development, Play 2, Java VisualVM, Akka, Play Framework
  • Software Engineer

    2016 - 2017
    BAE Systems Applied Intelligence
    • Configured new fraud detection workflows using BAE's flexible and complex NetReveal platform, for one of the worlds leading financial institutions.
    • Helped develop an internal application to run "planning poker" sessions, which enabled distributed teams to improve their agile processes.
    • Helped develop a Jira plugin for internal use, to conduct team questionnaires, and produce charts of the results.
    Technologies: SQL, MongoDB, REST APIs, Java, Back-end Development, JavaScript
  • Aerospace Engineer Intern

    2015 - 2015
    Facebook
    • Developed a powerful design and analysis tool for use by other engineers, using MATLAB to automate a third-party Java program.
    • Converted an existing spreadsheet into a MATLAB program which allowed design parameters to be adjusted and produced detailed graphs to assist high-level design discussions.
    • Presented high-level overviews of MATLAB programs to other engineers and stakeholders for peer reviews.
    Technologies: MATLAB

Experience

  • iManage Extract | AI Platform for Law Firms
    https://imanage.com/product/imanage-ravn-extract/

    iManage Extract is an AI platform used by the world's leading law firms to extract essential information from their documents. I worked as a Scala developer, working on the data processing engine for these documents. I delivered massive document processing speed improvements—over 90% in one case—and improved robustness by fixing several memory leaks that were causing application failure. I was involved in all elements of this product, from planning through to implementation, automated testing, manual testing, deployment, and support.

  • Scala Client for Cloudflare API
    https://gitlab.com/migamake/api/scala/cloudflare

    A Scala client to call Cloudflare API endpoints to manage DNS records. This client was designed to be used as a template for other projects moving forward, so it serves as the best practices benchmark.

    The project includes unit and integration tests, as well as a GitLab CI pipeline.

    The documentation is extensive including both Scaladocs and "Readme" docs.

  • Zero Below Zero | Puzzle Game for iOS
    http://appadel.com/zerobelowzero/

    I created a puzzle game for iOS using SwiftUI. The game is based on a graph-theory puzzle called the Dollar Game. I created a novel algorithm to find the minimum number of levels for each level and implemented this using Scala. The cost of calculating the minimum number of moves grows incredibly fast as the game becomes more complex, which can make these levels unfeasible. My algorithm enabled me to create these kinds of complex levels, where using a conventional brute force approach is impossible.

Skills

  • Languages

    Scala, SQL, Java, Swift, JavaScript
  • Libraries/APIs

    REST APIs, Akka Streams
  • Tools

    ScalaTest, Slack, IntelliJ, Java VisualVM, MATLAB
  • Other

    Back-end Development, Akka Actors, Memory Profiling
  • Frameworks

    Play 2, SwiftUI, Play Framework, Akka
  • Paradigms

    Functional Programming
  • Platforms

    JVM, Docker, MacOS, Linux
  • Storage

    PostgreSQL, MongoDB

Education

  • Master's Degree in Aeronautical Engineering
    2011 - 2016
    Imperial College London - London, United Kingdom

To view more profiles

Join Toptal
Share it with others