Bio
Most of the time, my work involves a blend of research (finding and verifying hypotheses, finding new point of view), development (architecting, implementing, and managing projects), and teaching (delivering lectures, providing consulting services, and mentoring). I specialize in various aspects of software engineering. Here are a few examples of my experiences:
- Developing the certification-compliant electricity measurement system for small towns.
- Authoring the Ph.D. thesis on the architecture of multi-level computer systems, exploring how system levels interact across configuration, compilation, interpretation stages, and between software and hardware components.
- Founding the CAD platform tailored for hard-real-time application-specific processors.
- Architecting, developing, and managing the research project focused on planning systems for distributed manufacturing with restricted access to production documentation.
My Topics / Мои темы
I can serve as your advisor in various theoretical and technical domains:
Theoretical Topics
- Data Modeling: Learn how to effectively represent domain-specific data, formalize it, and interpret it. Discover methods to seamlessly integrate data models into software systems.
- Architectural Design: Explore techniques for visualizing system architecture and leveraging architectural descriptions within the design and implementation processes.
- Systems Engineering: Gain insights into holistic system understanding, identifying critical components and questions, and assessing the overall quality of your system.
- Engineering Methods: Understand how to approach the development process methodologically but simple, and navigate project management challenges when everything seems to go awry.
Technical Topics
- Functional Programming: Explore alternative approaches to software development that revolve around functional programming principles. Applying it to real projects.
- Domain-Specific Languages: Discover how to streamline the programming process and understand why Domain-Specific Languages may not always be the best solution. eDSL intergation in the host language.
- Distributed Systems: Learn the best practices for designing and implementing distributed systems, taking into account specific business requirements.
- Software Verification: How do you make sure that the system developed meets expectations? How do I formulate these expectations?
Please feel free to explore my projects to get a better idea of my expertise and how I can assist you.
My Projects / Мои проекты
These projects can provide topics for your bachelor’s or master’s thesis.
My Courses / Мои курсы
Blog / Блог
Social / Контакты