Skip to content

About

I am a freelance full-stack software engineer and software architect with over 15 years of experience in international e-commerce. I design, build and maintain B2B and B2C software systems with care, speed, and effectiveness.

Passionate about rapidly engineering web applications within agile teams, I am proficient in a variety of tools, methodologies, and programming languages. I regularly explain, discuss, and implement software designs and software architectures with clients' teams and the software development community to ensure their situative effectiveness.

As a freelancer, I seamlessly integrate into my clients' development teams, collaborating closely with stakeholders and team members remotely on a full-time basis. I foster transparency, flexibility and open communication, advocating for the core values and the original meaning of agile development as outlined in the Agile Manifesto.

I am thoughtful, communicative, pragmatic and target-oriented.

If you need a reliable partner for customer-focused solutions, let’s connect! Contact me at mail@jonas-havers.de

Technology Stack

While I've worked with various technologies, some have become favorites for both my clients and me. I believe in selecting the right tool for the specific job.

The technologies I most often use include:

  • Java or Kotlin with the latest Spring Boot version in the backend
  • JavaScript – either current vanilla JS, Vue.js or htmx / Alpine.js – and CSS for the frontend
  • AWS as a cloud service provider
  • MongoDB (DynamoDB/ MongoDB Atlas) or PostgreSQL (RDS) for data persistence
  • Kafka for distributed event-driven applications

In the past, I've also worked with Scala, Groovy, TypeScript, React, Angular etc.

My Java/ JVM development stack includes frameworks like Spring Boot (sometimes with Spring Cloud) and common libraries such as JUnit Jupiter, WireMock, Testcontainers, ArchUnit, Jacoco, Swagger, Cucumber, RestAssured, Resilience4J, Lombok, and more.

For JavaScript backend development, I use Node.js and Express with additional packages. My frontends are usually built with plain JavaScript or Vue.js, utilizing tools like Vite, Jest, Cypress, ESLint, Prettier, depending on project requirements.

For CSS, I prefer Tailwind CSS but am also adept with plain CSS or SASS/ SCSS/ LESS (using methodologies like BEM/ Atomic CSS).

My IDEs and editors of choice are IntelliJ Idea and VSCode.

Engineering

Software engineering is a discipline of empirical and scientific discovery, learning, and design. We practice iteration, feedback, incrementalism, experimentation, and empiricism.

Therefore, I believe that following agile principles, empowering independent teams, and embracing continuous delivery are the best approaches for building software products.

To manage the complexity of evolving systems, we pursue modularity, cohesion, separation of concerns, abstraction, and loose coupling.

Thus, I value thoughtful, clean software solutions and pragmatic documentation to achieve successful outcomes in software engineering.

Learning

I am a continuous learner. After my daily work for clients, I immerse myself technical literature and news, listen to audio books and podcasts, or take video courses.

I focus on software development, learning and teaching methodologies, human psychology, and personal development.

In the past, I studied broadly, but now I delve deeper into current issues and challenges relevant to my work.

Staying updated with the latest developments, tools, and trends in our industry is second nature to me.

Teaching

Since 2012, I have been a regular freelance academic trainer at the IBS IT & Business School Oldenburg. This role has allowed me to mentor and support students across three semesters of their business informatics bachelor's degree program, which I also completed there in 2010.

I strive to make my teaching sessions interactive and collaborative, fostering an environment of mutual learning. In the first and second semesters, I conduct three 3-hour sessions each. In the fourth semester, I lead 36 hours of instruction, practical training, and professional mentoring.

Software Development with Java

In the freshman and sophomore semesters, I teach and mentor students in Java programming, covering procedural, imperative, functional, and object-oriented programming.

Web Applications with JavaScript

In the fourth semester, I teach students a JavaScript-based technology stack from scratch, to which I make annual changes. Students form project teams of three to four members, each assuming different roles.

We cover HTTP and REST for client-server communication, use Git for version control, and VS Code as our preferred code editor.

Beyond the basics, I introduce advanced fundamentals and concepts for building projects like a community forum, a survey management system, and a course booking platform. The creativity and teamwork students exhibit is amazing, often surpassing market solutions within two to three months.

The current stack includes vanilla JavaScript and Tailwind CSS on the client side, Node.js with Express, Pug, and Mongoose on the server side, MongoDB Atlas for the managed database cluster, and Heroku or Render for deployment.

Music

To end on a personal note, I'd like to share another passion of mine. I love punk rock and its sub-genres like pop-punk and emo-punk. While there are many great bands to discover, I often find myself drawn to the more famous ones.

In mid-2021, I rediscovered my passion for making music after a five-year break. I am a singer and used to play bass guitar, but now I focus solely on singing.


That's it! Feel free to reach out on social media or via email. I’d love to hear from you!

– Jonas (mail@jonas-havers.de)