I’m Denis Shepelev — a mechanical and software engineer. I care about code that is readable, testable, and easy to change, and I apply the same principles to mechanical designs: clarity, repeatability, and adaptability.
What I do
- Systems engineering at the software–mechanics boundary — I design and build integrated solutions where code drives real-world mechanisms (robots, automation, energy systems).
- Software engineering — designing reliable, modular systems across the stack, with an emphasis on maintainability and testability.
- Programming languages — I work primarily in TypeScript, Python, and C++, and I write about patterns and pitfalls in these ecosystems.
- Developer tooling & libraries — building tools that make other engineers faster and reduce integration friction.
- Mechanical design & system integration — developing equipment, machines, and automation frameworks, with attention to manufacturability, modularity, and lifecycle adaptability.
Principles
- Prefer clarity over cleverness—in code and in mechanical schematics.
- Optimize for the next reader (or maintainer) of the code or design.
- Document decisions, not just interfaces: I capture why a choice was made, especially when it affects both software and hardware behavior.
- Design for iteration: systems should be easy to evolve as requirements change.
Contact
The fastest way to reach me is email at denisshepelev87@gmail.com. I also publish my work on GitHub.
Get in touch
I'm open to interesting engineering work, open-source collaboration, and writing. Reach out any time.