Michael Hoichman, Developer in Berlin, Germany
Michael is available for hire
Hire Michael

Michael Hoichman

Verified Expert  in Engineering

Software Developer

Location
Berlin, Germany
Toptal Member Since
November 19, 2020

Michael is a senior software and algorithms developer with more than 20 years of experience. He specializes in the design and development of projects from scratch, algorithms, run-time optimizations, data structures, parallel computation, and general problem-solving. He has worked in both startups and scientific research labs.

Portfolio

Varonis
C++, C#, HTTP, Windows, Visual Studio, Amazon Web Services (AWS), Moq...
Toptal
C++, Test-driven Development (TDD), Visual Studio, Git
Weizmann Institute of Science
Mathematics, C, Bioinformatics, Optimization, C++11, Data Structures...

Experience

Availability

Part-time

Preferred Environment

Visual Studio Code (VS Code), Linux, Windows

The most amazing...

...project I've worked on was an R (C++) package, tgstat. It enjoys hundreds of monthly downloads on CRAN and is widely used by scientists around the world.

Work Experience

C++ Developer

2021 - PRESENT
Varonis
  • Developed a pilot project in C++ for security tracking systems monitoring file activity.
  • Implemented a transporter service in C# to transmit the scanned results to the S3 Amazon bucket using HTTP (Amazon API Services).
  • Contributed to the development of the unit testing using Microsoft unit testing and Moq.
Technologies: C++, C#, HTTP, Windows, Visual Studio, Amazon Web Services (AWS), Moq, Microsoft Unit Tests

C++ Developer

2021 - PRESENT
Toptal
  • Contributed to a 4 -month project for Alteryx as a C++ developer working with two teams located in the USA and Ukraine. Developed new features for the core engine in multithreaded architecture.
  • Tracked and fixed bugs using Jira with guarded check-in and testing (GitLab CI/CD).
  • Developed and updated unit tests (test-driven development).
Technologies: C++, Test-driven Development (TDD), Visual Studio, Git

Software and Algorithm Developer

2009 - 2021
Weizmann Institute of Science
  • Built a high-performance R package—misha—with 30,000+ lines of C++ code under the hood for analysis of DNA sequences. The package uses custom data structures, advanced algorithms, and parallel computation to facilitate top performance.
  • Designed and developed an R package—tgstat—to replace various standard R functions with equivalents boosting run time >100x (correlation, distance, ...). The performance is facilitated by the use of C++, BLAS, and multitasking.
  • Built a high-performance module for Python for analysis of medical records data from the biggest Israeli health insurance company, Klalit. The package uses C++ under the hood.
  • Developed a front-end application in React that facilitates analysis and prediction based on the medical records coming from the biggest Israeli health insurance company, Klalit.
Technologies: Mathematics, C, Bioinformatics, Optimization, C++11, Data Structures, Algorithms, Linux, React, JavaScript 6, Python, BLAS, Multithreading, R

Senior Software and Algorithm Developer

2005 - 2008
Ethos Networks
  • Designed and implemented the first generation of Smart Ethernet Switch by Ethos.
  • Created and implemented fast centralized and distributed dynamic traffic engineering algorithms to achieve maximal network utilization and flow fairness in Metro.
  • Hired and mentored the first generation of software engineers in the company.
  • Filed US Patent (US7969886) for "Bandwidth allocation for hierarchical telecommunications networks" algorithm.
Technologies: Algorithms, Networking, Linux, C++

Software and Algorithm Developer

2004 - 2005
Silicon Design Systems
  • Designed and implemented a global router engine for a floor plan of microprocessors.
  • Designed and implemented algorithmic infrastructures: congestion avoidance, geographical 2D trees, maze routing, and timing optimizations.
  • Optimized the run-time of the critical parts of the existing codebase.
Technologies: Optimization, Algorithms, Solaris, Linux, C++

Software and Algorithm Developer | Team Leader

1998 - 2004
Banter (later: IBM)
  • Designed and implemented the statistical adaptive text classification engine—the company's core technology. Based on the engine's performance, the startup was acquired by IBM.
  • Managed an application team developing MFC applications and low infrastructure.
  • Developed a multi-platform multi-threaded client-server event logger.
  • Developed multi-platform low-level infrastructures (threads, synchronization objects, sockets, etc.).
Technologies: Microsoft Visual C++, Optimization, Algorithms, Multithreading, TCP/IP, Microsoft Foundation Classes (MFC), Microsoft Foundation Class (MFC) Library, Linux, Windows, C++

Software Developer

1994 - 1998
Hadassah Medical School
  • Designed and developed from scratch an application "Maestro" for controlling auditory experiments.
  • Designed and developed an application for controlling visual medical experiments.
  • Received the Kaye innovation award for the development of "Maestro" in 1996.
Technologies: DSP, MS-DOS, C++

Tgstat - Fast and Efficient Implementation of Statistical Tools in R

https://github.com/tanaylab/tgstat
Tgstat reimplements some of the standard functions of R such as cor, dist, etc. with high-performance alternatives. The run-time boost on the large data sets often exceeds x100.

In addition, tgstat implements clustering algorithms for single-cell RNA.

Tgstat enjoys hundreds of monthly downloads on CRAN.

Misha - Genomic Data Analysis Suite for R

https://github.com/tanaylab/misha
The Misha package is intended to help users efficiently analyze genomic data. The data, which is maintained in a custom database, is screened and accessed from R without the need to load the whole genomic set into the memory. 1D and 2D data are supported (interactions between the chromosomes).

Misha is widely used in various research labs around the world: Cambridge, Stanford, Weizmann, NY Mountain Sinai, MDC Berlin, etc.

Languages

C++, R, C++11, C, JavaScript 6, Python, C#

Paradigms

Parallel Computing, Distributed Computing, Test-driven Development (TDD)

Platforms

Linux, Visual Studio Code (VS Code), Unix, Solaris, Windows, MS-DOS, Amazon Web Services (AWS)

Other

Algorithms, Data Structures, Multithreading, Optimization, Computer Graphics, Statistics, Mathematics, Networking, TCP/IP, DSP, Matrix Algebra, HTTP

Libraries/APIs

BLAS, React, Microsoft Foundation Class (MFC) Library, Moq, Microsoft Foundation Classes (MFC)

Industry Expertise

Bioinformatics

Tools

Microsoft Visual C++, Visual Studio, Git, Microsoft Unit Tests

1992 - 1996

Bachelor's Degree in Computer Science

Hebrew University - Jerusalem, Israel

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