Curriculum vitae

Scala/Java software engineer
E-mail, Github, LinkedIn

pdf version

Summary

Software engineer with 4+ years of professional experience. Most recent experience includes Java (5+ years) and Scala (2+ years) development. Previous experience includes 2+ years of C++ development and 1+ year of project management. Notable accomplishments:

  • Designed and developed complex services for various Java projects. Always delivered fully documented clean and clear code.
  • Successfully managed a small team on a Java project.
  • Created three novel algorithms in the fields of computer vision and image processing.
  • Wrote several publications in the field of computer vision.

Specialties: Java, Scala, C++ development.

Experience

   
Self-employed Worldwide
Senior software engineer February 2015 — PRESENT

Currently working remotely on a Java trading platform in a small firm. Other notable projects:

  • Writing software developments articles on a personal website: foat.me. It mostly includes Scala articles.
  • Wrote a book in the fields of computer vision and web development: [1].
  • Designed and implemented robust and fast algorithm for multiply chalkboard detection. It works in real-time and processes more than 40 HD images per second on a regular computer. The pixel precision is higher than 90%.
  • Created a Java throttling framework from scratch using Spring MVC and AspectJ.

Related skills: Scala, Java, DevOps, Unit testing, Mocking, Aspects, TDD, BDD, JavaScript, C++, Spring Framework, Play framework, OpenCV, Build automation tools, Git, Computer vision, Image processing.

   
Center for Machine Perception Prague, Czech Republic
Computer vision researcher November 2014 — January 2015

Worked as a researcher and developer on a project in the field of Image rectification using vanishing lines and local affine frames. Notable achievements:

  • Designed and developed a line-annotation tool on Matlab.
  • Created a test system for vanishing points and lines detection algorithms using C++ and Matlab.
  • Improved existing vanishing points detection algorithm.

Related skills: C++, Matlab, Unix, Git, Computer vision, Image processing.

   
RoadAR Kazan, Russia
Computer vision developer July 2013 — September 2014

Worked on a RoadAR project. The application warns drivers about traffic-signs and other necessary information. Notable achievements:

  • Created a novel algorithm for traffic-sign detection and recognition, which works in real-time on mobile phones. The algorithm showed a superior performance compared to many state-of-the-art approaches. The algorithm is implemented on C++.
  • Designed a test system using Java for the traffic-sign detection algorithm.

Related skills: C++, Java, OpenCV, Unit testing, PostgreSQL, Swing, Maven, Android NDK, Boost library, CMake, Git, Computer vision, Image processing, Machine learning.

   
Digital Zone Kazan, Russia
Senior software developer April 2013 — July 2013
  • Managed a small team on a mobile version of m.ulmart.ru website.
  • Conducted technical interviews.

Related skills: Java, MySQL, Spring MVC, Apache Solr, JavaScript, Application servers, Freemarker, Git, Maven.

   
Digital Zone Kazan, Russia
Software developer September 2011 — April 2013

Developed complex services for several high-loaded websites. Mostly worked on ulmart.ru project. Notable achievements related to this website:

  • Built a search platform based on Apache Solr.
  • Created an asynchronous catalog of goods using JavaScript and Spring MVC.
  • Designed and implemented a new database. This helped to remove several bottlenecks and improve the website performance.

Related skills: Java, GWT, DevOps, Spring MVC, MySQL, EJB, Apache Solr, JavaScript, Application servers, Freemarker, Version control, Build automation tools.

Education

   
Kazan Federal University Kazan, Russia
MSc in Computer Science 2012 — 2014
advisor: Evgeny Stolov  

Fields of interest: computer vision and image processing. Master thesis:

  • 3D scene reconstruction from a single view. Resulted in a paper called Surface Prediction for a Single Image of Urban Scenes. It was presented in Singapore in 2014 on the SUAS 2014 workshop. The article itself was published in 2015: [2].

Related skills: Matlab, C++, TeX, Computer vision, Image processing.

   
Kazan Federal University Kazan, Russia
BSc in Computer Science 2008 — 2012
advisors: Evgeny Stolov; Aleksandr Shlyannikov  

Fields of interest: computer vision and image processing, machine learning, web development. Projects:

  • Handwritten digit recognition using Java.
  • E-library using GWT.

Related skills: Java, JEE, GWT, Computer vision, Image processing, Machine learning.

It & programming skills

Main languages Java, Scala, C++
Data analysis Matlab
Scripting languages Shell script, JavaScript
Markup languages XML, JSON, HTML, CSS
Query languages SQL
Application and web servers JBoss, Tomcat, Jetty
Revision control Git, Subversion
Build tools Maven, Gradle, CMake, SBT
Systems on administration level OS X, Linux
Other Spring Framework, Play framework, OpenCV, Swing, Android NDK, MySQL, PostgreSQL, TDD, BDD
Digital typesetting TeX, LaTeX

Languages

Russian native speaker
English professional proficiency

Publications

[1] F. Akhmadeev, Computer Vision for the Web. Packt Publishing, 2015. [link]

[2] F. Akhmadeev, “Surface prediction for a single image of urban scenes.” [link], [poster]
Workshop on Scene Understanding for Autonomous Systems (ACCV Workshops), ACCV 2014.