Consultancy

mug shot

I’ve has been around software development over past 10 years, wearing multiple hats, getting hands dirty in multiple environments, securing both technical as well as the business side of The Thing. “An engineer with a human friendly interface?”. Huh? Some languages, some frameworks, blah blah blah - doesn’t matter; linkedin has it all.

I’ve always considered programming as a tool to solve real-life problems - in a pragmatic way. I always stayed closed to business side of the solution, still keeping focus on the technology - as those two must fit together like a glove. I combine daily job of managing a horde of software engineers at Young Digital Planet with lectures and technical trainings, and comittment to Gdańsk Java User Group.

Lectures

I’ve been frequent speaker on various conferences (in Poland and abroad). Please see the speaking section for abstracts, videos and testimonials. Let’s talk if any of those talks are of some interest to you.

Trainings

For past ten years I’ve been actively working as a technical trainer, delivering multiple days trainings for JVM related technologies. I only focused on areas of my expertise and avoided a 'general trainer' approach. All the trainings materials (slides, scripts, exercises) are based on personal practice and experience. The trainings themselves are run in a workshop manner with at least 60% time spent on practical exercises.

Microservices

Microservices; from theory to practice. During the workshop we start from defining what microservice is, how it’s designed, build, deployed - which works nicely for green field projects. But we are not limited to the new and the shiny. We are also looking into migrations path from legacy monoliths to microservices. Last, but not least, we look deeply into interactions between services, trying to distill some emerging architectural patterns.

Integration Patterns

Practical workshop introducing concept of integration patterns (run on the top of MuleESB or Spring Integration). A set of multiple real-life integration scenarios, decomposed into discrete patterns.

Spring Framework

Building application using Spring Framework. The training can cover both evolving legacy applications (from Spring 2.x) as well as latest revisions of the framework. The program focuses on the framework itself and it’s integrations (data access, JPA, events, aspect), followed up by the context of either standalone or web application.

Functional programming with Java8

Despite the fact Java8 has been around for a few years now, there are still many teams that migrate their applications from JDK6 or JDK7 to Java8, to fully embrace the declarative programming approach in Java. This workshop covers all new and important things introduction in Java8, as well as sets up the ground for the new paradigm: functional thinking.

The training is not limited to the new language constructs in Java8 but also covers patterns, anti-patterns, limitations and gotchas, coming from few years of production usage of Java8.

Modern Architecture

A facilitated discussion on the role of architecture / architect within the project or organisations. From a high level discussion to practical exercises of implementing architecture principles on different level using microservices, domain driven design (DDD), Clean or Hexagonal Architecture (Ports and Adapters).

Java Enterprise Edition

Delivering business application using Java Enterprise Edition (Java EE 6, Java EE 7). This can include working effectively with legacy J2EE application and migration techniques to the modern stack.

Trainings have already been delivered using a variety of application servers (JBoss, Wildfly, TomEE, Weblogic).

Effective coding techniques

Most effective techniques of delivering software, including clean code, testing techniques, TDD, refactoring, design patterns.

Introduction to Java for PHP / JS / C++ programmers

First steps in Java / JVM world for senior programmers not proficient with the platform.

Get in touch

I’m happy to talk. I can be reached via twitter, linkedin or traditionally through kuba.marchwicki at gmail.com