From e77fa7b6da9b39774701df78e0685ee8dcae5ecf Mon Sep 17 00:00:00 2001 From: Mahdi Hoseini Date: Mon, 1 Sep 2025 04:40:17 -0700 Subject: [PATCH] feat(resume): update tech stack --- Makefile | 5 ++++- awesome-cv.cls | 18 ++++++++++-------- src/resume/skills.tex | 20 +++++++++----------- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index 3ab0c64..2cfc258 100644 --- a/Makefile +++ b/Makefile @@ -19,4 +19,7 @@ coverletter.pdf: $(SRC_DIR)/coverletter.tex $(CC) -output-directory=$(SRC_DIR) $< clean: - rm -rf $(SRC_DIR)/*.pdf $(SRC_DIR)/*.xdv $(SRC_DIR)/*.fdb_latexmk $(SRC_DIR)/*.fls $(SRC_DIR)/*.synctex.gz *.fls + rm -rf $(SRC_DIR)/*.pdf $(SRC_DIR)/*.xdv $(SRC_DIR)/*.fdb_latexmk $(SRC_DIR)/*.fls $(SRC_DIR)/*.synctex.gz *.fls $(SRC_DIR)/*.aux + +clean-logs: + rm -rf $(SRC_DIR)/*.log diff --git a/awesome-cv.cls b/awesome-cv.cls index 2b5b219..ed325ec 100644 --- a/awesome-cv.cls +++ b/awesome-cv.cls @@ -747,16 +747,18 @@ } % Define an environment for cvskill +% Adjusted: widen label column so long headings fit one line; add small column gap. \newenvironment{cvskills}{% \vspace{\acvSectionContentTopSkip} - \vspace{-2.0mm} - \begin{center} - \setlength\tabcolsep{1ex} - \setlength{\extrarowheight}{0pt} - \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l L{\textwidth * \real{0.9}}} - }{% - \end{tabular*} - \end{center} + \vspace{-2.0mm}% keep compact vertical spacing + % Column setup + \setlength{\tabcolsep}{0.75ex}% horizontal gap between label and content + \setlength{\extrarowheight}{0pt} + \newlength{\cvskilllabelwidth} + \setlength{\cvskilllabelwidth}{4.3cm}% ensures 'Programming Languages' stays on one line + \begin{tabular*}{\textwidth}{@{}p{\cvskilllabelwidth} p{\dimexpr\textwidth-\cvskilllabelwidth-2\tabcolsep\relax}@{}}% +}{% + \end{tabular*}% } % Define a line of cv information(skill) % Usage: \cvskill{}{} diff --git a/src/resume/skills.tex b/src/resume/skills.tex index 3556c3f..70ce784 100644 --- a/src/resume/skills.tex +++ b/src/resume/skills.tex @@ -10,17 +10,15 @@ %--------------------------------------------------------- \begin{cvskills} - \cvskill{Programming Languages}{JavaScript, TypeScript} - \cvskill{Frontend}{React, Next.js, TailwindCSS} - \cvskill{Backend Frameworks}{Express.js, Nest.js} - \cvskill{Databases}{PostgreSQL, MySQL, MongoDB, Redis} - \cvskill{Web Technologies}{RESTful APIs, WebSockets, JSON, XML, OAuth2, JWT} - % \cvskill{Networking \& Protocols}{TCP/IP, HTTP, WebRTC, MQTT} - \cvskill{Cloud \& DevOps}{AWS (ECS, Lambda, RDS), Azure, Kubernetes, Docker, Terraform, CI/CD (Jenkins, GitHub Actions)} - % \cvskill{Messaging \& Event Streaming}{RabbitMQ, Apache Kafka, Apache Avro} - \cvskill{Testing \& Performance}{Testcontainers, JUnit, GoMock, JMeter, Load Testing} - % \cvskill{Security \& Compliance}{OAuth2, OpenAPI, GDPR, PCI DSS} - \cvskill{Methodologies}{Agile, Scrum, Kanban, TDD, BDD} + \cvskill{Programming Languages}{TypeScript, JavaScript} + \cvskill{Frontend}{React , Next.js , Tailwind CSS, DaisyUI, Headless UI/Radix, React-Hook-Form, React Query, Redux, Zod} + \cvskill{Backend \& APIs}{Node.js, Express.js, tRPC/REST, GraphQL, OAuth2/OIDC, JWT, Webhooks} + \cvskill{Identity \& Auth}{FireBase, Ory Kratos, Clerk, Resend, CSP/nonce hardening} + \cvskill{Databases \& Caching}{PostgreSQL, Redis, SQLite} + \cvskill{Testing \& Quality}{Jest, Playwright, Vitest, Testing Library, MSW, ESLint, Prettier, Husky, Lighthouse/Web Vitals} + \cvskill{Build \& Tooling}{Turborepo (pnpm workspaces), pnpm, SWC/TS, GitLab CI pipelines, artifact/static previews} + \cvskill{Cloud, Infra \& Ops}{Google Cloud, Kubernetes, Docker, Nginx} + \cvskill{Dev Process}{Agile/Scrum, Kanban, TDD, Trunk-based workflows, Performance-first UI} \end{cvskills} %---------------------------------------------------------