Services I offer

Sven Woltmann
Sven Woltmann

You need someone…

  • Who understands your expectations of software solutions?
  • Who helps you clarify them before working on them – instead of rashly starting with a vague understanding of your requirements?
  • Who develops precisely what you need and not more – without premature optimizations and over-engineering?

You need…

  • Custom software tailored to your requirements?
  • Existing Java software to be extended?
  • Slow or software that crashes frequently fixed?

This is how I can help you

I thoroughly analyze your business processes and requirements in dialogue with you (and other potential stakeholders), design an overall architecture, and implement software that solves your requirements in an agile and professional way.

  • Agile = with regular feedback rounds.
  • Professional = fulfilling both functional requirements (what you expect the software to do) and quality requirements (sometimes also called “non-functional requirements”: efficiency, reliability, scalability, security, maintainability and the like).

Should you need help with existing software, I analyze the code for bugs as well as for concurrency, performance and memory bottlenecks, then work with you to create a plan to tackle them, and finally fix them. (Please understand that it’s almost impossible to estimate how long this takes before I’ve analyzed the code.)

I use the latest Java technologies, IntelliJ or Eclipse, Spring Framework or Java EE / Jakarta EE / MicroProfile, MySQL, MariaDB, PostgreSQL, Elasticsearch, Microservices with Kubernetes and Docker – whatever is best suited to build what you need.

In any case, I apply the principles of Clean Code and Clean Architecture, use a Test-Driven approach and Static Code Analysis tools to achieve the highest code quality – and therefore cost-effective maintainability, and I fully automate the build and deployment processes.

If you want to know more about me and what drives me, check out my “About me” page.

Portfolio

In the following, I have listed three major projects for which I was responsible. You can find a complete list in the “Career and technologies” section of my “About me” page.

AndroidPIT: Website & CMS for one of the world’s largest multilingual tech communities

AndroidPIT website
AndroidPIT website

With up to 60 million page impressions per month, AndroidPIT is the world’s largest multilingual Android community. Besides my role as CTO, I was responsible for all backend development, including:

  • Development of a high-performance, scalable and customizable content management system – with the Spring Framework, Hibernate ORM, Tomcat, MySQL and Elasticsearch in the backend.
  • Continuous upgrades of the codebase from Java 6, Spring Framework 2.5, and Hibernate 3.2 in 2009 to Java 11, Spring 5.1, Spring Boot 2.1, Spring Cloud Greenwich, and Hibernate 5.3 in 2019.
  • Adaptation of the entire IT infrastructure to the requirements of the EU-GDPR in 2018.
  • Development of the first web directory of Android apps in 2009 – even before the Google Play Store existed as a website – by reverse-engineering the Android App Store.
  • Setting up CI/CD pipelines with Jenkins and the Jenkins Job DSL.
  • Automation of the configuration and administration of the IT infrastructure with Ansible.

Although I wasn’t directly involved in HTML, CSS, and JavaScript programming, I was in charge of the entire IT and product team, including front-end developers.

Microservice architecture and REST API for a native ad format

NEAds - Native Engagement Ads
NEAds – Native Engagement Ads

Development of the backend infrastructure and REST API for the native advertising format “NEAds – Native Engagement Ads” (at AndroidPIT).

  • Implemented as a Microservice architecture.
  • Frameworks/technologies used: Spring Boot, Spring Cloud, Netflix OSS, Elasticsearch, Filebeat, Kibana, MySQL, RxJava, Swagger.
  • Operated in an on-premises Kubernetes cluster.
  • Continuous Integration and Delivery with Jenkins; we’ve coded all Jenkins jobs with the Jenkins Job DSL.

Although I wasn’t directly involved in HTML, CSS, and JavaScript programming, I was in charge of the entire IT and product team, including front-end developers.

AndroidPIT App & App Center: REST API for Android apps

AndroidPIT App Center
AndroidPIT App Center

Development of the backend infrastructure and REST API for

  • the AndroidPIT Content App, an app to read – and comment on – the AndroidPIT content (news, reviews, forum posts, app recommendations) on a mobile device, with a slow data connection and even offline (these were essential requirements in the early days of Android);
  • the AndroidPIT App Center, a Google-independent app store for Android apps with various payment methods and the ability for app developers to offer discounts and promotions, – pre-installed on devices from many manufacturers in the first years of Android.

I also developed the actual Android apps for the first two years, which were later, when we were a larger development team, taken over by specialized Android developers.

I’ve used the following technologies in the backend: Spring Framework, Hibernate ORM, Tomcat, MySQL, and Elasticsearch.

Technical details

In detail, I take care of:

  • Overall architecture design considering all aspects of Clean Code and Clean Architecture.
  • Planning and implementation of a microservice architecture (MSA) with Spring Framework / Spring Cloud or Java EE / Jakarta EE / MicroProfile.
  • Design and implementation of complex business logic, rules, and algorithms.
  • Implementation of data storage and retrieval (Spring Data, Hibernate, JPA, SQL, and NoSQL – specialized in MySQL and Elasticsearch; always eager to add more database systems to my repertoire).
  • Development of Web APIs (e.g., REST APIs, Graph APIs).
  • Finding and fixing performance problems, occasional crashes, and malfunctions – often caused by concurrency, memory, and garbage collection issues.

I ensure the highest code quality – and therefore cost-effective maintainability – by:

  • Applying a test-driven approach (JUnit, Hamcrest, Mockito, Powermock, Testcontainers).
  • Applying Clean Code principles (“SOLID”).
  • Applying well-known Design Patterns.
  • Using static code analysis tools (PMD, FindBugs / SpotBugs, Checkstyle, Sonargraph, Sonarqube).

I can also assist you with the following DevOps tasks:

  • Setting up the full CI/CD pipeline, e.g., to build and release software modules, or to package a microservice as a Docker container and deploy it in a Kubernetes cluster (preferably with Jenkins).
  • Setting up log aggregation and analysis with the ELK stack (Elasticsearch, Logstash / Filebeat, Kibana).
  • Automating the configuration and administration of the IT infrastructure with Ansible.

Let’s get in touch!

Now I’d like to hear what you are doing and talk about how I can be of service to you.

My hourly rate is 150 € (plus VAT where applicable). Discounts for long-term projects are negotiable.

Contact me at sven@happycoders.eu.