Badges
Certifications
asjadjah has not earned any certificates yet.
Work Experience
Senior Software Engineer
Afiniti• February 2019 - September 2020
Worked as a full stack senior software engineer in the Engineering team on the following projects: • Afiniti Core - Configuration Server: Role: Project Lead and Backend Developer (Node.js + C++) Designed and developed a configuration server which was then used to configure and update all components of Afiniti Core with Pub/Sub mechanism using RabbitMQ. Also implemented the capability to store Afiniti routing entities. The technology stack used was Node.js (with TypeScript) on the backend, Kong as the middleware API gateway, React (with TypeScript) on the frontend, and C++ for the client API. • Configuration Server – Transformation Application: Role: Project Lead and Backend Developer (Python) Designed and developed a standalone cross-platform Python application for importing configurations from the Afiniti Core legacy version. Having an interface developed using tkinter, the app reads data, transforms it, and loads it to Afiniti Core Configuration Server. Generated builds for both Windows and Linux platforms using PyInstaller. • Afiniti MegaACD: Role: Fullstack Developer (Node.js + GraphQL + React.js) Designed and developed the frontend, middleware, and backend of Afiniti MegaACD using Node.js, GraphQL, and React.js (all in TypeScript). Created the API gateway using GraphQL to which the frontend interacted using Apollo. The concept of MegaACD is to unify all client ACDs to improve the efficiency and output of Afiniti’s AI algorithm. • Afiniti IME/AiRo: Role: Backend Developer (Node.js + GraphQL) Designed and developed the Telephony component of Afiniti IME/AiRo, which was then used to auto-configure Afiniti with the client switches. Developed the backend of this component in Node.js with TypeScript and created the middleware API gateway using GraphQL. Added support of leading market switches such as Avaya, Cisco, and Genesys. • Afiniti Core - Lookup Service: Role: Backend Developer (C++) Developed a multi-threaded lookup service in C++ to provide data to the evaluator (AI engine), which used this data to run AI models. Added configuration-based support of multiple data sources, including SQL databases such as MySQL and PostgreSQL, NoSQL databases such as MongoDB, and SOAP/REST-based web services.
Application Engineer
LMKR• August 2017 - February 2019
Worked as a Java software engineer for Halliburton on developing data integration, federation, and interoperability between the following Oil & Gas Exploration & Production software: • OpenWorks (Landmark, Halliburton) • Recall (Landmark, Halliburton) • DecisionSpace Geosciences (Landmark, Halliburton) • Geolog (Paradigm) • Petrel (Schlumberger) My key responsibilities included: • Development of Teiid connectors and translators to expose data using data virtualization from heterogeneous data sources into the centralized integration server application. • Fixing, improving, and patching multiple modules of the application for smooth flow of data to/from multiple connectors. A couple of major implementations include cartographic conversion and datum transformation of data during transfer, as well as file streaming of very large files between multiple data sources. • Extending Apache Thrift server and client implementation to expose data from heterogeneous data sources, which any of the available Teiid connectors can then access to fetch the required data. Implemented multiple Thrift servers and clients in Java, C#, and C++ for various connectors. • Moving Teiid connectors to Docker by creating Dockerfile configurations for building images. • Development of unit and integration tests for multiple connectors to enable Test-Driven Development in the future. • Automation of tests after integration with Docker. Configured Maven build to trigger Docker container build and deployment in order to run tests before publishing releases. • Conducted a two-hour company-wide training session on “Introduction to Docker” on 14th February 2019.
GIS Developer
TPL Maps• July 2016 - August 2017
Worked on a wide array of projects using Java, Python, and C++ and implemented them on multiple platforms, including Desktop, Server, Web, and Android. A few major highlights include: • Developed a Python server application to generate secure, encoded, and small-sized vector map tiles. • Implemented a new graph-based routing algorithm in Java and implemented it as a web service using Jersey. Optimized it to the extent that it could be used offline inside an android application having a minimal storage size. • Developed multiple data QA Java applications to detect GIS data anomalies using JTS and GeoTools. • Developed a Java application for language translation of the map data. • Developed a mechanism to convert satellite images to raster map tiles for loading them offline inside an android application. • Contributed to the addition of new features in the native C++ library being used in the android/iOS mobile applications. • Developed an application to convert map tiles saved in TMS tile coordinate file structure to Google XYZ tile coordinate file structure. • Set up and managed the map tiling and client servers using CentOS operating system having load balancing capabilities.
Education
University of Southern California
Data Science, MS• August 2020 - Present
DSCI-553 (Foundations and Applications of Data Mining) MapReduce, Frequent Itemsets, Shingling, Minhashing, Locality Sensitive Hashing, Recommendation Systems, Analyzing Massive Graphs, Mining Data Streams, Link Analysis, Web Advertising DSCI-552 (Machine Learning for Data Science) Linear/Logistic Regression, Classification/Clustering, Bayesian Theory, Parametric/Non-Parametric Models, Supervised/Unsupervised Learning, Neural Networks, NLP, Random Forests, Generative Models DSCI-551 (Foundations of Data Management) Project: Satellite Tracker (https://youtu.be/5trjJ1A569s) Storage & File Systems, Hadoop Distributed File System (HDFS), Data Modeling (ER & Relational), Indexing (B+-Tree), Query Execution, Python Pandas, Hadoop MapReduce, Apache Spark SSCI-575 (Spatial Data Science) Project: https://storymaps.arcgis.com/stories/0a82cd8897e446ac9115579ef5cdc694 GeoAI, Spatial Data Representation/Wrangling, Exploratory Spatial Data Analysis, Spatially Explicit Supervised/Unsupervised Learning, Spatially Explicit Neural Networks, Spatial Optimization, Prescriptive Spatial Machine Learning SSCI-586 (GIS Programming and Customization) Python for Vector/Raster Data Manipulation, Python in ArcGIS, Interactive Computational Geospatial Programming, Notebooks for Web GIS, Real-Time Spatial Data Processing, Spatial Data in an IoT Era SSCI-581 (Concepts for Spatial Thinking) Spatial Autocorrelation, Spatial Heterogeneity, Raster and Terrain Analysis, Spatial Estimation & Interpolation, Spatial Modeling, Modeling with Machine Learning, Geospatial Intelligence
National University of Science and Technology
Computer Science & Engineering, BE• September 2012 - June 2016
CGPA: 3.71/4.0