Artem Pulkin

[ɐrˈtsʲɡm]

πŸ“§ [email protected]

🌐 pulk.in

🏠 Amsterdam NL πŸ‡³πŸ‡±

Expertise

Software development, machine learning, data, scientific research

Education πŸŽ“

2012-2017 Docteur Γ¨s Sciences EPFL in physics Lausanne CH πŸ‡¨πŸ‡­ Specialized on: numerical electronic structure, quantum simulations. Thesis: Electronic Transport in 2D Materials with Strong Spin-orbit Coupling (03/2017); supervisor: Oleg Yazyev

2010-2012 Master of Science Chalmers in applied physics GΓΆteborg SE πŸ‡ΈπŸ‡ͺ Thesis: Spintromechanical Aspects of Charge Transport in Nanostructures (06/2012); supervisor: Robert Shekhter

2006-2010 B.Sc. in Physics cum laude V.N. Karazin’s State University Kharkiv UA πŸ‡ΊπŸ‡¦

Training

Coursera: Machine Learning from Stanford University

Experience πŸ”¬

Apr'23- Quantitative developer @ Quantile πŸ‡¬πŸ‡§ πŸ‡³πŸ‡± πŸ‡ΊπŸ‡Έ

As a part of a global team, building, implementing, and supporting financial risk models.

Apr'19-Apr'22 Researcher @ QuTech TU Delft πŸ‡³πŸ‡±

Designed and implemented machine learning for quantum research.

Jul'17-Mar'19 Postdoctoral researcher @ Caltech US πŸ‡ΊπŸ‡Έ

Performed research and development in numerical computer simulations of properties of novel materials.

Oct'12-Apr'17 PhD @ EPFL CH πŸ‡¨πŸ‡­

Jun'12-Aug'12 Visiting esearcher @ Seoul National University, KR πŸ‡°πŸ‡·

Aug'10-Jun'12 Researcher @ Chalmers, SE πŸ‡ΈπŸ‡ͺ

Example work

An in-house financial python/pandas tool contains two overlapping implementations of similar logic across multiple files. I refactored the code towards a single implementation that covers features of both.

Automated testing of an application lacks integration tests that are fast enough to run off-schedule in pytest. I implemented a python script that generates minimal datasets for quick integration testing.

A parallel application occasionally freezes and fails outside python stack. Failures cannot be reliably reproduced. I investigated and localized the cause of the failure down to the supply chain that needs to be updated.

More on github/pulkin

pyteleport pyteleport https://github.com/pulkin/pyteleport

My experiment in serializing cPython runtime through bytecode introspection.

rdiff https://github.com/pulkin/rdiff

A WIP to provide a meaningful and performant (Cython) diff tool for tabular data. Inspired by my past contribution to core python.

miniff miniff https://gitlab.kwant-project.org/qt/miniff

A machine learning project for natural sciences.

Awards πŸ†

postgraduate πŸ’° Personal Swiss NSF grant to study abroad 80k CHF, 18 months, postdoctoral level (Early Postdoc.Mobility) grant P2ELP2_175281

πŸ’° Personal computing time at national supercomputing facilities (SURF NL) Approximate equivalent of 26k EUR, 24 months project 45873

graduate πŸ₯‡ Olympiad in Physics for University Students (national in Ukraine) – first prize

πŸ… Youth Physicists Tournament (national in Ukraine, team) – multiple prizes

πŸ₯‡ Open Olympiad in Applied Physics (MIPT Moscow) – first prize

πŸ’° Kharkiv City Mayor and Kharkiv State Governor scholarships for gifted youth

high school πŸ₯‡ Dozens of prizes in physics and informatics (olympiads, student projects; top-10 and top-1 in national competitions)

πŸ’° Multiple scholarships

Skills πŸ”¨

Software development in 🐍 Python (8 years): scientific stack: numpy, torch, scipy, pandas; HPC and parallel/distributed/concurrent computing (MPI, OpenMP, multiprocessing, async); performance-driven development with C and cython; styling, testing, documenting, packaging; other: FastAPI, django, OpenCV, OpenCL, cPython bytecode.

C/C++: HPC and parallel environments (MPI, OpenMP); Lapack; embedded platforms; interfacing other languages; decompiling and reverse-engineering.

Other: β˜• Java, Fortran, Julia, Javascript, Matlab.

Infrastructure: git, CI/CD (Travis, Gitlab-CI, Azure pipelines), docker, HPC, AWS (EC2, S3).

IDEs: Pycharm, vim, VSCode.

Machine learning: supervised learning (DNN, linear fits, logistic fits, SVM); unsupervised learning (PCA/SVD, K-means, anomaly detection); dataset generation, feature extraction, adversarial models.

Soft: critical analysis, problem solving, communicating (organizing discussions, presenting, paper/grant/documentation writing), full-cycle project management (idea - funding - implementation - reporting), supervision.

Languages

English (prof), Ukrainian (mother), Russian, French (basic), Dutch (basic).

Hobbies

Sports, ✈ travels, cross-stitching, soldering, πŸ”’ lock picking, πŸ•ΉοΈ board and video games, open-source projects.