Petar Tešić
Software Engineer @ Microsoft |
PhD Student @ Faculty of Mathematics, University of Belgrade
About Me
I'm a software engineer with a strong foundation in mathematics and computer science.
Currently working at Microsoft. Passionate about solving real-world problems with elegant code.
Full portfolio available here: Download CV (PDF).
Work Experience
- Full-time, On-site - Belgrade
- April 2025 - Present
- Member of the Azure Compute Node Service team.
- Full-time, On-site - Belgrade
- May 2024 - March 2025
- Part of the System Integration Platform team.
- Part-time, On-site - Belgrade
- October 2022 - September 2024
- Department of Computer Science and Informatics.
- Full-time, On-site - Belgrade
- April 2023 - April 2024
- Part of the System Software team.
- Full-time, On-site - Belgrade
- November 2022 - January 2023
- Part of the Plum team (C# team).
Education
-
PhD Candidate of Informatics at the Faculty of Mathematics, University of Belgrade
- October 2024 – Present
- Grade: 10.0/10.0
- Some of chosen majors: Advanced Topics in Computer Networks, Advanced Topics in Compiler Construction, Advanced Topics In Software Verification, Machine Learning in Computer Vision. Master's Degree in Informatics at the Faculty of Mathematics, University of Belgrade
- October 2022 – September 2024
- Grade: 9.71/10.0
- Master thesis title: Automatic detection and optimization of the CRC algorithm within the LLVM compiler infrastructure
- Some of chosen majors: Software Verification, Software Development 2, Scientific Computing, Machine Learning, Cryptography. Bachelor's Degree in Computer Science at the Faculty of Mathematics, University of Belgrade
- October 2018 – September 2022
- Grade: 9.25/10.0
- Some of mandatory majors: Operating Systems, Computer Architecture, Database Programming, Computer Networks.
Projects
Master Thesis Project
The full tittle of the project is: Automatic detection and optimization of the CRC algorithm within the LLVM compiler.
The goal of this thesis was to enhance the LLVM compiler infrastructure by enabling automatic detection and optimization of the CRC (Cyclic Redundancy Check) algorithm. The proposed solution identifies unoptimized CRC implementations at the LLVM intermediate representation (IR) level and replaces them with functionally equivalent, optimized versions.
This optimization leads to improved performance for programs that use the CRC algorithm and are compiled with LLVM. The performance gains are evident across multiple processor architectures, including RISC-V. Experimental results confirm significant speedups achieved through this approach.
View the full thesis project on GitHub: master_thesis.
Randomized Greedy Algorithms
Implemented several graph clustering algorithms inspired by academic research, developed as part of a Scientific Computing course.
Explore the project on GitHub: randomized_greedy_algorithm.
Deep Learning Facial Expression Recognition
Built and trained Convolutional Neural Networks (CNNs) and other machine learning models to classify facial expressions from a dataset of human face images.
Check out the project on GitHub: facial_expression_recognition.
Verification of a Compound Unit project
Applied static and dynamic software verification tools to an existing codebase, identifying bugs and performance bottlenecks. Delivered a detailed report analyzing the results.
View the project on GitHub: 2023_Analysis_Compound_Unit.
Business website: Elektro-Maks
A multilingual business website made for an electrician company, with Serbian as default language and built-in dark/light switch support.
Visit the website: Elektro-Maks.
Various interpreters
Developed multiple interpreters for the Translation of Programming Languages course, capable of executing custom commands for sets, graphs, matrices, stacks, and queues. Some interpreters construct and traverse Abstract Syntax Trees (ASTs) to evaluate program instructions.
View the project on GitHub: various_interpreters.
Skills
Programming Languages:
Frameworks:
IDEs:
Tools:
Operating Systems:
Web games
Minesweeper
This is the first game I have ever played and it's evergreen.
Try it out and have fun: Play Minesweeper
Matrix
There is funny tool that you can run on your Linux terminal called cmatrix.
Here you can try my version of the tool: 💻 View Matrix
Battle field
Simulation of the famous LeetCode platform.
Try out the Battle Field Project: ⚔️ Enter Battle Field
Note: The Battle Field project is currently just a proof of concept. I'm working on expanding it with more algorithmic questions and new features!
Compound Interest Calculator
A simple and stylish tool to calculate how your investments grow over time using compound interest.
Includes options for principal, rate, years, and compounding frequency.
Try it out: 📈 Try Calculator.
Contact
You can reach me at: posteru.ole@gmail.com