Skills and Expertise
I won’t list every technology I’m familiar with. Instead, this section reflects what I’ve actually worked with, based on real experience. I regularly explore and experiment with new technologies out of curiosity, but not all of them are listed here. The Learning section includes some of these, although I only started keeping those notes recently.
Product & Domain Experience
I am a front-end specialist with a full-stack background. I spent my first decade building systems from the ground up before the “front-end boom” redefined the industry. This evolution allows me to maintain a high-level view of the entire product lifecycle—focusing on usability, long-term maintainability, and making pragmatic technical decisions based on real-world needs.
- Customer-Facing Products: I can act as the bridge between a client’s vision and the development team—helping to formulate technical requirements, create cost estimates, and ensure the final product solves the actual business problem.
- Strategic UI Engineering: I distinguish between “making a UI change” and “solving a UI problem.” I focus on improving user experience while keeping the implementation cost-effective and maintainable.
- Industry 4.0: With years of experience building DAQ systems, I provide a deep understanding of industrial environments, hardware-software integration, and the specific challenges of Industry 4.0.
Engineering & Frontend Stack
- Primary: TypeScript/JavaScript, React (16.8+), HTML/CSS (SCSS, Less)
- Secondary/Legacy: Svelte, Angular, htmx, jQuery (3.0+)
- Favorite support: Material UI/Tailwind/Bootstrap, Tanstack, Nx, Cypress…
The front-end landscape is vast, and I make a conscious effort to maintain a broad overview of how different frameworks and technologies solve common problems. This perspective allows me to choose the right tool based on team strengths rather than just following the latest hype.
I prefer PWA over React native, but in the future I am planning to convert some of my personal projects into full Android/iOS apps… all that new possibilities!
I have a genuine appreciation for maintaining legacy applications from the “pre-modern” era. Greenfield projects are cute, but I’m the guy you call when the reality of legacy code hits and you need to improve usability without breaking business continuity.
I like apples, but I don’t like Apple.
Back-End & Architecture
- Languages: Currently primary focus on Python and TypeScript/JS (Node.js), with a solid professional background in Java (Spring Boot)
- Foundations: Once upon a time I spent several years maintaining legacy projects in Pascal and C/C++, later PHP
I can architect and deliver back-end services, but my core focus has shifted entirely to the front-end. Today, I’m most effective as architectural support—ensuring seamless API integration and actually meaningful error handling rather than coding the back-end from scratch.
I can deliver Node.js services, but I still believe JavaScript belongs where God intended: on the client side. The recurring NPM supply chain attacks only reinforce my caution regarding JS on the server >:-).
Data & Persistence
Since the database was often the client’s choice, I learned to treat it as a swappable component. I focus on portable data modeling that works across relational, NoSQL, or cloud-native systems, avoiding vendor-specific “hacks” unless a bottleneck truly demands a specialized solution.
SQLite, Redis, Firebase, DynamoDB — these are just tools to me. Each has its purpose, and we should always be prepared to switch to the one that fits our needs better, if the specs change.
Infrastructure & Deployment
- Scripting & OS: OS-agnostic approach using Bash and Batch (.bat)
- CI/CD: GitHub Actions, GitLab CI, Jenkins, TeamCity
- Tools: Docker, Nginx, Apache, Basic AWS exposure
I am not a dedicated DevOps engineer, but I am fully self-sufficient when it comes to managing my own projects. I can navigate infrastructure boundaries, set up pipelines, and handle deployments independently… but I prefer not to :-)
I like apples, but I dont like Apple
Team & Process Leadership
- Team Lead: Mentoring, onboarding, technical decision-making, and unblocking daily hurdles
- Agile & Workflow: Full lifecycle management (Scrum, Waterfall)
- Team Dynamics: Identifying “Bus Factor” risks, stabilizing teams and more based on context
- Stakeholder communication: Roadmap execution and technical consulting
When leading, I drive a culture of developer satisfaction and shared ownership. My goal is a stable team with no “heroes,” high knowledge redundancy, and code written with our “future selves” in mind.
Full Agile is pretty expansive, but can help to find/identify problems -> then i prefer to switch in some lightweight mutation of it.
Working Method
Methods I employ to deliver elegant, efficient, and maintainable code that adds long-term value to the product.
- Pragmatic Architecture: The Clean Architecture and DDD principles to the front-end to keep business logic independent of UI frameworks.
- State of Mind: Application structure guided by 12-Factor App principles—ensuring environments are consistent and deployments are boring (in a good way).
- Quality over Hype: Choosing the right tool for the job, prioritizing stability and performance over the latest industry trends.
- Technical Debt Management: Proactive prevention of technical debt through continuous refactoring and clear documentation.
- DevSecOps & Security: Embracing Secure by Design. Front-end isn’t just about pixels; it’s about sanitization, secure headers, and protecting user data.
- Modern Versioning: Everything in Git, versioned according to Semantic Versioning, with transparent CI/CD pipelines and automatic changelog generation.
- Test-Driven Logic: Using TDD for complex domain logic and critical paths where manual testing is not enough.
- Ethical Engineering: Adhering to the ACM Code of Ethics and supporting Open Source ecosystems whenever possible.