Hi, my name is Jakub Marchwicki and I help teams deliver better software.
I’ve 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.
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.
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; 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.
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.
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.
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.
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).
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).
Most effective techniques of delivering software, including clean code, testing techniques, TDD, refactoring, design patterns.
First steps in Java / JVM world for senior programmers not proficient with the platform.