Passionate programmer committed to maintain cutting edge technical skills and up-to-date industry knowledge.
Developed 2D arcade-style game using Godot game engine in GDScript.
https://play.google.com/store/apps/details?id=com.kamrangames.runfromlaserv2
Participated in the migration project from vijava-based Scala library to govmomi-based Golang Grpc service. Implemented goroutine pool library which launches goroutines on-demand and shuts them down on idle timeout. Used goroutine pool for all vCenter communications, in order to limit number of active vCenter connections going via Grpc service. Implemented Grpc endpoint which enables on-demand log level update of Grpc service. Migrated user VM management operations (vm power on, power off, suspend) from Scala/Java/vijava codebase to Golang/govmomi codebase. Migrated Vcenter task management operations (start task, check task status, push task status update via vSphere property collector push mechanism and gRpc streaming to gRpc client) from Scala/Java/vijava codebase to Golang/govmomi codebase.
Technology used: Scala, Java, Golang, BitBucket, gRpc,VmWare SDK.
* Maintained and contributed to Financial Management System. Implemented business tasks in C++ and GoLang.
* Implemented multi-threaded vendor subscription with configurable number of threads in C++, on top of vendor's SDK. Performed data analysis between single-threaded vs multi-threaded subscription modes. Applied condition variable based approach to synchronize data flow in internal layers of application in multi-threaded runs.
* Added backwards-compatible feature to all components of the Management System, to enable multi-vendor processing. It spanned 6 services written in Golang and Python. Made backwards-compatible modifications to APIs between these services to support the feature.
* Delivered mission-critical business requirements on time.
* Implemented necessary code changes to integrate with new vendors.
* Implemented necessary code changes to adapt existing production services to QA environment, in order to be able to conduct broader system tests involving those services.
Technology used: Git, GoLang, Python, JavaScript, Html/CSS, C++, Docker, Mesos, Kubernetes, Postgres DB, SqLite DB, Bash scripts.
^
* Implemented notification system for TV service subsribers (using Verimatrix SOAP API) and Internet service subscribers (using Maradit HTTP API).
* Implemented compensation feature (UI and back-end) for manual extension of subscriber services.
* Implemented campaign management system (UI and back-end), intended for multiple vendors.
* Have written PL/SQL procedures for AAA, to synchronize account details between Billing system and Radius system.
* Implemented job system, which registers subscription activation/deactivation on future time (using EJB timer service).
* Implemented many number of small-scaled Business Requirements quickly and on time.
* Implemented notification system using native Java threads and Oracle DB. Individual notification details and their status persisted in the Oracle DB, with global thread continuously polling for unsent notifications and retrying failed submissions.
Technology used: Git, JAVA EE, JSF/PrimeFaces frameworks, EJB, EJB timer
service, JPA, JMS, Oracle DBMS, SQL, PL/SQL.
* Applied Service Oriented Architecture (SOA) principles. Tested, maintained and deployed Thrift standalone RPC service in Java, which has an API to get location information, given ip address of the request.
* Moved data retrieval code to intermediate service to reduce the load on the "bidders/ad servers - MySQL database traffic" and made the same data available to bidders/ad servers through http service on nginx.
* Have done service refactoring - separated tightly-coupled code (pattern matching based code with hardcoded logic) to data part and processing logic part, applied template method pattern to achieve this.
* Optimized "bidder/ad server - Mysql database" traffic. Implemented data center- specific ad campaigns loading and removed extensive number of threads from campaign loading process (replaced them with granular queries to get necessary data from database).
* Implemented connection draining feature on bidder, which connects to another service to get location information. Applied BlockingQueue and multithreading concepts.
* Regularly deployed production services to the machines in high-traffic data centers. Tested, maintained, and checked alerts regularly.
* Have written nagios alerts around critical parts of infrastructure.
* Implemented new function in RPC service's location api, to fetch proxy (data center, private, etc) information, given the ip address.
Technology used: Java SE 7/8, Git, Jenkins, Python, Awk scripts, Bash scripts, Hive, SQL.
* Tested contribution of machine learning variables (based on Bayesian classifier), to the linear regression models, experimented on search queries in Turkish, Russian and English languages.
* Implemented functionality on search engine components to remove duplicate web sites (based on host name, such as www.yandex.ru and www.yandex.com.tr) from search engine result page, retaining only the relevant page regarding to the source of the requesting client. Prepared new feature to A/B test (using CGI parameters).
* Implemented Python pipeline, which scans MR tables and aggregates duplicate websites (i.e, localized versions of the websites of global vendors, such as www.yandex.ru and www.yandex.com.tr) in the Internet. Implemented linear cost function to parameterize detection process. Implemented allowance of manual entries. Feeded search engine components with the resulting data, so they can detect duplicate versions of the website and remove them except the one which is the most relevant to the location of the requesting client in real-time.
* Implemented Prefetch layer in logging system, which allows merging MapReduce tables before the last step of aggregating all the logs for given day, for filtering and other purposes of the processing logic. Used this layer in reporting-related projects.
Technology used: Subversion, GNU C++, GNU debugger, Bash scripts, Awk scripts,
Python, MapReduce framework.
I like soccer, music, chess.
2011, 2012 - 1st place at National Informatics Olympiad of Azerbaijan, personal contest.
2011, 2012 - 1st place at National Informatics Olympiad of Azerbaijan, team contest.
2012, 2013 - Google Code Jam Round 2 Advancer.
CodeForces profile: http://codeforces.com/profile/kamranm