12 Commits

Author SHA1 Message Date
Pedro Cabral
95998e0f68 added commit message 2026-07-17 15:56:43 +02:00
Pedro Cabral
1fd4071d45 auto build only run after save 2026-07-17 13:20:29 +02:00
Pedro Cabral
ca399ec592 removed self reference 2026-07-17 13:15:21 +02:00
Pedro Cabral
3e187326fa added other CV variants to README.md 2026-07-17 13:00:19 +02:00
Pedro Cabral
1579c0aca8 added script to propagate commits across CV branches 2026-07-17 12:50:09 +02:00
Pedro Cabral
5ddc2ead8e deleting auto-generated files, iff pdf was successfully rendered 2026-07-17 12:22:46 +02:00
Pedro Cabral
8feae90435 updated README.md 2026-07-17 11:59:19 +02:00
Pedro Cabral
279ae8d509 renamed files 2026-07-17 11:53:15 +02:00
Pedro Cabral
3c963ca5af merged gitignore files 2026-07-17 11:44:14 +02:00
Pedro Cabral
c1f0db6566 moved files to root directory 2026-07-17 11:43:52 +02:00
Pedro Cabral
c093c5ef0e removed awesome-cv type 2026-07-17 11:42:34 +02:00
Pedro Cabral
d62d696b20 removed article type 2026-07-17 11:42:04 +02:00
5 changed files with 106 additions and 61 deletions

5
.gitignore vendored
View File

@@ -1,13 +1,14 @@
# Ignore all files # Ignore all files
*.* *.*
# Whitelist # Whitelist
!.gitignore !.gitignore
!*.tex !*.tex
!*.pdf !*.pdf
!*.cls
!*.jpg !*.jpg
!*.md !*.md
!.vscode !.vscode/
!.vscode/** !.vscode/**
!build/*.* !build/*.*

Binary file not shown.

View File

@@ -1,75 +1,84 @@
\documentclass[11pt,a4paper]{article} \documentclass[11pt,a4paper,sans]{pedro-moderncv}
\usepackage[margin=1in]{geometry} \moderncvstyle{classic} % Style options: 'casual', 'classic', 'oldstyle', 'banking'
\usepackage{titlesec} \moderncvcolor{blue} % Color options: 'blue', 'orange', 'green', 'red', 'purple', 'grey', 'black'
\usepackage{enumitem}
\usepackage{parskip}
\usepackage{hyperref}
\usepackage{fontspec}
\usepackage{graphicx}
\setmainfont{Helvetica Neue} \usepackage[scale=0.75]{geometry}
\titleformat{\section}{\large\bfseries}{}{0em}{}[\titlerule] % Personal data
\titleformat{\subsection}{\normalsize\bfseries}{}{0em}{} \name{Pedro Miguel}{Pessoa Cabral}
\title{Curriculum Vitae}
\address{Rittmeisterkoppel 14C}{22359 Hamburg}{Germany}
\phone[mobile]{+49-(0)-17657-909188}
\email{pmpcabral@posteo.de}
\homepage{git.sueo.de/pcabral}
\social[]{} % Optional: GitHub, LinkedIn, etc.
\photo[3.5cm][0pt]{me_m_8x8_4x.jpg}
\pagestyle{empty} \hyphenation{interpersonal}
\linespread{1.05}
\begin{document} \begin{document}
\begin{center} \makecvtitle
\begin{minipage}{0.75\textwidth}
{\LARGE \textbf{Pedro Miguel Pessoa Cabral}}\\
\vspace{0.5em}
+49-(0)-17657-909188\\
\href{mailto:pmpcabral@gmail.com}{pmpcabral@gmail.com}\\
Rittmeisterkoppel 14-C, 22359 Hamburg
\end{minipage}%
\begin{minipage}{0.23\textwidth}
\includegraphics[width=\linewidth]{me_m_8x8_4x.jpg}
\end{minipage}
\end{center}
\begin{minipage}[t]{0.48\textwidth}
\section{Profile}
\cvitem{Date of Birth}{January 17\textsuperscript{th}, 1988}
\cvitem{Place of Birth}{Setúbal, Portugal}
\cvitem{Nationality}{Portuguese}
\end{minipage}\hfill
\begin{minipage}[t]{0.48\textwidth}
\section{Languages}
\cvitemwithcomment{Portuguese}{First Language}{}
\cvitemwithcomment{German}{Fluent}{}
\cvitemwithcomment{English}{Fluent}{}
\cvitemwithcomment{Spanish}{Good}{}
\cvitemwithcomment{French}{Basic}{}
\end{minipage}\hfill
\vspace{1em} \section{Experience}
\cventry{Apr 2025 -- Present}{Professional Sabbatical}{}{}{}{
Dedicated time to personal development and family life following an intensive period in my career. Used this
opportunity to recharge, reassess long-term goals, and return with renewed focus and motivation for software
engineering.
}
\cventry{Jun 2021 -- Apr 2025}{Software Developer}{For Sale Digital Internet-Agentur GmbH}{Hamburg, Germany}{}{
PHP (\textit{native, Laravel, WordPress}), JavaScript (\textit{Vanilla, jQuery}), MySQL, Google Cloud Platform, TypeScript, React, Jenkins, ShipIt, Docker, Shopify.
}
\cventry{Feb 2017 -- May 2021}{Software Developer}{HR4YOU AG}{Großefehn, Germany}{}{
PHP, JavaScript (\textit{Vanilla, jQuery}), MySQL, CSS, LESS.
}
\cventry{Sep 2014 -- Apr 2016}{Support \& Operations}{SAFIRA/KPMG}{Carnaxide, Portugal}{}{
IBM Business Process Management, Forefront Identity Manager (\textit{FIM}).
}
\cventry{Apr 2013 -- Sep 2014}{Software Developer}{SAFIRA}{Carnaxide, Portugal}{}{
IBM BPM, IBM WebSphere Message Broker, SQL.
}
\section*{Profile} \section{Education}
\begin{tabular}{rl} \cventry{2013}{Bachelor of Science}{Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa}{Caparica, Portugal}{}{}
Date and Place of Birth: & January 17\textsuperscript{th}, 1988, Setúbal, Portugal \\
Nationality: & Portuguese \\
Languages: & Portuguese (First language), German (Fluent), English (Fluent),\\
& Spanish (Good), French (Basic)
\end{tabular}
\vspace{1em} \section{Skills}
\cvitem{Languages}{PHP, JavaScript (\textit{Vanilla}), TypeScript, MySQL, CSS, SCSS, HTML}
\cvitem{Frameworks \& Libraries}{Laravel, React, jQuery, Bootstrap}
\cvitem{Content Management Systems}{WordPress, Shopify}
\cvitem{Development Tools}{PHPStorm, Visual Studio Code, Git, Composer, npm, Vite}
\cvitem{DevOps \& Automation Tools}{Jenkins, ShipIt, Docker, Kubernetes, Google Cloud Platform}
\cvitem{Software Development Practices}{Test-Driven Development (TDD), Object-Oriented Programming (OOP), Mobile-First Design}
\cvitem{Soft Skills}{Effective team player, collaborator, and mentor; strong communication and interpersonal skills; experienced moderator}
\section*{Experience} \section{About me}
\noindent
\textbf{Software Developer, HR4YOU AG} \hfill Großefehn, Germany \\
\textit{Feb 2017 Present} \\
Technologies: PHP, JavaScript, SQL
\vspace{0.5em} I believe there are no stupid questions --- only opportunities to learn, improve, and build better things together.
\noindent
\textbf{Support \& Operations, SAFIRA/KPMG} \hfill Carnaxide, Portugal \\
\textit{Sep 2014 Apr 2016} \\
Worked with IBM Business Process Management and Forefront Identity Manager (FIM)
\vspace{0.5em} \bigskip % bigger gap before Personal section
\noindent
\textbf{Software Developer, SAFIRA} \hfill Carnaxide, Portugal \\
\textit{Apr 2013 Sep 2014} \\
Worked with IBM Business Process Management, IBM WebSphere Message Broker, SQL
\vspace{1em} When I'm not coding, you'll usually find me taking care of and entertaining my two lovely kids.
\section*{Education} \medskip % slightly smaller gap within Personal block
\textbf{Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa} \hfill Caparica, Portugal \\
Bachelor of Science \hfill 2013
\vspace{1em} I also love singing, acting, playing the didgeridoo, and chopping wood. I regularly take cold showers (or ice baths when temperatures drop below zero) in the morning.
\section*{Skills}
PHP, OOP, JavaScript, jQuery, CSS, SQL, SOAP, REST, PL/SQL, XML
\end{document} \end{document}

View File

@@ -1,7 +1,10 @@
# Curriculum-Vitae # Curriculum-Vitae
This project contains my *curriculum vitae* writen in `TeX` using the base This project contains my *curriculum vitae* writen in `TeX` using a slightly
class `article`. adapted version of [`moderncv`](https://github.com/moderncv/moderncv), which
renders a circular profile picture.
> :information_source: This is my official current CV version
## Install TeX ## Install TeX
@@ -15,8 +18,8 @@ If you are using VS Code, I highly recommend to install [LaTeX Workshop](https:/
## Other CV variants ## Other CV variants
- [Article](../article/)
- [Awesome-CV](../awesome-cv/) - [Awesome-CV](../awesome-cv/)
- [ModernCV](../moderncv) (**main CV**)
- [Pedro-CV](../pedro-cv/) - [Pedro-CV](../pedro-cv/)
## ##

32
pedro-moderncv.cls Normal file
View File

@@ -0,0 +1,32 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{pedro-moderncv}[2026/02/24 Custom moderncv wrapper]
\LoadClassWithOptions{moderncv}
\RequirePackage{tikz}
\RequirePackage{etoolbox}
\AtBeginDocument{%
\makeatletter
% Safe scaled length
\newlength{\@photowidthscaled}
\patchcmd{\makecvhead}
{\includegraphics[width=\@photowidth]{\@photo}}
{%
% Copy original width
\setlength{\@photowidthscaled}{\@photowidth}
% Scale safely (no calc/dimexpr/TikZ parser issues)
\setlength{\@photowidthscaled}{1.2\@photowidthscaled}
\begin{tikzpicture}
\clip (0, 0) circle (\@photowidth/2);
\node at (-0.2cm, -0.3cm) {
\includegraphics[width=\@photowidthscaled]{\@photo}
};
\end{tikzpicture}
}
{}{}
\makeatother
}