I’m a software engineer with a wide range of interests: performance, architecture, operating systems, and file systems. Below is a short version of my bio.
As a kid, my first machine was a local clone of the ZX Spectrum by Sinclair Research. It booted from a cassette tape, and programs could be written in BASIC using the built-in language interpreter. Then came an IBM PC-Compatible hardware, running MS-DOS and Win3x/9x thereafter. During that time I got interested in C/C++ and various systems like Turbo Vision, Win32, and MFC. I was always curious about making video games and played with different approaches ranging from BGI and INT 10h to, eventually, DirectX.
That passion led to creation of the first Barnaul-based video games studio called Stargaze Interactive, with me as a co-founder. I was involved in management, engine/toolset programming, and tasks like system administration. After crafting about a dozen casual games for PC, we’d found ourselves in the AppStore era and started a transition towards cross-platform games development. I made an initial overhaul of our engine, moving it from being locked on Wintel to supporting different target platforms. As MacOSX was our first non-PC target, I’d started to explore it thoroughly and gradually fell in love with Mac. Next, after spending almost a decade in video games industry, I decided to turn that page and left the company, which was acquired by our publisher Alawar.
By that time I was a Master in CS, graduated from AltSTU, and was pursuing a post-graduate education. My dissertation was devoted to researching local descriptors of image features in an aspect of computer vision’ tasks. It was later successfully defended in SibSUTIS, providing me with a degree of “Candidate of Engineering Sciences“, which is basically equivalent to Ph.D.
My other passion is related to file systems, file management and all stuff around it. That’s how I found myself developing a file manager for MacOSX called Nimble Commander. Since it’s a fairly large project for the one man army (i.e. ~150kSLOC written in C++/ObjC/ObjC++, lasting for 50 versions to date), I found it to be a great source of different interesting engineering problems.
Currently I’m working for Synopsys in the UK, developing a TCAD tool for simulating semiconductor manufacturing processes. This field of scientific computing comes with unique challenges, such as ever-increasing problem sizes and the need to maintain vast, decades-old codebases.
Links:
email: mike.kazakov@gmail.com
LinkedIn: https://www.linkedin.com/in/mike-kazakov/
GitHub: https://github.com/mikekazakov/