Farid Ahmadov, Developer in Baku, Azerbaijan
Farid is available for hire
Hire Farid

Farid Ahmadov

Verified Expert  in Engineering

Software Developer

Location
Baku, Azerbaijan
Toptal Member Since
October 15, 2014

Farid is an honest and dedicated person who loves to learn new things and overcome challenges. He has worked on many types of projects, including programs for machine learning and research, marketing, and business management. He has been described as a concise and capable communicator with a talent for algorithms.

Portfolio

Amazon Canada
Java, Amazon Web Services (AWS), TypeScript, Python
ADA University
Unix Shell Scripting, C, C++, Java
Cybernet
Redis, PostgreSQL, Node.js, React, Spring Boot, Java

Experience

Availability

Part-time

Preferred Environment

Visual Studio, Xcode, Android Studio, IntelliJ IDEA

The most amazing...

...thing I've created is an algorithm to recognize human hand gestures.

Work Experience

Software Development Engineer II

2021 - PRESENT
Amazon Canada
  • Optimized logging storage for the core payments service of Amazon, thus reducing costs spent for storage at least by half.
  • Designed and developed a tool for the automatic generation of an SDK library from a given set of service API specifications.
  • Designed a solution and implemented a proof of concept for an ML model hosting platform to enable CI/CD.
Technologies: Java, Amazon Web Services (AWS), TypeScript, Python

Computer Science Instructor

2015 - PRESENT
ADA University
  • Taught several courses in computer science, including Introduction to Algorithms and Data Structures, Software Design and Patterns, Programming Principles in Java, and Systems Programming.
  • Organized and developed plans for student projects, involving students in competitive programming activities.
Technologies: Unix Shell Scripting, C, C++, Java

Systems Architect | Senior Developer

2020 - 2021
Cybernet
  • Implemented the back end and administration panel of a COVID-19 tracking system using Node.js and React.
  • Documented issues in the system, suggested ways to eliminate them or mitigate their effects through the process of migration.
  • Designed architecture of a new tax management system.
Technologies: Redis, PostgreSQL, Node.js, React, Spring Boot, Java

Head of Mobile Development

2016 - 2020
TayqaTech
  • Developed a mobile sales platform, including online shopping cart, inventory system, and calendar task management using Android/Java.
  • Designed and implemented the structure and the architecture of the whole system.
  • Improved the overall performance of the system by devising better data conversion and storage.
  • Implemented POS printing over Bluetooth for multiple devices.
Technologies: EventBus, Firebase, Kotlin, Java, Android

Software Developer

2014 - 2015
Azerbaijan Caspian Shipping Company
  • Created a vehicle management system for the shipping company, which includes management of incoming/outgoing vehicles.
  • Created a central database for a shipping company.
  • Developed a vessel tracking system, using interactive JavaScript pages.
  • Developed systems using Phalcon PHP framework, smarty templates and PostgresSQL database on CentOS.
  • Created a ticket purchase system as well as general accounting and billing systems for the shipyard.
Technologies: MySQL, PHP

Software Developer

2012 - 2014
OS-cillation GmbH
  • Developed and Supported PHP- and MySQL-based marketing platforms and business content management systems for several companies.
  • Developed a client-server software application for embedded systems in OpenWRT using C++ and communicating in a wireless network.
  • Developed and supported a software application for security in industrial environments and developed computer vision algorithms for human safety when working around industrial machines and robots.
  • Developed a Java (Google Web Toolkit)-based system for car license plate number registration, ordering, and management.
  • Developed a front-end for a mobile application using a C++ and Qt environment cross-compiled for BeagleBone devices.
  • Created EasyFGPA SDK using Java annotation processing for pre-compile time code conversion from Java to VHDL.
Technologies: CSS, Eclipse, Java, MVS, Qt, C++, C, HTML, Bootstrap, jQuery, Silex, Symfony, PHP

Software Developer and Scientific Assistant

2007 - 2011
Center for Sensor Systems, University of Siegen
  • Created an application for image data analysis and 3D PMD camera calibration using C++.
  • Developed a hand gesture recognition system using C++ and OpenCV.
  • Developed an application for the visualization of 3D data using C++, Qt, and OpenGL.
  • Developed machine learning algorithms and methods for shape recognition using OpenCV.
  • Developed machine learning algorithms for human activity analysis using .NET and OpenCV.

Software Developer and Intern

2008 - 2009
ABB Research Center
  • Developed a custom XML parsing and validation software application using C#.
  • Developed an SDK for RFID IO controlling systems, and created .NET wrappers for the existing system.
  • Developed an application for Bluetooth communication between several mobile devices using C#.
  • Created a Windows Mobile camera application using VB.NET.
  • Created an application for indoor location measurement using RFID devices and Bluetooth.
Technologies: Microsoft Visual Studio, .NET

EasyFPGA SDK (os-cillation GmbH)

http://www.os-cillation.de/easyfpga/
The EasyFPGA SDK allows the instantiation of predefined components (EasyCores) from Java. The SDK generates VHDL of your FPGA definition class and passes it along to the synthesis tools. Once the easyFPGA board is configured, the included EasyCores can be accessed from any Java application by means of the USB interface. For instance, you can integrate 72 PWMs or 18 UARTs (limited by the number of GPIO pins) and use it in your application.

Real-time hand based robot control using 2D/3D images (ZESS, Uni-Siegen)

In the interaction between man and machine, an efficient, natural and intuitive commanding system plays a key role. Visual techniques are usually used to provide such a system. This paper presents a new solution using 2D/3D images for real time hand detection, tracking, and classification, which is used as an interface for sending the commands to an industrial robot. 2D/3D images, including low resolution range data and high resolution color information, are provided by a novel monocular hybrid vision system, called MultiCam, at video frame rates.

Virtual Mouse (Freelance)

Hand gesture-based mouse controlling software using a USB webcam. This program allows the user to control the cursor using hand movements and perform actions based on hand gestures.

EUSOP – End User Service Orchestration Platform

http://sourceforge.net/projects/eusop/
EUSOP presents an approach which allows end users to make adjustments to service-oriented software systems. To facilitate searching for Web services and gaining understanding, possibilities for additional description for Web Services in EUSOP are realized.

Hactor - Real Time Hand-Based Robot Control Using MultiCam

http://www.zess.uni-siegen.de/home/das-zess/forschung/hactor.html
In the interaction between man and machine, an efficient, natural and intuitive commanding system plays a key role. Visual techniques are usually used to provide such a system. In this project we present a new solution based on the fusion of 2D/3D images for real-time hand detection, tracking, and classification, which is used as an interface for sending the commands to an industrial six-axis robot. In this system, 2D/3D images, including low resolution range data and high resolution color information, are provided by a novel monocular hybrid vision system, called MultiCam, at video frame rate. After range filtering and applying some preprocessing techniques, the range data are segmented using an unsupervised clustering technique. The segmented range image is then mapped to the corresponding 2D color image. Due to the monocular setup of the vision system, mapping 3D segmented range data to 2D color information is simple and fast, and consequently makes the segmentation of 2D color image very fast. The standard haar-like features are then extracted from the segmented color image and used as the input features for AdaBoost technique, which is a supervised learning algorithm, to find the region of the hand in the image and track it in each frame. The hand region found by AdaBoost is improved using some post-processing techniques and finally the hand posture (palm and fist) is classified based on a very fast heuristic method. The proposed approach has shown good results even under challenging invariant lighting conditions which was demonstrated at the Hannover fair in 2008.

OMP (Online Marketing Platform) Framework

PHP (Symfony2), MySQL based OMP Framework. This Framework is a complex system connected with several Web-to-Print systems and allows ordering of custom advertising, which is then directly sent to print.

Participated in youth olympiad

http://www.ioinformatics.org/index.shtml
Participated in national and international Olympiads (programming contests such as the one in the link here) between 1999 and 2003. Through this event, I gained skill and experience in QBasic, Pascal, and C++.

Languages

C, PHP, C++, Java, SQL, C#, Python, HTML, JavaScript, CSS, TypeScript, Kotlin

Tools

Eclipse IDE, Android Studio, Xcode, Git, Visual Studio .NET, Microsoft Visual Studio, Visual Studio, NPM, GitLab, IntelliJ IDEA

Paradigms

REST, Object-oriented Design (OOD), RESTful Development, Agile Software Development

Platforms

MacOS, Android, Linux, Windows, NetBeans, Eclipse, Firebase, Amazon Web Services (AWS)

Storage

SQLite, MySQL, PostgreSQL, Redis, MVS

Other

Data Structures, Algorithms, Applied Mathematics, Android Architecture, Full-stack, Web Development, Unix Shell Scripting, EventBus, SDKs

Frameworks

Android SDK, PhalconPHP, Silex, Symfony, Qt, .NET, Spring Boot, Bootstrap, YARN, Material UI

Libraries/APIs

Android API, Android Architecture Components, REST APIs, jQuery, Node.js, WebGL, OpenGL, OpenCV, React

2005 - 2012

Master's Degree in Computer Science

University of Siegen - Siegen, Germany

2003 - 2005

Bachelor's Degree in Applied Mathematics

Baku State University - Baku, Azerbaijan

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