Gurgen Hovhannisyan, Developer in London, United Kingdom
Gurgen is available for hire
Hire Gurgen

Gurgen Hovhannisyan

Verified Expert  in Engineering

Bio

Gurgen is a senior software engineer currently specializing in development and scripting. He thrives in small teams as a team leader or alone as a developer. He has over five years of experience as a team lead and values and provides high-quality code and attention to detail. Gurgen is very motivated and has experience in various areas, including high- and low-level programming.

Portfolio

Bloomberg LP
Visual Studio Code (VS Code), Packaging, Processing & Threading, Python 3, C++...
Trust & Safety Laboratory Inc.
Python, Amazon Web Services (AWS), AWS Lambda, Bazel, Selenium...
Imagination Technologies
Git, Perforce, ModelSim, Riviera-PRO, Compiler Design, Makefile, MySQL, VHDL...

Experience

  • Python - 13 years
  • Regular Expressions - 10 years
  • Unix Shell Scripting - 10 years
  • OOP Designs - 10 years
  • Object-oriented Programming (OOP) - 10 years
  • Databases - 10 years
  • Perforce - 5 years
  • REST APIs - 4 years

Availability

Full-time

Preferred Environment

Vim Text Editor, CVS, Subversion (SVN), Git, PyDev, PyCharm, Eclipse, Visual Studio Code (VS Code)

The most amazing...

...thing I've coded is a linear solver for matrix LU decomposition and linear sparse equation system, with parametric block scaling algorithms for RGB and YUV.

Work Experience

Senior Softare Engineer

2021 - PRESENT
Bloomberg LP
  • Handled continuous integration and continuous deployment to automate deployment and quality control (including functional and capacity testing).
  • Created dashboards, monitoring rules, and alerting rules to track the health of the live system.
  • Improved the logging system and refactored it a step forward to the next generation.
  • Updated the network services to have more and better request/response capability in the system.
  • Analyzed performance metric placement and interpretation and capacity planning.
  • Worked on Jinja templates to improve the templates for the end user by having shared templates supporting multiple input modes. Published and deployed as a new package for the end users to use the new feature and syntax.
Technologies: Visual Studio Code (VS Code), Packaging, Processing & Threading, Python 3, C++, Continuous Deployment, Continuous Delivery (CD), REST APIs, MongoDB, SQL, Site Reliability Engineering (SRE), Servers, Cluster, Jinja, Templates, XML, CSV, Cron, Web Development, Back-end, Back-end Development, Apache Kafka, Scraping, Docker, FastAPI, Kubernetes, HTML, Stock Trading, TradingView, Data Extraction, Dashboards, Options Trading, Trading Systems, High-frequency Trading (HFT), Data Visualization, Databases, SDKs, Back-end Architecture, Data Analysis, Trading, Finance, Data Engineering, Lambda Functions, Scrum Master, Microsoft Excel, Algorithmic Trading, Code Review, Debugging, API Development, Mathematics, Statistics, NoSQL, Flask, Python Script, Technical Documentation, C, Linux, Python API, Markdown, CI/CD Pipelines, REST, Financial Data, Time Series Data, Asyncio

Senior Python Developer

2021 - 2023
Trust & Safety Laboratory Inc.
  • Developed the workflow of adding data, fields, and connections between Neptune DB entities. Wrote completed queries with the best performance to achieve customer requests on showing and dumping data in a user-friendly Google Data Studio dashboard.
  • Created the workflow to dump AWS S3 CSV from input JSON to sync with AWS glue jobs, converting to a parquet table and dumping as a Quicksight dashboard from datasets based on customer-required charts and metrics rules, alerts, and analysis.
  • Worked on the data scraping part and improved the parsing and performance of the existing workflow by using cache for the objects already parsed. Also improved the retention policy for common data DB, AWS S3, and datasets to have older files deleted.
  • Architected the workflow to successfully recover huge months of data from parquet files and re-generate the historical lost data to use in customer-required dashboards by achieving this in a timely manner.
  • Developed the layers of AWS glue jobs to parse various input sources and successfully merged them by using SQL queries inside AWS glue job. It improved the quality of the workflow so that it could be properly parsed and shown in Quicksight datasets.
  • Developed the workflow of generating huge test results (fake results), which gave us a clear view of workflow metrics later to improve the procedures we plan to do for the workflow.
  • Developed an automated generated workflow that was run regularly (cron) so we can have similar results as in live case scenarios. This helped us a lot to track the tools and workflow metrics and improve them in the next business plan.
  • Enabled the workflow to run through all resources we have (DB, AWS S3, etc.) to filter all the results we need based on inputs and successfully delete the obsolete ones. Performance was improved to work for the huge data.
  • Improved the access of the Neptune DB, which overloaded it by having better performance in the data generation workflow by using cache and inputs necessary to access in required cases only.
  • Achieved the best performance by inserting new data in the existing workflow, having huge months of data by not breaking existing generation, and merging the new and old data with new required fields, columns, and schemas.
Technologies: Python, Amazon Web Services (AWS), AWS Lambda, Bazel, Selenium, Amazon QuickSight, AWS Glue, Amazon Athena, Graph Databases, Web Scraping, Image Recognition, Machine Learning, Amazon S3 (AWS S3), Automation, Google Cloud API, REST APIs, Jupyter Notebook, Amazon Neptune, Parquet, Django, Google Cloud Platform (GCP), API Integration, Cron, Amazon EC2, Amazon Elastic Container Registry (ECR), Web Development, Back-end, Back-end Development, Apache Kafka, Scraping, Docker, FastAPI, GraphQL, HTML, CSS, Data Extraction, Refinitive API, SQL, Dashboards, Databases, Google Drive, Back-end Architecture, Data Analysis, Lambda Functions, Scrum Master, Microsoft Excel, Code Review, Debugging, API Development, Mathematics, Statistics, NoSQL, Python Script, Terraform, Website Data Scraping, Linux, Python API, Data Processing, Markdown, CI/CD Pipelines, REST, Asyncio

Senior Software Engineer 2

2017 - 2021
Imagination Technologies
  • Managed a six-person team. Mentored staff in best practices to increase productivity and efficiency. Delivered projects on time and within forecasted budgets.
  • Achieved better performance in the team by adding to the software engineering industry with professional procedures such as Agile and Scrum methods and test-driven development with regular review cycles.
  • Changed the quality, readability, and usefulness of the development flow to the next generation.
  • Completed a Python-based project to make the generation of IP libraries within the flow unique. The project included a high-level understanding of OOP techniques, regular expressions, parsing methodologies, and performance analysis.
  • Created software testing procedures to have automatic testing of the software development process in the Jenkins automation server. Configured infrastructure and integrated tools needed to automate build, validation, and unit testing of code.
  • Completed a Python-based project using a REST API to work with Confluence pages and their content. Parsed Confluence pages (XML data) and CSV files and handled user requests with Python (NumPy and Pandas).
  • Fulfilled a Python-based project to parse C/C++ header files and compare the development and release codes to be sure headers are not broken during development. Wrote a simple C/C++ compiler using Python advanced-level regular expressions.
  • Involved in all facets of the employee lifecycle, from recruitment and onboarding to training, learning and development, coaching, performance management, and offboarding.
  • Provided strong user services by using internal communication tools to make sure customers were satisfied with their daily needs and requirements by dealing with random tools, techniques, and programming languages.
  • Added new features (compiler) to do pre-processing of Verilog written code. The project overall saved enormous user time in their daily development, testing, and auto-code generation.
Technologies: Git, Perforce, ModelSim, Riviera-PRO, Compiler Design, Makefile, MySQL, VHDL, Verilog, CSH, Tcl, C, Perl, Pandas, NumPy, Confluence, Unit Testing, Pytest, Python, Amazon Web Services (AWS), PostgreSQL, Amazon Elastic Container Service (ECS), Containerization, Multitenancy, JavaScript, Cron, HTML, Dashboards, Databases, SDKs, Back-end Architecture, Data Analysis, Data Engineering, Microsoft Excel, Code Review, Debugging, API Development, Mathematics, Statistics, NoSQL, Technical Writing, Python Script, Technical Documentation, Linux, Python API, Writing & Editing, Markdown, Documentation, CI/CD Pipelines, REST, Matplotlib, Asyncio

Engineer for Proof of Concept Delivery

2019 - 2019
InnerSpace Technology, Inc. (via Toptal)
  • Created Python classes and scripts to fetch the client's locations (RSSI data) using a Python request framework, parse the received data, and then send it to a pulsar topic for a long term storage.
  • Created Python classes and scripts to merge the different locations using JSON RSSI data into one common dataset with various filters and then pushed the new datasets Pulsar topic. Used generic arg and config parsers to play with different features.
  • Fetched all the data for the locations tree and device client data.
  • Created a Python script to fetch the location tree and device client data by using Mojo REST APIs and dump them into a JSON file.
  • Used Notion to fully document the user guide, dev specs, and other technical and statistical details for the whole project.
Technologies: Arista, APIs, WiFi, Apache, Python, CSV, Data Scraping, Web Scraping, Automation, Cron, HTML, Databases, Mojo.js, Data Analysis, Desktop App Development, Code Review, Debugging, Mathematics, Statistics, Python Script, Technical Documentation, Linux, Python API, CI/CD Pipelines, REST, Matplotlib, Asyncio

API Automation Developer

2018 - 2018
TekPerfect (via Toptal)
  • Created a Python script using a REST API to work with Confluence pages. Searched for specific patterns and changed user groups' restrictions per page.
  • Documented the usage of the flow, script, and page restrictions.
  • Improved the parsing of the huge pages by speeding up the parsing workflow to save users time on the requested data.
Technologies: Confluence, Python, CSV, Technical Leadership, Cron, HTML, Dashboards, Databases, Desktop App Development, Mathematics, Python Script, Linux, Python API, CI/CD Pipelines, REST, Matplotlib, Asyncio

Senior Embedded Software Engineer

2013 - 2017
Energize Global Services
  • Created Python/Bash scripts to test the POS terminal by handling screens, validating terminal messages, and checking output data. Added existing functionality in regression and daily processing using Python.
  • Tested POS terminals using a general test framework.
  • Supervised a team of six. Mentored and guided employees, ensuring all were trained in project knowledge and capable of performing assigned tasks.
  • Checked that all tasks given to staff were done on time and to the required standard.
  • Trained terminal and server configuration to allow run tests in the general test framework.
  • Created Python scripts to test the police mode of POS terminals. Integrated testing with the daily test environment.
Technologies: Magnetic Stripe Card, Contactless Payment, Chip-and-PIN, POS, Bash, Unit Testing, Python, EMV, Technical Leadership, Cron, HTML, Dashboards, Databases, SDKs, Back-end Architecture, Embedded C++, Mathematics, Python Script, Embedded Linux, Linux, Python API, Embedded Systems, Point-of-Sale (POS) Systems, CI/CD Pipelines, Embedded C, REST, PDF, Asyncio

Embedded Software Engineer

2013 - 2013
Energize Global Services
  • Worked in the clients’ offices in Belgium for knowledge exchange purposes and had training in the clients’ offshore development center.
  • Created around 500 unit tests for all existing functions in GTF and covered 80% of functionality.
  • Created an online attempted transaction flow by using C on payment terminals based on embedded Linux running on ARM processors.
  • Created automation scripts by using Python/Bash to test POS terminals.
  • Analyzed and re-wrote inefficient GTF functions, which improved the writing of the test cases, investigated the coverage of the test framework, and improved the readability of the huge framework.
  • Implemented multi-user mode for POS terminals using C and created Python scripts to test new functionality.
Technologies: Magnetic Stripe Card, Contactless Payment, Chip-and-PIN, POS, C, Bash, Python, EMV, Technical Leadership, Cron, HTML, SDKs, Back-end Architecture, Embedded C++, Mathematics, Python Script, Embedded Linux, Linux, Python API, Embedded Systems, Point-of-Sale (POS) Systems, CI/CD Pipelines, Embedded C, Asyncio

Senior Test Automation Engineer

2012 - 2013
Instigate CJSC
  • Tested a proprietary FPGA compiler by simulating failures with Aldec, NCSim, and ModelSim.
  • Created testing scripts using Python (confluence API, Network API, and MySQL) to automate testing of the FPGA compiler.
  • Created a script to parse, collect, and fill daily test results in a Confluence page (mainly Python).
  • Trained in the client's USA offices on design flow analysis and manufacturing testing.
  • Supervised a team of four members by monitoring the performance of junior staff and by maintaining a clean, safe, and friendly working environment.
Technologies: Riviera-PRO, FPGA, MySQL, Verilog, Java, CSH, Tcl, Perl, Python, ModelSim, Technical Leadership, Cron, HTML, SDKs, Back-end Architecture, Mathematics, Python Script, Technical Documentation, Linux, Python API, Linear Optimization, Image Processing, Asyncio

Hardware Design Engineer

2011 - 2012
Instigate CJSC
  • Developed an AES algorithm by using Verilog and handled verification of static timing analysis reports in FPGA through design flow (synthesis, place, and route).
  • Made a general test framework to ensure output data integrity with regression/daily testing.
  • Tested the client's tool by simulating RTL designs and technology mapped net-lists.
  • Created scripts to test the client's tool by doing CCW and F-system in FPGA through a design flow.
  • Created scripts to compile and test the output data.
Technologies: Riviera-PRO, FPGA, Tcl, Perl, Verilog, Technical Leadership, Cron, HTML, Back-end Architecture, Mathematics, Python Script, Linux, Python API, Linear Optimization, Image Processing, Asyncio

Software Engineer

2010 - 2011
Instigate CJSC
  • Developed Bing Maps and GPS functionality for a WeTab application.
  • Developed a regular expression matching application using CUDA and parallel programming and got 10x speedup compared with a single execution of code.
  • Developed an algorithm for solving linear matrix LU decomposition using C++/Octave and supplemented new functionality in the client's application.
  • Developed an image (RGB and YUV) scaling application using C++.
  • Trained in digital signal processing in a 5-month course, learning all the details of the skills required to fulfill the coming business plan and project requirements.
Technologies: NVIDIA CUDA, OpenCL, Octave, C++, Cron, HTML, Mathematics, Python Script, Linux, Python API, Linear Optimization, Image Processing, Asyncio

Bing Map into WeTab

Developed Bing Map and GPS functionality for the WeTab application.

Messenger

Created a simple messenger by using a socket/thread mechanism to allow clients to communicate via them on the server side. Qt GUI and C++ classes are used.

Calculator

Created a simple calculator to evaluate expressions and to solve single-variable linear equations using a Shunting-yard algorithm.

Thesis (Number of Hamilton Cycles in Square Grids)

Found the number of Hamilton cycles in square grids (MxN) and implemented algorithms to generate the number of cycles using C++/CUDA. Created an Octave/Matlab script to demonstrate graphics based on the number of cycles and the dimensions of the grid. Outcomes can be applied to count the number of DNA based on their structure.
2007 - 2009

Master's Degree in Computer Science and Applied Mathematics

Yerevan State University - Armenia

2003 - 2007

Bachelor's Degree in Computer Science and Applied Mathematics

Yerevan State University - Armenia

Libraries/APIs

NumPy, Pandas, API Development, Python API, Asyncio, REST APIs, Sockets, Python-pptx, Matplotlib, Jira REST API, CPython, XML ElementTree, Google Cloud API, Refinitive API

Tools

Vim Text Editor, Shell, Amazon Elastic Container Service (ECS), Cron, Microsoft Excel, Atlassian, Pytest, Jira, Rally, Perforce, Eclipse IDE, PyDev, CVS, PyCharm, Git, Confluence, GitHub, Notion, Amazon Elastic Container Registry (ECR), ModelSim, Redmine, Jenkins, Makefile, Subversion (SVN), Apache, Bazel, Amazon QuickSight, AWS Glue, Amazon Athena, Cluster, Terraform

Languages

Regex, C++, SQL, Python 3, C, Bash Script, Python, GraphQL, HTML, Embedded C++, Python Script, Markdown, Embedded C, Java, Bash, VHDL, CSH, Tcl, Perl, Verilog, Octave, XML, JavaScript, CSS

Frameworks

Flask, Django, OpenCL, Qt, Selenium, Jinja

Paradigms

Testing, Test-driven Development (TDD), Behavior-driven Development (BDD), Acceptance Testing, Functional Testing, Automated Testing, Unit Testing, Object-oriented Programming (OOP), Automation, Back-end Architecture, Desktop App Development, REST, Compiler Design, Linear Programming, Pair Programming, Scrum, Design Patterns, Agile Software Development, HTML DOM, Continuous Deployment, Continuous Delivery (CD)

Platforms

Ubuntu Linux, Amazon Web Services (AWS), AWS Lambda, Apache Kafka, Docker, Embedded Linux, Linux, Parse, Windows, Eclipse, NVIDIA CUDA, Riviera-PRO, MojoPortal, Jupyter Notebook, Visual Studio Code (VS Code), Google Cloud Platform (GCP), Amazon EC2, Kubernetes

Storage

Databases, PostgreSQL, Graph Databases, NoSQL, XML Parsing, JSON, MySQL, MongoDB, Elasticsearch, Amazon S3 (AWS S3)

Industry Expertise

Trading Systems, High-frequency Trading (HFT)

Other

Integration Tools, POS, Regular Expressions, APIs, Algorithms, Computer Science, Unix Shell Scripting, Applied Mathematics, CSV File Processing, OOP Designs, CSV, Data Scraping, Web Scraping, Containerization, Multitenancy, Amazon Neptune, Back-end, Back-end Development, Scraping, FastAPI, Stock Trading, TradingView, Data Extraction, Data Engineering, Dashboards, Options Trading, Data Visualization, Google Drive, SDKs, Data Analysis, Trading, Finance, Lambda Functions, Scrum Master, Algorithmic Trading, Code Review, Debugging, Mathematics, Statistics, Technical Writing, Website Data Scraping, Data Processing, Embedded Systems, Point-of-Sale (POS) Systems, CI/CD Pipelines, Linear Optimization, Image Processing, PDF, Financial Data, Time Series Data, Remote Work, Outlook, Linear Algebra, Matrix Algebra, Multithreading, Data Structures, Agile Software Testing, Parsers, Document Parsing, Source Code Parsing, HTML Parsing (Cheerio), Text Processing, Binary Search Trees, Mojo REST APIs, Arista Wireless API, Apache Pulsar, Tree Structures, Technical Leadership, Web Development, Technical Documentation, EMV, Chip-and-PIN, Contactless Payment, Magnetic Stripe Card, Arista, Robot Operating System (ROS), FPGA, WiFi, Access Points, Finance APIs, Image Recognition, Machine Learning, Parquet, Packaging, Processing & Threading, Site Reliability Engineering (SRE), Servers, Templates, Software Engineering, Software QA, API Integration, Mojo.js, Writing & Editing, Documentation

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring