From c7b283d0efe3a74193da8f12f4f065b2927883bd Mon Sep 17 00:00:00 2001 From: Karli Date: Mon, 15 Apr 2024 19:04:37 +0300 Subject: [PATCH] initial commit --- CV.md | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++ CV.pdf | Bin 0 -> 32241 bytes create-pdf.sh | 6 +++ index.html | 83 ++++++++++++++++++++++++++++++++++ 4 files changed, 211 insertions(+) create mode 100644 CV.md create mode 100644 CV.pdf create mode 100755 create-pdf.sh create mode 100644 index.html diff --git a/CV.md b/CV.md new file mode 100644 index 0000000..0508633 --- /dev/null +++ b/CV.md @@ -0,0 +1,122 @@ +# Karli Udso + +Location: Pärnu, Estonia +E-mail: [karli@supa.ee](mailto:karli@supa.ee) +Open to work: Full Stack Software Engineer, Senior Frontend Software Engineer. + +--- + +## Introduction + +I’m a dedicated and passionate full stack developer with more than 8 years of hands-on experience in the tech field. +My journey in software development has taken me from tinkering on freelance projects to playing a pivotal role in developing comprehensive solutions for leading companies. I love challenging environments that give me the opportunity to work on projects that not only solve problems but also make a significant impact. +My approach to software development is rooted in collaboration, continuous learning, and a keen eye for detail. I prioritize creating secure, performant solutions, emphasizing clean, minimal, and straightforward code. This ensures not only the functionality and reliability of the applications I develop but also their maintainability and scalability for the future. +For me it's key to deeply understand the subject, whether it's business, code, or hardware. Since a young age, I've been interested in computers, learning, and developing myself. + +--- + +## Experience + +### Full Stack Developer at Mountbirch + +**Mountbirch OÜ** - Tallinn, Estonia +*Jan 2019 - Present (>5 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 +- Often helping and teaching interns or junior developers + +### Full Stack Developer at Estonian Defense Forces + +**Estonian Defence Forces** - Estonia +*Oct 2019 - May 2020* + +- Developing internal solutions during mandatory conscription period +- Working with different types of radio hardware and developing critical solutions for efficient communication and location sharing + +### Full Stack Developer - freelance + +**Freelance Development** - Estonia +*2016 - Present (>8 years)* + +- 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 + +### Frontend Developer + +**ERPLY Retail Platform** - Tallinn, Estonia +*2018 - 2019 (1 year)* + +- Developing as a junior developer +- Developed solutions for point of sale, inventory management, and reporting systems, improving operations for POS and back office customers. + +## Skills + +- 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 +- Backend + - spring, java, typeorm, tsoa, nodejs, typescript, thymeleaf, liquibase/flyway, kafka, rabbitmq, spark +- Frontend testing + - cypress, detox, mocha, jest, puppeteer +- Backend testing + - mocha, jest, junit, testcontainers, assertj, mockito +- Devops + - linux, docker, jenkins, helm, kubernetes, aws +- Security + - owasp, jwt, oauth, apereo cas +- Miscellaneous + - php, wordpress +- General + - git + +--- + +## Education + +### TalTech – Tallinn University of Technology + +Bachelor's degree, Information Technology +*2016 - 2019* + +- Not completed due to full-time work + +### Pärnu Koidula Gümnaasium + +High School Diploma +*2013 - 2016* + +--- + +## Languages + +- English (Native or bilingual proficiency) +- Estonian (Native or bilingual proficiency) +- Spanish (Elementary proficiency) +- Italian (Elementary proficiency) +- Russian (Elementary proficiency) +- Finnish (Elementary proficiency) + +--- + +## Interests + +- Software development +- Tech innovation and new ideas +- Continuous learning and self-improvement +- Motorsports, cars, motorcycles, mechanical works +- Travel and new environments +- Movies, music, arts +- PC gaming +- Sports; tennis, running, bicycling + +--- + +01/04/2024 diff --git a/CV.pdf b/CV.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6af1e5710538fe020c0cf6d8b6c6c26c60aba678 GIT binary patch literal 32241 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 literal 0 HcmV?d00001 diff --git a/create-pdf.sh b/create-pdf.sh new file mode 100755 index 0000000..4dca370 --- /dev/null +++ b/create-pdf.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +pandoc \ + --pdf-engine=pdfroff \ + --toc-depth=1 \ + CV.md -o CV.pdf diff --git a/index.html b/index.html new file mode 100644 index 0000000..9842c1d --- /dev/null +++ b/index.html @@ -0,0 +1,83 @@ + +Software Developer at Mountbirch + +Estonia Contact info + + 500+ connections + + Open to work + + Full Stack Developer, Senior Frontend Developer, Frontend Developer, Full Stack Engineer and Frontend Engineer roles + + Show details + +ExperienceExperience + + Mountbirch logo + Full Stack DeveloperFull Stack Developer + Mountbirch OÜMountbirch OÜ Jan 2019 - Present · 5 yrs 4 mosJan 2019 - Present · 5 yrs 4 mos Tallinn, EstoniaTallinn, Estonia + Unit Testing, Git and +3 skills + Freelance Development logo + Full Stack DeveloperFull Stack Developer + Freelance DevelopmentFreelance Development 2016 - Present · 8 yrs 4 mos2016 - Present · 8 yrs 4 mos EstoniaEstonia + Working on personal projects and freelance work. Mostly including frontend, UI/UX solutions, service management operations.Working on personal projects and freelance work. Mostly including frontend, UI/UX solutions, service management operations. + Unit Testing, Git and +4 skills + Eesti Energia logo + Full Stack DeveloperFull Stack Developer + Eesti EnergiaEesti Energia Jan 2019 - Oct 2019 · 10 mosJan 2019 - Oct 2019 · 10 mos Tallinn, EstoniaTallinn, Estonia + Unit Testing, Git and +2 skills + ERPLY Retail Platform logo + Frontend DeveloperFrontend Developer + ERPLY Retail PlatformERPLY Retail Platform 2018 - 2019 · 1 yr2018 - 2019 · 1 yr Tallinn, EstoniaTallinn, Estonia + Working on point of sale, inventory management, reporting systems and building custom solutions for POS and back office customers.Working on point of sale, inventory management, reporting systems and building custom solutions for POS and back office customers. + Unit Testing, Git and +2 skills + Menta People logo + Adsense AffiliateAdsense Affiliate + Google Ads Google Ads 2012 - 2014 · 2 yrs2012 - 2014 · 2 yrs EstoniaEstonia + SEO, promotion, ad management and serving.SEO, promotion, ad management and serving. + +EducationEducation + + TalTech – Tallinn University of Technology logo + TalTech – Tallinn University of TechnologyTalTech – Tallinn University of Technology + Bachelor's degree, Information TechnologyBachelor's degree, Information Technology 2016 - 20202016 - 2020 + Git, Unit Testing and +3 skills + Pärnu Koidula GümnaasiumPärnu Koidula Gümnaasium + High SchoolHigh School 2013 - 20162013 - 2016 + +Show all 3 educations +SkillsSkills + + MongoDBMongoDB + Full Stack Developer at Freelance DevelopmentFull Stack Developer at Freelance Development + Tallinna TehnikaülikoolTallinna Tehnikaülikool + HTML5HTML5 + 4 experiences across Mountbirch OÜ and 3 other companies4 experiences across Mountbirch OÜ and 3 other companies + Tallinna TehnikaülikoolTallinna Tehnikaülikool + +Show all 50 skills +LanguagesLanguages + + EnglishEnglish + Native or bilingual proficiencyNative or bilingual proficiency + EstonianEstonian + Native or bilingual proficiencyNative or bilingual proficiency + +Show all 3 languages +InterestsInterests + + Eesti Energia logo + Eesti EnergiaEesti Energia + 16,603 followers16,603 followers + +Mountbirch logo +MountbirchMountbirch +616 followers616 followers + +Show all companies +CausesCauses +Science and TechnologyScience and Technology +Profile language + +English +Public profile & URL