From f89786eab7fda0371f25db0ac5f22c40bbdb980e Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Thu, 14 Jan 2021 13:13:48 +0100 Subject: [PATCH] CV: Update --- .../cv-curriculum-vitae.tex | 128 +++++++++--------- 1 file changed, 63 insertions(+), 65 deletions(-) diff --git a/documents/cv-curriculum-vitae/cv-curriculum-vitae.tex b/documents/cv-curriculum-vitae/cv-curriculum-vitae.tex index e9b814e..0796c12 100644 --- a/documents/cv-curriculum-vitae/cv-curriculum-vitae.tex +++ b/documents/cv-curriculum-vitae/cv-curriculum-vitae.tex @@ -103,16 +103,15 @@ {\raggedleft\textsc{2017}\par} -{\raggedright\large IT Consultant\\ -\textit{Working for Netlight Consulting GmbH}\\[5pt]} +{\raggedright\large IT Consultant for Netlight Consulting GmbH\\ +\textit{Building ML applications and Data Science tasks}\\[5pt]} -\normalsize{Building ML applications and other Data Science work; Interviewing. -A lot of Python, sklearn / NumPy / \href{https://arxiv.org/pdf/1907.10121.pdf}{SciPy}, Keras (Tensorflow backend), XGBoost, +\normalsize{I've built a dynamic pricing system using reinforcement learning, a recommendation engine at a video streaming service, helped to build and establish a local and offshore data science team at an SDAX company. The analytical tasks involved A/B tests, churn analysis, fraud prediction.\\ +My work typically was done with Python, sklearn / NumPy / \href{https://arxiv.org/pdf/1907.10121.pdf}{SciPy}, Keras (Tensorflow backend), XGBoost, Jupyter Notebooks, Pandas, pytest, Flask and nginx. Usually in teams using Scrum or Kanban and Jira / Confluence. Often Packaging, Docker, AWS S3, ECR / -ECS, DynamoDB, Cloudwatch. Sometimes MySQL or SQLite. Of course, using git. -Occassionally, Kafka, GraphQL, building REST APIs and Selenium were involved. -Security topics (AppSec, SDLC, SCA, SAST, DAST, threat modeling)}\\ +ECS, DynamoDB, Cloudwatch. Sometimes MySQL, PostgreSQL, or SQLite. Of course, using git. +Occassionally, Kafka, GraphQL, building REST APIs and Selenium were involved. Recently, I worked on security topics (AppSec, SDLC, SCA, SAST, DAST, threat modeling).}\\ %---------------------------------------------------------------------------------------- % WORK EXPERIENCE -0- @@ -120,7 +119,7 @@ Security topics (AppSec, SDLC, SCA, SAST, DAST, threat modeling)}\\ {\raggedleft\textsc{2014}\par} {\raggedright\large Student research assistant\\ -\textit{developing neural nets for on-line handwriting recognition}\\[5pt]} +\textit{Developing neural nets for handwriting recognition}\\[5pt]} \normalsize{My bachelors thesis includes getting on-line data of handwritten mathematical symbols, preprocessing, extracting features and using neural nets @@ -132,7 +131,7 @@ to classify those symbols. The data was collected with \href{http://write-math.c {\raggedleft\textsc{2013}\par} {\raggedright\large Software Developer\\ -\textit{improving KIT lecture translator}\\[5pt]} +\textit{Building a continuous learning architecture for KIT lecture translator}\\[5pt]} \normalsize{I've implemented and integrated an unsupervised acoustic model training framework into KIT lecture translator system for automatic model adaption.}\\ @@ -144,7 +143,7 @@ to classify those symbols. The data was collected with \href{http://write-math.c {\raggedright\large Scientific lector\\ \textit{\LaTeX{}, German and computer science}\\[5pt]} -\normalsize{I've corrected a script for computer engineering.}\\ +\normalsize{I've corrected and improved a script for computer engineering.}\\ %---------------------------------------------------------------------------------------- % WORK EXPERIENCE -0- @@ -152,7 +151,7 @@ to classify those symbols. The data was collected with \href{http://write-math.c {\raggedleft\textsc{2012}\par} {\raggedright\large Tutor for programming\\ -\textit{teaching students programming at university}\\[5pt]} +\textit{Teaching students programming at university}\\[5pt]} \normalsize{I taught people about 30 students how to program in Java. Coding conventions and basic OOP was part of the course. All of my German presentations are online.}\hfill \href{http://martin-thoma.com/programmieren-tutorium/#Folien}{$\rightarrow$ presentations}\\ @@ -163,28 +162,12 @@ Coding conventions and basic OOP was part of the course. All of my German presen {\raggedleft\textsc{2011}\par} {\raggedright\large Freelancer at KTC\\ -\textit{programming for a consulting company}\\[5pt]} +\textit{Programming for a consulting company}\\[5pt]} -\normalsize{At KTC, I gained first experiences with buisness-logic -and a big, but algorithmically not challenging project. To be honest, -I only fixed some Java bugs.}\\ +\normalsize{At KTC, I gained first experiences with a business rule engine +and a big, but algorithmically not challenging project. It was my first contact +with Consulting and Java, working for DAX companies.}\\ -%---------------------------------------------------------------------------------------- -% WORK EXPERIENCE -4- - -%{\raggedleft\textsc{2010}\par} - -%{\raggedright\large Compulsory community service\\ -%\textit{District Office Augsburg}\\[5pt]} - -%\normalsize{I have worked in the district office of Augsburg in my -%as compulsory community service. I had the task to controll nature -%conservation conditions. To do so, I had to use a geographic -%information system (which could definitely be improved).}\\ - -%---------------------------------------------------------------------------------------- - -%---------------------------------------------------------------------------------------- \end{minipage} % End left-hand side of the page \hfill @@ -217,8 +200,7 @@ I only fixed some Java bugs.}\\ %---------------------------------------------------------------------------------------- % EDUCATION -1- -2014 -- 2017 & \textbf{Master of Science} \\ -& \textsc{Computer Science} \\ +2014 -- 2017 & \textbf{Master of Science} (\textsc{Computer Science})\\ & Thesis about {\textbf{\color{headings}Analysis and Optimization}}\\ & {\textbf{\color{headings}of Convolutional Neural Network}}\\ & {\textbf{\color{headings}Architectures}} (\textbf{\href{https://arxiv.org/abs/1707.09725}{Link}})\\ @@ -228,22 +210,13 @@ I only fixed some Java bugs.}\\ %---------------------------------------------------------------------------------------- % EDUCATION -2- -2011 -- 2014 & \textbf{Bachelor of Science} \\ -& \textsc{Computer Science} \\ +2011 -- 2014 & \textbf{Bachelor of Science} (\textsc{Computer Science})\\ & \textit{Karlsruhe Institute of Technology} (KIT)\\ & \textit{Carnegie Mellon University} (CMU)\\ & Thesis about {\textbf{\color{headings}On-line Recognition of}}\\ & {\textbf{\color{headings}Handwritten Mathematical Symbols}} (\textbf{\href{http://martin-thoma.com/write-math/}{Link}})\\ &\\ -%---------------------------------------------------------------------------------------- -% EDUCATION -3- - -2004 -- 2010 & \textbf{Abitur}\\ -& \textsc{Intensive course physics and mathematics} \\ -& \textit{Paul-Klee-Gymnasium Gersthofen}\\ -&\\ - %---------------------------------------------------------------------------------------- \end{tabular}\\[10pt] @@ -255,6 +228,11 @@ I only fixed some Java bugs.}\\ \section{Awards} \begin{tabular}{rl} +2013 & \textbf{German Academic Scholarship Foundation}\\ +& \textit{Permanent Membership was granted}\\ \\ + +%---------------------------------------------------------------------------------------- + 2010 & \textbf{Winner Bundeswettbewerb Informatik}\\ & \textit{Federal Competition for Computer Science}\\ \\ @@ -286,12 +264,12 @@ I only fixed some Java bugs.}\\ & AWS (S3, EC2, ECR / ECS, Lambda, \\ & Sagemaker), \textsc{PHP}, GraphQL\\ \\ \textbf{Intermediate} & \LaTeX, \textsc{Java}, \textsc{HTML}, \textsc{CSS}, SQLAlchemy\\ - & \href{https://martin-thoma.com/docker/}{Docker}, git, \href{https://levelup.gitconnected.com/ci-pipelines-for-python-projects-9ac2830d2e38}{CI/CD pipelines}, \href{https://martin-thoma.com/rest/}{REST}\\ \\ + & \href{https://martin-thoma.com/docker/}{Docker}, git, \href{https://levelup.gitconnected.com/ci-pipelines-for-python-projects-9ac2830d2e38}{CI/CD pipelines}\\ \\ \textbf{Expert} & \textsc{\href{https://stackoverflow.com/help/badges/51/python?userid=562769}{Python} and it's eco-system}, including\\ & packaging, \href{https://medium.com/swlh/unit-testing-in-python-basics-21a9a57418a0}{pytest}, \href{https://towardsdatascience.com/pre-commit-hooks-you-must-know-ff247f5feb7e}{pre-commit}, \href{https://medium.com/analytics-vidhya/how-to-test-flask-applications-aef12ae5181c}{Flask},\\ & Numpy, \href{https://arxiv.org/pdf/1907.10121.pdf}{SciPy}, Pandas, Jupyter, OOP, \\ % & Functional Programming, Pydantic, \\ - & \href{https://medium.com/analytics-vidhya/type-annotations-in-python-3-8-3b401384403d}{Type Annotations}, Pypika, \dots\\ \\ + & \href{https://medium.com/analytics-vidhya/type-annotations-in-python-3-8-3b401384403d}{Type Annotations}, Pypika, \href{https://martin-thoma.com/rest/}{REST}, \dots\\ \\ \end{tabular} %---------------------------------------------------------------------------------------- @@ -331,21 +309,19 @@ I only fixed some Java bugs.}\\ {\raggedright\large Student research assistant at \textsc{ Institute of Toxicology and Genetics}, KIT\\ \textit{participating in a university research project}\\[5pt]} -\normalsize{In summer 2011 I worked for over a month for a +\normalsize{In summer 2011 I worked on a research project at KIT. I have written bash scripts for file -conversions, fixed some bugs and re-written a slow Mathematica script -in a much faster Python version. But it quickly turned out that -this project had a lot of C++ source which was rarely commented or -documented. I realized, that I wouldn't have time for this project -after beginning my studies at university.}\\ +conversions and re-written a slow Mathematica script +in a much faster Python version. It was my first contact with big data, +clustering algorithms, data centers using Hadoop, C++, VTK, cmake}\\ %---------------------------------------------------------------------------------------- % WORK EXPERIENCE -3- {\raggedleft\textsc{since 2011}\par} -{\raggedright\large Freelance Work\\ -\textit{building an online service}\\[5pt]} +{\raggedright\large Building my own Startup\\ +\textit{MATHOS - a calendar app for schools}\\[5pt]} \normalsize{I have started to work as a freelancer at the beginning of 2011. I have developed an online-service which helped @@ -354,31 +330,47 @@ two schools in bavaria and three other schools were interested. Unfortunately, the ministry of education of Bavaria released an application with similar functionality in 2012. This was the reason why I decided to shut down my service.}\\ + %---------------------------------------------------------------------------------------- +% WORK EXPERIENCE -3- + +{\raggedleft\textsc{2010}\par} + +{\raggedright\large Thesis about the RSA cryptosystem\\ +\textit{Explaining the foundations of asymmetric cryptography}\\[5pt]} + +\normalsize{Understanding asymmetric cryptograph with the RSA algorithm was the +first time I went down the rabbithole of university-level mathematics. I could +combine my enthusiasm for computer science, algorithms and mathematics in this +first academic work.}\hfill \href{http://www.martin-thoma.de/Facharbeit-Martin-Thoma-2.pdf}{$\rightarrow$ read more}\\ +%---------------------------------------------------------------------------------------- + {\raggedleft\textsc{since 2006}\par} -{\raggedright\large HackIts, Puzzles and Challenges\\ -\textit{ProjectEuler, bright-shadows.net and many more}\\[5pt]} +{\raggedright\large Algorithm Engineering and Ethical Hacking\\ +\textit{ProjectEuler and many more}\\[5pt]} \normalsize{I like solving logical, algorithmical or math -puzzles and participated in competitions. I started to solve puzzles -in 2006 and I still like them. This was the reason why I participated -in a practical curse at KIT for preparation for ICPC. It was fun, -but I found out that many people are much faster in producing C++ -code that passed the tests than I am. -However, as I've been very successfull at the Federal Competition for -Computer Science (``Bundeswettbewerb Informatik'') it seems as if I'm -better in problem solving if I get more time to think about it.}\\ +puzzles and participated in competitions. It started with trying to break into +systems where the creators purposely left a security hole such as a possible +SQL injection. From those HackIt's, I continued to solve programming and +algorithm engineering puzzles in 2006 and I still like them. This was the +reason why I participated in a practical curse at KIT for preparation for ICPC. +It was fun, but I found out that many people are much faster in producing C++ +code that passed the tests than I am. However, as I've been very successfull at +the Federal Competition for Computer Science (``Bundeswettbewerb Informatik'') +it seems as if I'm better in problem solving if I get more time to think about +it.}\\ %---------------------------------------------------------------------------------------- \section{About me} I love learning new stuff and giving that knowledge to others, often in the form of blog posts. Besides my studies, I have built a machine learning -students group called \textit{Machine Learning Karlsruhe} (ml-ka.de). In this +students group called \textit{Machine Learning Karlsruhe}. In this group we organized regular \enquote{Paper Discussion Groups} in which we talked about papers about convolutional networks.\\ -Besides that, I love playing board games and bouldering. +Besides that, I like to play board games, to go hiking, bouldering, and climbing. \end{minipage} % End left-hand side of the page \hfill @@ -392,7 +384,13 @@ Besides that, I love playing board games and bouldering. \section{Projects} + + \begin{tabular}{rl} +%---------------------------------------------------------------------------------------- +09/2020 & \textbf{Flake8-simplify}\\ +& \textit{Automatic code simplification}\hfill \href{https://github.com/MartinThoma/flake8-simplify}{$\rightarrow$ read more}\\ \\ + %---------------------------------------------------------------------------------------- 02/2016 & \textbf{The WiLI benchmark dataset}\\ & \textit{written language identification}\hfill \href{https://arxiv.org/abs/1801.07779}{$\rightarrow$ read more}\\ \\