diff --git a/.gitmodules b/.gitmodules index 726d8c4..179cb0c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ [submodule "themes/hello-friend-ng"] path = themes/hello-friend-ng url = https://github.com/rhazdon/hugo-theme-hello-friend-ng.git -[submodule "resume/altacv"] - path = resume/altacv - url = https://github.com/liantze/AltaCV.git diff --git a/Makefile b/Makefile index 3b4d26d..c91850c 100644 --- a/Makefile +++ b/Makefile @@ -1,50 +1,45 @@ -.PHONY: build_hugo build_static run docker_cv_build +.PHONY: build_hugo run docker_cv_build .DEFAULT_GOAL := build STATIC_DIR := static + + +# +# Resume +# + +YAMLRESUME_IMAGE := ghcr.io/yamlresume/yamlresume:v0.5.1 RESUME_DIR := resume -RESUME_DIR_ABS := $(abspath $(RESUME_DIR)) -RESUME_OUT_PATH := $(RESUME_DIR)/out/cv.pdf -RESUME_OUT_STATIC_PATH := $(STATIC_DIR)/cv.pdf -PORTRAIT_OUT_PATH := $(RESUME_DIR)/me.jpeg -PORTRAIT_OUT_STATIC_PATH := $(STATIC_DIR)/me.jpeg -TEX_IMAGE_NAME := registry.gitlab.com/islandoftex/images/texlive:latest - -docker_cv_build: - @echo "Building resume with docker" +RESUME_OUT_DIR := $(RESUME_DIR)/out +RESUME_SRC := $(RESUME_DIR)/cv.yml +RESUME_PDF := $(RESUME_OUT_DIR)/cv.pdf +RESUME_STATIC_PDF := $(STATIC_DIR)/cv.pdf + +$(RESUME_PDF): $(RESUME_SRC) + @echo "Building resume" @docker run \ --rm \ - --workdir="/app" \ --network=none \ + --workdir="/app/out" \ -u "0:0" \ - -v "$(RESUME_DIR_ABS):/app" \ - $(TEX_IMAGE_NAME) \ - pdflatex -halt-on-error -output-directory=out -output-format=pdf -recorder cv.tex - -$(RESUME_OUT_PATH): $(RESUME_DIR)/cv.tex $(PORTRAIT_OUT_PATH) - @echo "Building resume" - @rm -rf $(RESUME_DIR)/out - @mkdir -p $(RESUME_DIR)/out - @$(MAKE) docker_cv_build - @$(MAKE) docker_cv_build - - -$(RESUME_OUT_STATIC_PATH): $(RESUME_OUT_PATH) - @echo "Copying resume to static" - @cp $(RESUME_OUT_PATH) $(RESUME_OUT_STATIC_PATH) + -v "$(abspath $(RESUME_DIR)):/app" \ + $(YAMLRESUME_IMAGE) \ + build ../cv.yml -$(PORTRAIT_OUT_STATIC_PATH): $(PORTRAIT_OUT_PATH) - @echo "Copying portrait to static" - @cp $(PORTRAIT_OUT_PATH) $(PORTRAIT_OUT_STATIC_PATH) +$(RESUME_STATIC_PDF): $(RESUME_PDF) + @cp $(RESUME_PDF) $(RESUME_STATIC_PDF) +# +# End Resume +# -build_static: $(RESUME_OUT_STATIC_PATH) $(PORTRAIT_OUT_STATIC_PATH) +build_static: $(RESUME_STATIC_PDF) build_hugo: build_static @echo "Building hugo" - hugo --gc --minify $(if $(BASE_URL),--baseURL $(BASE_URL),) + @hugo --gc --minify $(if $(BASE_URL),--baseURL $(BASE_URL),) -build: build_static build_hugo +build: build_hugo run: build_static @echo "Running hugo" diff --git a/resume/.gitignore b/resume/.gitignore index 981aeb8..45bd60d 100644 --- a/resume/.gitignore +++ b/resume/.gitignore @@ -1 +1,3 @@ -/out \ No newline at end of file +/.cache +/out +/cv.tex \ No newline at end of file diff --git a/resume/altacv b/resume/altacv deleted file mode 160000 index cd1e96a..0000000 --- a/resume/altacv +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cd1e96aa63b49c0c7fb03724e0673d260c99ab41 diff --git a/resume/cv.yml b/resume/cv.yml new file mode 100644 index 0000000..ffc1118 --- /dev/null +++ b/resume/cv.yml @@ -0,0 +1,215 @@ +# yaml-language-server: $schema=https://yamlresume.dev/schema.json +--- +content: + basics: + name: Morteza Pourkazemi + headline: Software Engineer + phone: "+49 178 803 1485" + email: mortzprk@protonmail.com + url: https://mortz.dev + # - bold, (e.g, `**bold**`) + # - italic, (e.g, `*italic*`) + # - ordered list, unordored list and nested sub list + # - links (e.g. `[link](https://ppresume.com)`) + summary: | + - Senior Software Engineer with extensive experience in backend development and team management + - Expert in multiple programming languages including Go, Python, TypeScript, and Java + - Experienced with cloud technologies, microservices, and high-performance systems + - Strong background in DevOps practices and CI/CD pipeline implementation + location: + address: Zimmerstraße 94 + city: Berlin + region: Berlin + country: Germany + postalCode: ___ + profiles: + - network: GitHub + url: https://github.com/mortezaPRK/ + username: mortezaPRK + - network: LinkedIn + url: https://linkedin.com/in/mortzprk/ + username: mortzprk + education: + - institution: University of Tehran + url: https://ut.ac.ir/ + degree: Bachelor + area: Physics + work: + - name: HelloFresh SE + url: https://hellofresh.com + startDate: Nov 1, 2022 + endDate: + position: Senior Software Engineer + summary: | + - Manage and organize Backend team + keywords: + - Team Management + - Backend Development + - Leadership + - name: TDD + url: https://tdd.ir + startDate: Feb 1, 2022 + endDate: Oct 1, 2022 + position: Lead Software Engineer + summary: | + - Led the merging of multiple microservices into a Monolith, cutting development time and improving efficiency + - Upgraded services in Typescript and Golang to improve performance, stability and maintainability + - Introduced CI/CD pipelines with Bitbucket, ensuring thorough testing and smooth delivery of features and bug fixes + - Integrated with third-party tools like Stripe, Firebase, HubSpot and Slack, enhancing system functionality and capabilities + keywords: + - Microservices + - Monolith + - TypeScript + - Golang + - CI/CD + - Bitbucket + - Stripe + - Firebase + - HubSpot + - Slack + - name: CafeBazaar + url: https://cafebazaar.ir + startDate: Aug 1, 2020 + endDate: Mar 1, 2022 + position: Senior Software Engineer + summary: | + - Develop and Maintain multiple RTB services using Golang and Python (Django) + - Reduce resource consumption to handle more requests + - Maintaining services to handle thousands of requests/second. (K8s) + - Create data pipelines to store/process data more frequently (Yarn, HDFS, Kafka) + keywords: + - RTB + - Golang + - Python + - Django + - Kubernetes + - HDFS + - Kafka + - Data Pipelines + - name: Cosmopolis + url: https://cosmopolis.com + startDate: Mar 1, 2020 + endDate: Sep 1, 2020 + position: Software Engineer + summary: | + - Create a medical web applications. (Django) + - Test/Deploy web services automatically, using Gitlab CI/CD (Amazon EKS) + - Add third-party integration (Stripe, Amazon SES, Firebase) + keywords: + - Django + - Medical Applications + - GitLab CI/CD + - Amazon EKS + - Stripe + - Amazon SES + - Firebase + - name: Develoop + url: https://develoop.ir + startDate: Nov 1, 2019 + endDate: Apr 1, 2020 + position: Software Engineer, Co-Founder + summary: | + - Manage the development of projects and developers + - Refactor legacy projects and creating CI/CD workflows + keywords: + - Project Management + - Legacy Refactoring + - CI/CD + - name: AppTech + url: https://apptech.ir + startDate: Apr 1, 2019 + endDate: Nov 1, 2020 + position: Software Engineer + summary: | + - Develop and Maintain multiple web applications using Django and React + - Create CI/CD pipelines to automate testing and deployment + - Integrate third-party services like Stripe and Firebase + keywords: [] + - name: Raypo + url: https://raypo.ir + startDate: Jul 1, 2017 + endDate: Mar 1, 2020 + position: Software Engineer + summary: | + - Develop and Maintain multiple web applications using Django and React + - Create CI/CD pipelines to automate testing and deployment + - Integrate third-party services like Stripe and Firebase + keywords: [] + languages: + - language: English + fluency: Full Professional Proficiency + keywords: [] + - language: German + fluency: Elementary Proficiency + keywords: [] + skills: + - name: Programming Languages + level: Expert + keywords: + - Go + - Python + - TypeScript + - Java + - Kotlin + - name: DevOps & Infrastructure + level: Advanced + keywords: + - Docker + - Kubernetes + - Gitlab CI/CD + - Terraform + - Helm + - Prometheus + - name: Databases & Data + level: Advanced + keywords: + - PostgreSQL + - Redis + - Elastic Search + - Kafka + - YARN + - name: Frameworks & Libraries + level: Expert + keywords: + - Django + - FastAPI + - NestJS + - TypeORM + - SQLAlchemy + - Jest + - Sentry + - name: Protocols & Architecture + level: Advanced + keywords: + - GRPC + - REST APIs + - Microservices + awards: [] + certificates: [] + publications: [] + references: [] + projects: [] + interests: + - name: Sports + keywords: + - Basketball + - name: Games + keywords: + - Board Games + volunteer: [] + +layout: + locale: + language: en + margins: + top: 2.5cm + left: 1.5cm + right: 1.5cm + bottom: 2.5cm + page: + showPageNumbers: true + # template: moderncv-banking + # template: moderncv-casual + template: moderncv-classic + typography: + fontSize: 11pt diff --git a/resume/me.jpeg b/resume/me.jpeg deleted file mode 100644 index 49c4c23..0000000 Binary files a/resume/me.jpeg and /dev/null differ diff --git a/resume/cv.tex b/resume/old.tex similarity index 100% rename from resume/cv.tex rename to resume/old.tex