Dipl. Inf. Jaap Groeneveld

Freelance Software Consultant
I am a Fullstack Software Engineer from Hamburg, Germany with experience in software engineering and technical leadership. I bring a broad experience and a deep understanding in the development of scalable and maintainable systems for web. I work in Hamburg and world-wide remotely.
trust logos

CV

Staff Engineer
Since 08/2022
 
Engineering Manager
12/2020 - 08/2022
Managing a team of engineers and testers.
People Management
Architecture
PHP
AWS
Freelance Software Consultant
Since 05/2019
EOS Technology Solutions (01/2020 - 06/2020): Coaching two teams in craftmanship, code quality and testing.
Go
Testing
Coaching
Heidelberg School of Education (01/2020): Technical Product Management / Project Scoping.
Product Management
Scoping
Technical Consulting
Fielmann AG (05/2019 - 12/2019): Developing a system to process customer satisfaction surveys.
Kotlin
Spring Boot
Kafka
Kubernetes
Docker
Microservices
Team Lead Engineering
01/2018 - 04/2019
Technical responsibility, quality assurance and personnel responsibility for a product. Leading up to two teams, consisting of 12 Backend-, Frontend- and QA-Engineers on side and in remote locations. Driving companywide engineering initiatives, especially regarding cloud strategy and remote work.
People Management
Architecture
Ruby on Rails
React
Javascript
PHP
nodejs
AWS
Tech Lead
12/2015 - 12/2017
Technical responsibility, quality assurance and hands-on development for a product. Technical lead for up to 10 Backend-, Frontend- and QA-Engineers on side and in remote locations. Coaching of the engineers.
Architecture
Ruby on Rails
React
Javascript
HTML/CSS
Senior Developer
07/2013 - 10/2015
Development of mobile Apps for android and iOS, Development of Web applications in Ruby, Development of a Data-aggregation system in Ruby and Go, Concept and implementation of software architecture, coaching and consulting of developers.
Architecture
Ruby on Rails
Go
Objective-C
Java
Android
Spring Boot
HTML/CSS
Freelance Developer
01/2012 - 12/2013
Development of Webapplications and API's with Ruby on Rails, mobile crossplatform applications for iOS and Android, Servermanagement, project and usability consulting.
Architecture
Ruby on Rails
NodeJS
Objective-C
PHP
Appcelerator Titanium
Javascript
HTML/CSS
Software Engineer
04/2011 - 07/2013
Development of internal Software for management, booking, billing, monitoring and automatisation of a small data center. Development of Customer Frontend. Integration of several APIs (Cacti, Radius...) and of external providers (Domain Registrars, Accounting, Banking...)
Ruby on Rails
Javascript
HTML/CSS
University of Bremen - Computer Science
10/2007 - 07/2013
I studied Computer Science at the University of Bremen and graduated with a Diploma. During my studies I concentrated on practical projects in different technologies.
Java
Ruby on Rails
Javascript
HTML/CSS
C#
Objective-C

Open Source

I maintain small libraries that are free to use and open source.
Have a look at my GitHub.

trial/assert is a simple assertion library for go giving convenience and nice error messages for productive work.
schema
Go
schema makes it easier to check if map/array structures match a certain schema. Great for testing JSON API's or validating the format of incoming requests and providing error messages to the api user.
configurate is a simple configuration library. It can load from JSON files, OS Environment, accepts defaults and can report required values missing. It can easily be extended to access other sources like consul.
AttributedObject gives easy, dependency free attributes to objects making sure the interface is clean. It behaves largely like named arguments. Its possible to have disallowed values, simple, strict typechecking and default values.

Blog, articles and talks

From time to time I write articles. Have a look at dev.to/jgroeneveld.

I also gave a few talks:

Talk: Software Engineering Principles Software Engineering Principles, clean code, naming and structure.
Talk: Golang Naming and Structure Golang Naming and Structure. About how to name things in Go and how to structure a Go application.
Talk: Testing in Go Testing in Go. Why and what is testing. Test pyramid, test types. Specifics on testing with Go.
Talk: Concurrency in Go Concurrency in Go. Concurrency vs parallelism. Select, Mutex, waitgroups...
Talk: Go Type Basics Go Basics. Go overview, Type system, interfaces.
Talk: Software Architecture Software Architecture Overview. Describing software with C4, Software Layers, Hexagonal Architecture, Conways Law, Domain Driven Design

Photography

I also do photography. To see my pictures visit lichtsache.com