Simon Tsirikov: Work Experience
Simon Tsirikov: Work Experience
WORK EXPERIENCE
JetBrains Saint Petersburg, Russia
Software Engineering Intern Jul 2020 – Aug 2020
The goal of the internship was code analysis improvement for SnakeCharm, a plugin for IntelliJ-based IDEs that supports Snakemake,
a workflow management system with Python-like syntax. During the internship we have been contributed to this open-source
project within a team of other interns and developers, I made the following:
• Implemented new features including syntax highlighting, completion suggestion, warning inspections and quick-fix for some of
them, documentation popups
• Fixed bugs and improved old code performance
• Developed tests for each newly introduced feature and fixed old errors
• Wrote documentation for new features
• Updated build tasks
We used Kotlin and Java as programming languages in IntelliJ Platform SDK, Gradle for build options, and Gherkin for tests.
Tinkoff Saint Petersburg, Russia
Quality Assurance Intern Mar 2021 – Jun 2021
Testing the backend of social services of the Tinkoff Investments project. Preparation of test plans and scripts based on the problem
analysis, test automation with Groovy. During the internship I got acquainted with brokers and topics of Kafka, the logging tools
(Slf4j, Sage), improved my API skills (Postman, javax Servlets), participated in the agile life of the team (scrum, sprints, backlog,
grooming, kanban board).
PROJECTS
Interpreter for Lua Sep 2019 – Jan 2020
I developed and implemented parser, lexer, some optimizations (e.g. dead code elimination), and interpreter for Lua programming
language. Written in Haskell with the use of the Stack build system as part of the "Functional Programming" course at my university.
GitLab
OCaml translator Sep 2019 – Aug 2020
Adaptation of BuckleScript, translator from OCaml and ReasonML to JavaScript, for Lua instead of JavaScript. Written in OCaml with
the use of the Ninja build system as second-year coursework. During the year I compared several tools similar to BucklScript and
chose it due to its architecture, then changed some of the translation stages. Now it is used at local laboratories of the university
for embedded programming. GitHub
Sequent Calculus Solver Feb 2020 – May 2020
Implementation of algorithm for automated proof search in the Sequent Calculus for First-Order Logic. Written in Python as part
of the "Mathematical Logic" course together with my classmate, where my role was to realize logic when he was responsible for
parsing and creating an abstract syntax tree. GitHub
Linear Algebraic Topological Sort Feb 2021 – Apr 2021
This work is the implemetation of graph algorithm (topological sort) in the language of linear algebra (matrix multiplication), pre-
sented in the paper. Framework of linear algebra used for my implementation is SuiteSparse:GraphBLAS. GitHub
Static Code Analyser for Bounded Execution Time Feb 2021 – Jun 2021
With my groupmates and the professor we contributed to the static code analyser of LLVM IR, that the examined programm does
not potentially have infinte cycles in control flow graph. Written in C++ with use of LLVM API. GitHub
EDUCATION
• BS, Software Engineering, Saint Petersburg University, GPA 4.98 of 5, 2022
• Parallel, Concurrent and Distributed Programming in Java, Coursera specialization by Rice University
• Functional programming in Haskell, Stepik course in two parts (I, II) by Computer Science Center
• Open Source Software Development, Linux and Git, Coursera specialization by Linux Foundation
AWARDS
• Scholarship of Dell/EMC and EULER Foundation for successes in studying during first academic year
SKILLS
Tools CI/CD, Unix, Git, gdb, gcc, objdump, Maven, Postman, Kafka, clang, LLVM
Programming Languages Python, Java, Kotlin, C, C++, Haskell, OCaml, Bash, Groovy, C#
Languages English: professional proficiency; Russian: native