Tom Nick - Curriculum Vitae
I'm a developer by heart and love to create products. I spend a lot of time apart from my job to work on personal projects, many of which are already launched. I believe in self-improvement and always try to get better at my skills and learn new ones.
My nationality and mother tongue is german. I speak english in full professional proficiency. I'm born in Berlin on the 27th of June, 1992.
- Frontend Technologies
- React, Redux, MobX, three.js, Webpack, Lodash, react-static
- E2E using Nightwatch.js, Unit Tests using Jest, CI using Travis or Codeship
- Flask, Express, Postgres, Nginx, Ubuntu
- DevOps & Deployment
- Docker, AWS, Digital Ocean, Netlify
- Tracking and Analytics
- Prometheus & Telegraf & Graphana, Sentry, Google Analytics
Originally I worked for the holding company of the IGG, the KPV. As we mostly developed tools for them, we decided to switch contracts to officially work there.
- I'm Leading a team of four developers (myself included) creating an internal application. I'm overseeing the whole stack including the Backend, Frontend and DevOps. Tasks include managing workloads, organizing meetings, acting as the technology stakeholder and part time product owner. The technologies of the internal application are Rails & Postgres in the backend, Terraform & AWS for deployment and TypeScript/React/MobX in the frontend.
- Created a team manifest, which describes the team vision/mission, how we want to work, what's the process, who we want to work with, culture of criticism etc.
- Created a sophisticated presentation tool that is a mix between Adobe After Effects and conventional presentation software like Microsoft Powerpoint. The whole application runs in the browser and was developed for performance as the resulting presentations are the heart of the internally developed application. Remarkable features of this application are a complete animation engine including keyframes, animations, easings and lifetimes. A scene graph including groups and content layers supporting videos, images, text and 3d objects. The whole editing was in real time and the UI and UX allowed a productive workflow. Technologies I used were TypeScript, React, WebGl, three.js and MobX.
- Implemented a successful pitch for the ministry of environment. The project needed to be done in about 2 weeks, but needed to be good enough to win the pitch. As I was the only developer for this project, the most difficult part was to choose the correct technologies and implement everything basically on the first try, as there was no possibility to increase the timeframe. The pitch included scroll activated, custom created charts (with D3 and React and animated with MobX), a parallax header, a tooltip engine, statically rendered pages (Using react-static) and some more nice animations. The result can be found here. Use Chrome on Desktop for this, as mobile support was not part of the requirements.
When I joined KPV Lab, it was a newly formed team consisting of 5 developers.
- Co-created a WebGl based charting tool with a focus on storytelling. The clue was a timeline, which a non developer could use, to create data driven stories. The used technologies were TypeScript, React and Redux and WebGl.
- Envisioned and implemented an editing tool for slide based presentations. It was used as a tool for the internal creatives to create stories for the developed platform. The tool had several advanced features like a live-view that automatically updated, an advanced history feature and a complete visualization of the ongoing CSS transitions. Technologies were TypeScript, React and Redux.
- Build the internal website for the infographics group. We used GatsbyJS for this page.
- Build the complete Frontend Application which includes deciding on the technologies used, working closely with the stakeholders and of course major feature implementation. Technologies used are React, Redux, Immutable.js, D3 and Webpack.
- Co-created the sophisticated testing infrastructure. As every customer was worth a lot and the traffic was not that high we needed to make sure to not have a single bug. The testing stack included unit tests, E2E tests, constant error-observation, continues integration and E2E test observation. To make the E2E deterministic, we used docker containers to spin up the whole backend/frontend and test against a completely new backend. Used technologies were Jest, Nightwatch.js, Docker, Sentry and Codeship.
- Build a PDF reporting tool as a microservice, which was used to generate all monthly/quarterly reports for the customers. Complex charts and long tables were part of the reports. We used React & wkhtmltopdf (later switched to Puppeteer) as the main technologies. The reports were small in file size, despite including a lot of graphics.
- Created some open source libraries that are still in use in the application: redux-fetchers and german-tax-id-validator
- Created a newsletter tool used by marketing. We developed an internal tool, as other tools didn't allow fast newsletter creation, good enough branding and a resulting small html size. Interesting features were a live-view, making sure it works on every esoteric mail client and a small payload to prevent mail cutting in GMail. Technologies used were TypeScript, React and a NodeJS backend.
I started as the first hire and worked on the whole stack in the beginning. After the next hires came, I focused on frontend development, which I did exclusively until I left.
- Build the Frontend completely on my own, which included a realtime dashboard were users could see their store analytics.
- Migrated the Frontend from jQuery to AngularJs.
- Due to the need of custom charts, where libraries like nvd3 or c3 weren’t a good choice anymore, I wrote our own charting library using d3 with focus on interactivity, modularity and extensibility. I then used it to create a lot of interactive and animated charts (scatter, bar, line, heat-maps, pie, ...).
- Developed an interactive WebGl-drawer using three.js which was used internally used to mark regions in stores (42reports also did positioning of customers).
Technische Unversität Berlin
In university my focus revolved mostly around Machine Learning, AI,Robotics and Application Development.