About me
Table of Contents
Personal details #
I’m a senior full-stack web developer with 5 years of experience professionally developing web applications according to industry standards using TypeScript & Node.js with various frameworks, and over 20 years of experience in software development. I’m specialized in high-quality code, software design & architecture and infrastructure engineering.
Here are some personality traits and professional skills that describe me well:
-
Independent worker with the ability to communicate effectively with the team and all levels of management, taking on a mindset thinking of overall value creation for the business.
-
Comfortably managing context switching – e.g., multiple projects, coding, mentoring, discussing & brainstorming.
-
Introducing & encouraging innovation – suggesting ideas, introducing new technologies and practices to deliver better solutions.
-
Confidence to technically challenge implemented solutions and processes.
Previously, I studied Physics and obtained a PhD in Physical Chemistry. My experimental and computational research focused on the interaction of molecules with ultraviolet light. The results explained previously unclear observations in atmospheric climate models and added valuable insights to the general understanding of photochemistry, and in particular femtochemistry. See my Google Scholar profile for details, or ask me about it!
My take on Software Engineering #
From my perspective, software engineering extends far beyond the mere act of “writing code.” As I engage in various projects, I consistently apply ten fundamental principles as guiderails that not only guarantee the excellence of my work but also contribute to the overall success of the project.
- Analyzing and understanding user and business requirements.
- Collaborating with cross-functional teams including developers, designers, project & product managers, upper management and executives.
- Designing software and system architecture.
- Developing and writing code using programming languages.
- Applying proven design patterns, principles and best practices to ensure scalability, maintainability, performance, and compliance.
- Using version control systems to manage the codebase and collaborate with other developers.
- Conducting code reviews to ensure code quality and adherence to coding standards.
- Testing and debugging software.
- Documenting software designs, requirements, and technical specifications.
- Error and performance monitoring to ensure the system is running properly.