Scroll To View More
Sergey Reznick, C++ Developer in Saint Petersburg, Russia
Sergey Reznick

C++ Developer in Saint Petersburg, Russia

Member since August 24, 2015
Sergey is an experienced software developer with a background in computer science and basic algorithms and over 20 years of experience. Over the past decade, he has specialized in Java platforms, but he is also fluent in Python and has working knowledge of C/C++ and Scala.
Sergey is now available for hire

Portfolio

  • Yandex
    Java, Scala, Akka, Cassandra, MySQL, Hadoop, Protobuf
  • Oracle
    Java, Java ME, Perl, Python, Solaris
  • Sun Microsystems
    Java, Java ME, Perl, Solaris

Experience

  • C++, 20 years
  • Java, 12 years
  • Python, 5 years
  • Scala, 3 years
  • Akka, 2 years
  • MySQL, 2 years
  • Protobuf, 1 year
  • Cassandra, 1 year
Saint Petersburg, Russia

Availability

Part-time

Preferred Environment

Windows, Unix, NetBeans, Eclipse, IDEA, HG, Git

The most amazing...

...thing I've programmed is a chess allocation task where ordinary data structures were inapplicable and I had to use lazy constructions (Python generators).

Employment

  • Software Developer

    2015 - PRESENT
    Yandex
    • Developed web services dealing with data processing.
    • Analyzed heap dumps to figure out reasons of OOME.
    • Analyzed results of high-load testing of services and refactoring to avoid bottlenecks.
    Technologies: Java, Scala, Akka, Cassandra, MySQL, Hadoop, Protobuf
  • Senior Software Developer

    2010 - PRESENT
    Oracle
    • Produced and released a row of test suites to ensure compatibility of third-party Java platform implementations with Java specifications.
    • Implemented components supporting test tasks (e.g., HTTPS/SSL/datagram/multicast servers and clients).
    • Reviewed Java VM, Java language, and Java API specifications to make sure they are safe, consistent, and convenient.
    • Optimized the testing framework to make sure that it works in a low-footprint environment (ARM-based boards).
    • Enhanced project infrastructure. For example, I developed a configurable Python script carefully comparing two versions of a built project and, in reporting, found differences and filtered out non-essential ones.
    Technologies: Java, Java ME, Perl, Python, Solaris
  • Software Developer

    2004 - 2010
    Sun Microsystems
    • Produced and released a row of test suites to ensure compatibility of third-party Java platform implementations with Java specification.
    • Added support for IPv6 networking into test suites.
    • Profiled Sun's Java implementation to enhance coverage of security-related code by compatibility test suites.
    • Reviewed Java VM, Java language, and Java API specifications to make sure they are secure and convenient.
    • Enhanced the test suite to make sure that it covers situations described in Java security alerts.
    Technologies: Java, Java ME, Perl, Solaris
  • Software Developer

    1996 - 2004
    Lanit Tercom
    • Developed components for control of PSTN equipment.
    • Developed and maintained parsing modules for COBOL-like languages as part of a project aimed to convert legacy software into more up-to-date languages.
    • Developed and supported hardware drivers as Linux kernel dynamically loadable modules.
    • Developed low-level firmware to control embedded real-time devices.
    • Developed and maintained code-generation modules for Java as part of a project aimed to convert legacy software into more up-to-date languages.
    Technologies: C/C++, GNU toolchain, Parsing, i386

Experience

  • CLDC TCK 1.1a (Development)

    (2005) Compatibility test suite for Connected Limited Device Configuration (basis of Java Platform for mobile devices and cell phones).

  • CDC TCK 1.1.2b (Development)

    (2006) Compatibility test suite for Connected Device Configuration. It is a larger subset of Java SE compared with CLDC.

  • CDC TCK Refactoring to Support IPv6 Networking (Development)

    Test suite and all relevant tools were carefully revisited and enhanced to ensure they can work in any of IPv4 only, IPv6 only, or double stack environments.

  • Blu-ray CTS (Development)

    (2008-2010) Compatibility test suite to check correctness of Java implementations on Blu-ray players.

  • CDC TCK 6 (Development)

    (2010-2011) Alignment of CDC platform with Java SE 6: language/VM features and a lot of new APIs added.

  • CLDC TCK 8.0a (Development)

    (2012 - 2014) Alignment of CLDC platform with Java SE subset accompanied by enhancements for Java ME-specific connectivity API features.

  • CLDC TCK 8.0a (Development)

    (2014-2015) Optimized to run on very low-footprint embedded boards.

  • A Row of Web-scraping Projects (Development)

    A few similar projects: automatically walks through some sites (for example Craigslist) and gathers information about postings allocated there storing it for future use.

  • Complaints Web Service (Development)

    Internal web service accepting requests about users complaining on contents of published offers.

    It periodically recalculates the rating of offers taking into account data about arrived complaints and reputation of complainers.

    If the rating is over some threshold, a human-assisted review is initiated and the reputation of the complainers is re-calculated based on result of the human-assisted review.

  • Get Your Hands Dirty With Scala JVM Bytecode (Publication)
    The Scala language has continued to gain popularity over the last several years, thanks to its excellent combination of functional and object-oriented software development principles, and its implementation on top of the proven Java Virtual Machine (JVM). Creating a language that compiles to Java bytecode requires a deep understanding of the inner workings of the Java Virtual Machine. To appreciate what Scala's developers have accomplished, it is necessary to go under the hood, and explore how Scala's source code is interpreted by the compiler to produce efficient and effective JVM bytecode.

Skills

  • Languages

    Java, Scala, C++, Python, Groovy
  • Platforms

    JSE
  • Tools

    Java Concurrency
  • Paradigms

    Functional Programming, Concurrent Programming
  • Other

    Algorithms, Data Structures
  • Frameworks

    Akka
  • Libraries/APIs

    spray, Protobuf, NLTK, Java Security
  • Storage

    MySQL, Cassandra, MongoDB, PostgreSQL

Education

  • M.Sc. degree in Computer Science
    1991 - 1996
    Saint Petersburg State University - Saint Petersburg
I really like this profile
Share it with others