Hi! I’m Sergej

Portrait

I help JetBrains MPS developers build high quality domain-specific languages and tooling.

  • Are you evaluating JetBrains MPS? MPS is a platform with unique characteristics and some experience is helpful to properly evaluate its benefits and drawbacks in the context of your organization. I have been involved in multiple projects using MPS and can help you evaluate whether MPS is a good fit for your problem and your environment.
  • Do you need to get an MPS project off the ground? I help you give your project a successful start by providing trainings for the developers, establishing the initial project structure and architecture, including tests, and setting up continuous integration (CI) builds to provide feedback on code quality right from the start.
  • Do you need help integrating MPS-based tools into your organization? I can help you develop importers, exporters, customized IDEs (RCPs), custom UI elements and the build pipeline to integrate with your existing production and build systems.
  • Are you stuck on a difficult issue? Trying to work around a bug? I offer my expertise in the internals and architecture of MPS to get you unstuck.

“Accelerated our project by working with an expert”

With Sergej we were able to grow our in-house talent as well as accelerate our project by working with an expert. He was an active participant in code reviews, as well as design discussions, enabling our internal developers to grow in their expertise. We also benefited from Sergej’s professional network and reputation.

– Nat Peterson, Senior Principal Software Engineer, Workday


“We learned everything we needed to fix our build and distribute our language automatically”

I would definitely recommend you to others, because you provided training perfectly adapted to the current state of our project and our specific needs.

We learned everything we needed to fix our build and distribute the MPS plugin with our language automatically, which is going live as I write this.

In addition to that, your explanation of the internal logic of editor actions and shortcuts gave me a better understanding for some of the problems we had been heaving, and why the solutions we found through trial and error actually work. We also learned a number of ways to smooth the editor experience, the first one we used was the Context Assistant to help users with automating parts of the setup for tests.

The input on creating interpreters was useful to convince the POs of the value that having an interpreter would add to our language.

I greatly appreciated that you took the time to examine and understand our project and were able to design exercises for us that fit into our existing language in a meaningful way. This approach made it easy to focus on the content of the exercise and understand the potential uses immediately.

I was also impressed by your ability to spontaneously modify the assignments for build and distribution to work within the security restrictions in place at our company.

Keep up the good work!’

– Sebastian Schöneberg, Actuary, Volkswohl Bund Lebensversicherung