Welcome to Convex Human!
Convex Human is a blog that discusses different ideas related to Computer Science, Mathematics, System Design and Architecture.
Who is Convex Human?
I am Mohammad Amarnah, a Software Engineer and a lifetime student. My interest in computers started at a young age. Programming led my interest in several other fields and science in general - and continues to do so.
I am fond of functional programming and design, a lover of Clojure/lisp, and interested in doing everything in a functional manner. I like Algorithms and sometimes like to compete in online competitive programming competitions.
Professional Experience
Software Engineer II
April 2022 - Present
- Engineered and managed microservices for storing users’ communication preferences, seamlessly integrating with marketing tools (Iterable, Responsys) to facilitate efficient customer-provider connections.
- Designed and implemented a large-scale data migration pipeline that transferred 100M+ user records from disparate legacy sources to a streamlined Postgres database, ensuring data accuracy and continuity.
- Led the design of a modular schema for storing diverse user communication preferences, enabling easy integration of various communication types (marketing, transactional) within an extensible framework.
- Resolved complex data inconsistencies across multiple sources by conducting meticulous analysis and utilizing tools like Snowflake, ensuring data integrity and reliability.
Senior Software Engineer (Contractor)
January 2022 - July 2022
- Introduced optimizations on the database and application level that improved the performance by at least 30%.
- Refactored the Learning Management System by optimizing the number of database queries it makes and combining multiple existing queries with bulk database actions.
- Cleanup application models to a more modular, inheritable, and abstract definition that allows a cleaner, more readable code base.
Software Development Engineer II
May 2021 - July 2021
Software Engineer
February 2018 - May 2021
- Designed and implemented web systems in a distributed service-oriented architecture, using a stack that included: Clojure, Ruby on Rails, PostgreSQL, Redis, Cassandra, and other technologies.
- Designed and engineered a scalable matchmaking service that was used to handle matching millions of users in real-time.
- Collaborated with the team on scaling the architecture to handle 5x the traffic during quarantine.
- Led the technical design and implementation of several games (i.e. MonopolyDeal, Chess, and other board and card games) and products (Game Events, Competitions).
Mixed Dimensions
Research and Development Engineering Intern
March 2017 - October 2017
- Worked on 3D model rendering and computational geometry algorithms using C++ with openCV.
- Developed a good acquaintance with the CUDA library for optimally rendering 3D models using GPUs.
- Assisted the robotics team working on a robotic arm to automate the process of painting 3D models using ROS and Gazebo.
Tech Stack
Systems and web
Ruby, Clojure, Java, Python, Scala, Javascript, Typescript, C/C++
Ruby on Rails, Spring Boot, ReactJS, Scala Play, Python Django, Unity3D
Databases, memory, and infrastructure
PostgreSQL, Snowflake, Kafka, MongoDB, Redis, Memcached, Cassandra, ElasticSearch, Grafana, AWS.