Sergey Reznick, Developer in Saint Petersburg, Russia
Sergey is available for hire
Hire Sergey

Sergey Reznick

Verified Expert  in Engineering

Software Developer

Location
Saint Petersburg, Russia
Toptal Member Since
October 21, 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.

Portfolio

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

Experience

Availability

Part-time

Preferred Environment

Git, Mercurial, IDEA IDE, Eclipse, NetBeans, Unix, Windows

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).

Work Experience

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: Protobuf, Hadoop, MySQL, Cassandra, Akka, Scala, Java

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: Solaris, Python, Perl, Java ME, Java

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: Solaris, Perl, Java ME, Java

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: Document Parsing, GNU Toolchain, C, C++

CLDC TCK 1.1a

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

CDC TCK 1.1.2b

(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

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

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

CDC TCK 6

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

CLDC TCK 8.0a

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

CLDC TCK 8.0a

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

A Row of Web-scraping Projects

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

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.

Languages

Java, Scala, C++, Python, Perl, C, Groovy

Platforms

JSE, Windows, Unix, NetBeans, Eclipse, Java ME, Solaris

Tools

Java Concurrency, IDEA IDE, Mercurial, Git, GNU Toolchain

Paradigms

Functional Programming, Concurrent Programming

Other

Algorithms, Data Structures, Document Parsing

Frameworks

Hadoop, Akka

Libraries/APIs

spray, Protobuf, Natural Language Toolkit (NLTK), Java Security

Storage

MySQL, Cassandra, MongoDB, PostgreSQL

1991 - 1996

M.Sc. Degree in Computer Science

Saint Petersburg State University - Saint Petersburg

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