// profile

about me

Hi! My name is Nikita Doronin. I started programming in my early teens and since then I've been very passionate about software development and IT in general, constantly building various projects and learning new concepts along the way. I specialize in systems programming and low-level development, which is my favorite area of software engineering, as well as in automatization, high-load backend systems and cybersecurity. Recently I enrolled at the University of Vienna and moved to Austria, where I will be now studying and further improving myself as a software engineer.

As I mentioned above, I began my journey as a software engineer in my early teens being very enthusiastic about learning everything I can about this area. So over the past 4+ years I've been constantly studying, building and exploring all I can to improve my programming skills: I've taken many courses about software development (which you can view on the 'portfolio' page), developed many interesting and in-depth projects and in my high school years have participated in various national olympiads and programming competitions, reaching prize-winning places, as well as presented my projects on various IT conferences.

I managed to get my first internship as a 'BIOS developer' in C at the start of the second semester of me studying systems development in Polytechnical University of Moscow. I worked at 'Aquarius' for almost half a year, being presented an offer to continue working there full-time, but had to unfortunately decline it due to moving to Austria, since I managed to enroll at University of Vienna to study software engineering there.

So for me this is an ongoing journey, which started way before I first enrolled in my first university, having already successfully completed an internship at a big company, now moved to Austria to continue my studies here.

Having said that all that, I am primarily interested in systems development and low-level software engineering, which includes development of operating systems, drivers, embedded systems and close-to-hardware scenarios. Additionally, I also have a strong interest in cybersecurity, backend and high-load systems development, automatization, crypto and game development. Currently, I am exploring various concepts from all these fields, like reverse-engineering, advanced debugging, embedding AI in common workflows, creating custom agents, writing smart contracts for blockchain and even working on my own small game using Godot. I believe that having a strong low-level background in specific is most beneficial to my abilities as a software engineer, as it allows me to view varous systems on a much deeper level than average developer.

I'm most proficient in Rust, which is also my favorite programming language to use. I use it extensively to write programs in various areas, starting from backend systems and automated bots, to developer tooling and low-level appliations. I have studied Rust both through online courses and the official documentation. I'm familiar with most of the language's features, including multihreading, async programming, FFI and unsafe Rust, have used it in no-std environments and.

I also work with C and C++, mainly driven by my interest in low-level development and my desire to better understand these languages. In my experience, I have worked with the Windows API and QT6, developed UEFI systems using the EDK2 framework and wrote code for embedded systems. I do find using the two languages in different situations, with C being used in more bare-bones and lower-level scenarios, while leaving C++ for more native or speed-relient systems. I am currently very interested in further improving my skills in development using these languages.

My previous go-to language was Java, and I still posses strong knowledge of it, allthough it is no longer my primary focus due to my switch to lower-level system development. Having completed numerous online courses and worked on several personal projects using this language, I have hands-on experience with working using the Spring Boot framework, developing fast backend systems and contributing to enterprise code as part of my Freelance experience.

I am used to working with AI, leveraging and combining such tools as Claude (Claude Code) and ChatGPT (Codex) on daily basis, having also developed my own skills and agentic workflows. But I still believe that AI is just a tool - but one that being controlled and supervised in the hands of a professional provides much more value, compared to a mindless 'leave it all to AI' approach. Aditioanlly, I tend to stick to the following mental model: if it's a project that delivers a certain product, I try to leverage AI and its boost of efficiency to its fullest potential, but with me still being constantly involved in the development process (you will never see me 'vibe coding') in order to deliver a quality product; while in case of personal or educational projects, I prefer to do everything by hands to gain as much knowledge as I can - everything is a learning approtunity, after all. Again, I think that AI is a very powerfull tool and it's here to stay, but like with any other powerfull thing comes the responsiblity to use it wisely and know how to appropriately apply it to necessary areas.

skills

loading

This section highlights my technical expertise, programming experience, and complementary skills - from backend engineering and system development to freelance capabilities and language proficiency.