This site runs best with JavaScript enabled.

Resume of Torsten Uhlmann

Torsten Uhlmann
Buchenweg 5
09380 Thalheim
Germany

Torsten's photo

Summary

My name is Torsten Uhlmann, I'm a german software developer with a passion to create great and useful software.

I'm an experienced Java consultant with more than 20 years experience and successful projects in C++, Java, Ruby, Groovy, Scala and GO. My main focus is on enterprise software development and full stack web application development with technologies like Scala and Lift, Clojure or Typescript.

I authored the Lift Web Applications How-to: http://www.packtpub.com/lift-web-applications/book
On my Github page you'll find numerous projects I've worked on over the last decade: https://github.com/tuhlmann

I enjoy meeting new people and facing new challenges. I'm particularly good at integrating into teams and getting myself involved in the subject. If you are looking for an accomplished software developer I'd love hearing from you.

Technologies have changed over time. One thing that steadily remained is my curiosity for new languages and methodologies. I particularly enjoyed transitioning from being an imperative programmer with C++ and Java into using a more functional approach with Scala, Clojure and Typescript.

Current technologies:

  • DB: PostgreSQL, MongoDB
  • languages: Scala, Clojure, Clojurescript, Javascript, Typescript
  • web frameworks: Liftweb, AngularJS, MarkoJS, ReactJS

Education

Diploma (master equivalent)

TU Chemnitz-Zwickau, Germany; Sep 1991 -> Mar 1996

Computer ScienceDatabasesAlgorithm

I only studied once, so there's not much here. Since I got that programmable calculater in 8th grade I wanted to do something with computers.

Well and this is what I did. I started computer science at this university and finished it quite successfully 4,5 years later. I started at a big telco company shortly before I finished my study. I never was a fan of just hanging around...

Skills

Some recent skills I aquired over the last year and I'm still practicing regularly are: - Scala, Java, GO, Clojure, Clojurescript, Javascript, Typescript, AngularJS, ReactJS, MongoDB

Some things I worked with for many years in the past (that I'm not afraid to mention):

  • C++, Java, Oracle, PostgreSQL, MySQL, Eclipse RCP, Docbook

Things I have used for a short period:

  • Groovy, Ruby, Perl

Training & Publications

Speaking about Scala and Lift3

Scala Exchange 2013 London; Dec 2013 -> Dec 2013

ScalaSpeaking

I was giving talks at Scala conferences about myLift, the Scala web framework I'm involved with for many years.

Speaking about Scala and Lift3

Scala Days 2013 New York; Jun 2013 -> Jun 2013

ScalaSpeaking

I was giving talks at Scala conferences about myLift, the Scala web framework I'm involved with for many years.

Author of 'Lift Web Applications HowTo'

Packt Publishing; May 2012 -> Jan 2013

ScalaAuthoring

Together with Pack Publishing I authored a small book about Lift, the 'Lift Web Applications HowTo'.

Java Trainer

ML Consulting; Sep 2011 -> Dec 2011

JavaSpeaking

I was teaching several Java and programming basics courses at ML Consulting Dresden and Berlin. I got very good ratings from my students and the manager of the consulting facility wants me back for more.


My Story

AGYNAMIX Numerix

AGYNAMIX; Mar 2015 -> Dec 2017

ClojureClojurescriptMongoDBReagentre-framere-com

Numerix was planned as a multi tenant tool for freelancers or small companies. It contains modules for

time tracking; invoice generation (from tracked time and extra items); document management, multi document upload; a knowledge base; chat rooms, complete with callout and notifications; user management, complete with notification emails, password reset, etc.; a calendar

On the technical side, Numerix is a Clojure / Clojurescript project using Reagent and re-frame, storing data into a MongoDB. It uses a role based permissions system similar to Apache Shiro's wildcard permissions.

Senior Software Developer

Ascendant, Inc; Jul 2013 -> Feb 2019

ScalaLiftGOAngularJSJavascriptMarkoJSDockerMongoDB

In a small team of awesomely great developers we implement a suite of tools using best of breed frameworks like AngularJS for the frontend. The backend server is developed as a set of Scala applications on top of the Lift web framework. We use the MongoDB database.

Recommendations

Scala & Lift Consultant

Twisp, Inc; Mar 2013 -> Jul 2013

ScalaLiftMySQLSqueryl

For a client I'm developing a Lift based information engine application.

Scala & Lift Consultant

Underscore Consulting; Nov 2012 -> Apr 2013

ScalaLiftMongoDBCloudbees

I was in charge of developing part of a Scala / Lift client application together with a really cool team of Underscore developers.

Recommendations

  • Senior Software Consultant for the TagTrail project

    We worked with Torsten in on an innovative real-time interactive NFC platform for a US corporation. It was a pleasure to work with him. He brought technical knowledge, especially with Lift, Scala, and Angular. He worked with the customer to understand their needs. As well as generally contributing to the project, he took on responsibility for (and delivered) a rich reporting tool.

    Richard Dallaway, Partner Underscore Consulting LLP

Unser Gartenverein

AGYNAMIX; Nov 2012 -> Dec 2016

ScalaLiftJavascriptMongoDB

Gartenverein is an attempt to create a hosted application to manage small garden communities in Germany.

Garden communities are managed like associations. Invoices need to be sent, water and power meter readings have to be collected and stored.

This software manages garden tenants, readings, documents, a shared calendar and more.

Senior Software Developer

Sgrouples, Inc; Sep 2011 -> Sep 2012

ScalaLiftJavascriptMongoDB

With a small bunch of other high profile developers we develop the social groups platform https://sgrouples.com (now: https://mewe.com).

Recommendations

JSF Developer

1822direct Sparkasse; Apr 2009 -> Jul 2009

JavaJBossTomcatJSF

Development of a JSF(Java Server Faces) front end for an in house application to manage correspondence to their customers. We used Tomcat 5, JBoss and JSF 1.2 with MyFaces for development and deployment.

AGYNAMIX Simidude

AGYNAMIX; Oct 2008 -> Dec 2011

JavaSWTJFaceInstall4jLinuxWindowsMacOS

I developed a small cross platform application that is used to copy your computers clipboard contents, files or whole directories to connected machines.

Simidude is a cross platform network clipboard and file sharing tool. When it starts up it automatically checks your local lan for other running instances and connects to them. After that transmitting a file from one machine to another is just a drag and drop operation with Simidude.

Simidude runs on Windows, Linux and Mac computers, as well as in virtual machines.

AGYNAMIX Net-Herald

AGYNAMIX; Jul 2005 -> Dec 2015

JavaEclipse RCPPostgreSQLSpringOPC

I started AGYNAMIX by the end of 2004 to create a company where I could create great software according to what I have learned in the past decade and not according to managers that have never delivered a line of code.

My first product was a monitoring software for water supply companies. It was a pretty large project featuring a server side Java application written using these technologies:

the Spring framework a PostgreSql database Java COM connectivity to manage GSM modems to send warnings an OPC (Ole for Process Control) COM library to connect to existing software

With these tools I developed an Eclipse RCP application that uses Eclipse GEF to visualize the data (show a nice chart and current values).

Software Developer

T-Systems SL SI; Jan 2005 -> Sep 2011

JavaJBossOracle

As a contractor for T-Systems I was involved in numerous projects:

I maintained a mid sized Eclipse RCP application that is used in-house in the test department. The application is developed using these technologies: Eclipse RCP EMF: Eclipse Modeling Framework Teneo: Database persistence using Hibernate and Oracle for EMF models JDBC: lower level JDBC programming for a number of features that need direct db access

I extended an already existing migration framework (which I helped develop some years ago) which is designed for the transformation of mass data.

One part of the assignment is to extend the core functionality of the framework to fit the current requirements.

One of my other tasks was the creation of an Eclipse RCP application for the existing DSL (Domain Specific Language). Eclipse Plugins had been written using the XText framework to lift the weight of writing XML files from the authors of the business rules. They now get an updatable RCP application delivered to their machines which they use to write business rules in a domain specific and environmentally clean language. The application will then generate the XML for them.

Create and extend a Perl based test framework. A complex framework allows quick creation of new test scenarios that will be executed in a distributed manner on Unix machines. I also extended a number of test tools that were developed as Eclipse RCP applications using the Eclipse EMF framework.

Design and development of a high performance data extraction application. The application would read data from multiple Oracle schemas, aggregates it and distributes it into multiple files and other databases. The application needs to process millions of records in just a few hours. This level of performance was only possible with careful design and multi threading.

We developed a fairly complex application that would generate invoices using LaTeX and send them - optionally signed and encrypted - by email to the customer. The application was designed to run in multiple processes, possibly distributed across multiple machines. The distributed C++ components used Corba to communicate. Data was stored in a Oracle database. There also was a self service website written Java and servlet (yuck) technology.

Recommendations

  • Projekt C++ und Java-Programmierung, 07/98 - 03/02

    Der Consultant kennt sich gut mit C++ und Java aus, er arbeitet souverän mit den Konzepten objektorientierter Programmierung. Alle Arbeiten wurden zu unserer vollsten Zufriedenheit termingerecht fertiggestellt. Über die konkrete Programmieraufgabe hinaus bewies der Consultant im Rahmen seiner Tätigkeit ein hohes Engagement. Durch ihn wurden Fehler und Verbesserungspotentiale in Anforderungen und Umsetzung aufgezeigt. Er unterstützte seine Kollegen auch über seinen Aufgabenbereich hinaus. Die Zusammenarbeit war sehr angenehm, der Consultant war eine Bereicherung für das Projektteam. Ich würde sehr gern wieder mit dem Consultant zusammenarbeiten.

    Projektleiter, T-Systems, Jan 2005
  • Projekt Verschiedene Projekte im Bereich C++ und Java, 11/96 - 01/05

    Der Freiberufler verfügt über ein sehr breites Spektrum technologischen Wissens. Als Architekt und Entwickler arbeitete er souverän mit den Konzepten objektorientierter Programmierung. Alle Arbeiten wurden zu unserer vollsten Zufriedenheit termingerecht fertiggestellt. Über die konkrete Programmieraufgabe hinaus bewies er im Rahmen seiner Tätigkeit ein sehr hohes Engagement. Durch ihn wurden Fehler und Verbesserungspotentiale in Anforderungen und Umsetzung aufgezeigt. Er unterstützte seine Kollegen auch über seinen Aufgabenbereich hinaus. Die Zusammenarbeit war sehr angenehm. Er war eine Bereicherung für das Projektteam.

    Project Center Team Leiter, T-Systems GEI GmbH, Feb 2005