diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b2c5e70 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,10 @@ +# Ignore the generated PDF file +CV.pdf + +# Ignore git files +.git +.gitignore + +# Ignore any other files that aren't needed for PDF generation +*.log +.DS_Store diff --git a/CV.md b/CV.md index 0508633..3d9b786 100644 --- a/CV.md +++ b/CV.md @@ -1,8 +1,9 @@ # Karli Udso -Location: Pärnu, Estonia +Location: Tallinn, Estonia E-mail: [karli@supa.ee](mailto:karli@supa.ee) Open to work: Full Stack Software Engineer, Senior Frontend Software Engineer. +Preference: hybrid/remote --- @@ -20,15 +21,21 @@ For me it's key to deeply understand the subject, whether it's business, code, o ### Full Stack Developer at Mountbirch **Mountbirch OÜ** - Tallinn, Estonia -*Jan 2019 - Present (>5 years)* +*Jan 2019 - Present (>6 years)* - Frontend + backend + devops + mobile apps - Many different projects - - **Eesti Energia AS** - developing an array of internal and customer-facing platforms for the Estonian national energy company - - **Holm Bank AS** - developing all sorts of different things; both internal and external platforms, mobile apps, digital signatures with smart cards/integration platforms - - **Confido** - developing a new solution for remote doctor consultations and self-service - - **Ragn Sells AS** - developing for internal platforms to streamline operations - - more smaller projects with various specialties + - **Eesti Energia AS** - developing an array of internal and customer-facing platforms for the Estonian national energy company. long-term (1 year). + - **Holm Bank AS** - developing all sorts of different things. both internal and external platforms, mobile apps, digital signatures with smart cards/integration platforms. long-term (1+ year) + - **Confido** - developing a new solution for remote doctor consultations and self-service. short-term (~4 months) to set up everything for juniors/mids to continue off. + - **Ragn Sells AS** - developing for internal platforms to streamline operations. long-term (1+ year) + - **Telema** - developing backoffice for business software. managing invoices, accounting. long-term (1+ year) + - **JuttAI** - short-term (~3 months) early startup development. management software for sales/hiring/etc leads + - **Soundfr** - short-term (~6 months) early startup development. react-native mobile app with ML model for detecting different sound types for people with disabilities, accompanied with hardware. + - **SensusQ** - military sector project. developing new modules for their main product. partnered with Nortal and joined team with 1 person from Nortal. learned golang from 0, know it well now and afterwards I've used it in several of my own projects. + - **Lehepunkt** - print media. developing backoffice+client portal + - **Medreport** - short-term (~6 months) early startup development. developing B2B/B2C platform for B2C customers to order medical services from different providers, and for B2B customers to be able to offer their employees ~35€ a month as a fringe benefit to be used for the services. + - some other smaller projects with various specialties - Often helping and teaching interns or junior developers ### Full Stack Developer at Estonian Defense Forces @@ -44,7 +51,7 @@ For me it's key to deeply understand the subject, whether it's business, code, o **Freelance Development** - Estonia *2016 - Present (>8 years)* -- Developing short-term projects as freelancer; either personal interest projects or contractual freelance +- Developing short-term projects as freelancer, either personal interest projects or contractual freelance - Example: **OÜ Pigipada** developing a platform to manage road surfacing work - Developing for two start-up attempts with friends @@ -61,9 +68,12 @@ For me it's key to deeply understand the subject, whether it's business, code, o - Databases - mongoDB, redis, mariaDB/MySQL, postgreSQL, any - Frontend - - html5, css, scss/sass, javascript, typescript, react.js, react-router, next.js, vue.js, vanilla javascript, jquery + - Basics + - html5, css/scss/sass, vanilla javascript, jquery + - Modern + - typescript, react.js (good grasp of the ecosystem; react-router, react-query, etc), next.js, vue.js, zod/yup - Backend - - spring, java, typeorm, tsoa, nodejs, typescript, thymeleaf, liquibase/flyway, kafka, rabbitmq, spark + - spring, java, typeorm, tsoa, nodejs, typescript, thymeleaf, liquibase/flyway, kafka, rabbitmq, spark, golang, graphql (FE+BE) - Frontend testing - cypress, detox, mocha, jest, puppeteer - Backend testing @@ -86,7 +96,7 @@ For me it's key to deeply understand the subject, whether it's business, code, o Bachelor's degree, Information Technology *2016 - 2019* -- Not completed due to full-time work +- Not finished due to full-time work, ~85%. Course programme itself was too basic and did not seem beneficial. ### Pärnu Koidula Gümnaasium @@ -99,9 +109,8 @@ High School Diploma - English (Native or bilingual proficiency) - Estonian (Native or bilingual proficiency) +- Italian (Elementary+ proficiency) - Spanish (Elementary proficiency) -- Italian (Elementary proficiency) -- Russian (Elementary proficiency) - Finnish (Elementary proficiency) --- @@ -114,9 +123,9 @@ High School Diploma - Motorsports, cars, motorcycles, mechanical works - Travel and new environments - Movies, music, arts -- PC gaming +- PC gaming sometimes (CS, sim racing) - Sports; tennis, running, bicycling --- -01/04/2024 +01/09/2025 diff --git a/CV.pdf b/CV.pdf index 6af1e57..fd8a64e 100644 Binary files a/CV.pdf and b/CV.pdf differ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..635d25e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM alpine:latest + +RUN apk add --no-cache \ + pandoc \ + groff \ + ghostscript \ + bash + +WORKDIR /app + +COPY create-pdf.sh ./ +RUN chmod +x create-pdf.sh + +COPY CV.md ./ + +CMD ["./create-pdf.sh"] diff --git a/create-pdf.sh b/create-pdf.sh index 4dca370..5868b27 100755 --- a/create-pdf.sh +++ b/create-pdf.sh @@ -3,4 +3,4 @@ pandoc \ --pdf-engine=pdfroff \ --toc-depth=1 \ - CV.md -o CV.pdf + CV.md -o ./output/CV.pdf diff --git a/docker.sh b/docker.sh new file mode 100755 index 0000000..6ec5a6c --- /dev/null +++ b/docker.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +docker build -t cv-generator . + +docker run --rm -v $(pwd):/app/output cv-generator