Scroll To View More
Gurgen Hovhannisyan, Python Developer in London, United Kingdom
Gurgen Hovhannisyan

Python Developer in London, United Kingdom

Member since March 4, 2016
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 4+ years of experience as a team lead. He values---and provides---high-quality code and attention to detail. He is a very motivated person and has experience in various areas, including both high and low-level programming.
Gurgen is now available for hire

Portfolio

Experience

  • Regular Expressions, 10 years
  • Object-oriented Programming (OOP), 10 years
  • Unix Shell Scripting, 10 years
  • OOP Designs, 10 years
  • Automated Testing, 8 years
  • Python, 8 years
  • Perforce, 4 years
  • REST APIs, 2 years
London, United Kingdom

Availability

Part-time

Preferred Environment

Eclipse, PyCharm, PyDev, Git, P4, SVN, CVS, Vim

The most amazing...

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

Employment

  • Senior Software Design Engineer

    2017 - PRESENT
    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 a team by adding to the software engineering industry with professional procedures such as Agile/Scrum methods and test-driven development.
    • Changed the quality, readability, and usefulness of development flow to the next generation.
    • Developed Python scripts to make the generation of IP libraries within the flow unique.
    • Created software testing procedures to have automatic testing of the software development process in Jenkins automation server.
    • Created Python scripts using a REST API to work with Confluence pages and with their contents. Parsed Confluence pages (XML data) and CSV files, and handled user requests with Python NumPy/Pandas.
    • Created Python Scripts to parse C/C++ header files and compare the development and release codes to be sure headers are not broken during development. These are mostly register definitions. Wrote a simple C/C++ compiler using Python and parsed files with advanced-level regular expressions.
    Technologies: Python, Pytest, UnitTest, Confluence, NumPy, Pandas, Perl, C, TCL, Csh, Verilog, MySQL, Makefiles, Design Compiler, Aldec Riviera, NCSim, ModelSim
  • Engineer for Proof of Concept Delivery

    2019 - 2019
    InnerSpace Technology, Inc. (via Toptal)
    • Created Python classes/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/scripts to merge the different locations using JSON data (rssi data) into one common dataset with time range specified by the user and then pushed the new datasets to another 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: Python, Apache Pulsar, Mojo Wifi APIs, Arista AP
  • 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 usage of the flow, script, and page restrictions.
    Technologies: Python, Confluence API
  • 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/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: POS Terminal, EMV, Chip and Pin, Contactless Payment, Magnetic Stripe Card, Python, Unittest, Bash
  • 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 ~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.
    • Implemented multi-user mode for POS terminals using C and created Python scripts to test new functionality.
    Technologies: POS Terminal, EMV, Chip and Pin, Contactless Payment, Magnetic Stripe Card, Python, Bash, C
  • 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, 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: Proprietary FPGA Compiler, Aldec Riviera, NCSim, ModelSim, Python, Perl, TCL, Csh, Java, Verilog, MySQL
  • 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).
    • Created 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 design flow.
    • Created scripts to compile and test the output data.
    Technologies: Proprietary FPGA Compiler, Aldec Riviera, Verilog, Perl, TCL
  • 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 comparing with 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.
    Technologies: Proprietary ESL Tool, C++, Octave, Nvidia CUDA, OpenCL

Experience

  • Bing Map into WeTab (Development)

    Developed Bing Map and GPS functionality for the WeTab application.

  • Messenger (Development)

    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 (Development)

    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) (Other amazing things)

    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.

Skills

  • Languages

    Regex, Bash Script, Python, Python 3, C++, CSH, SQL, Tcl, Perl, Verilog, Octave, C, XML
  • Libraries/APIs

    NumPy, Pandas, REST APIs, Sockets, Python-pptx, Jira REST API, CPython, XML ElementTree
  • Tools

    Vim Text Editor, Shell, Atlassian, Confluence, Pytest, Jira, Rally, Eclipse IDE, PyDev, CVS, PyCharm, Git, Atlassian Confluence, GitHub, Redmine, Jenkins, Makefile, Perforce, Subversion (SVN), Apache
  • Paradigms

    Testing, Functional Testing, Automated Testing, Unit Testing, Object-oriented Programming (OOP), Test-driven Development (TDD), Behavior-driven Development (BDD), Acceptance Testing, Linear Programming, Pair Programming, Scrum, Design Patterns, Agile Software Development, HTML DOM
  • Platforms

    Ubuntu Linux, Windows, MojoPortal
  • Other

    Regular Expressions, Algorithms, Computer Science, Unix Shell Scripting, Applied Mathematics, CSV File Processing, OOP Designs, APIs, 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, Notion, ROS, FPGA, WiFi, Access Points, Subscription Processing
  • Storage

    XML Parsing, MySQL, MongoDB
  • Frameworks

    Qt

Education

  • Master's degree in Computer Science and Applied Mathematics
    2007 - 2009
    Yerevan State University - Armenia
  • Bachelor's degree in Computer Science and Applied Mathematics
    2003 - 2007
    Yerevan State University - Armenia
I really like this profile
Share it with others