|
16 | 16 | %% See http://texdoc.net/pkg/fontawesome5 for full list of symbols. |
17 | 17 |
|
18 | 18 | % Change the page layout if you need to |
19 | | -\geometry{left=1cm,right=1cm,top=1cm,bottom=1cm,columnsep=1cm} |
| 19 | +\geometry{left=0.8cm,right=0.8cm,top=0.8cm,bottom=0.8cm,columnsep=0.8cm} |
20 | 20 |
|
21 | 21 | % The paracol package lets you typeset columns of text in parallel |
22 | 22 | \usepackage{paracol} |
|
53 | 53 |
|
54 | 54 | % Change some fonts, if necessary |
55 | 55 | \renewcommand{\namefont}{\Huge\rmfamily\bfseries} |
56 | | -\renewcommand{\personalinfofont}{\footnotesize} |
57 | 56 | \renewcommand{\cvsectionfont}{\LARGE\rmfamily\bfseries} |
58 | 57 | \renewcommand{\cvsubsectionfont}{\large\bfseries} |
59 | 58 |
|
|
63 | 62 | \renewcommand{\itemmarker}{{\small\textbullet}} |
64 | 63 | \renewcommand{\ratingmarker}{\faCircle} |
65 | 64 |
|
| 65 | +\usepackage[none]{hyphenat} |
| 66 | + |
66 | 67 | \begin{document} |
67 | 68 | \name{Vasco Guita} |
68 | | -\tagline{Computer Science and Engineering M.Sc. Student} |
| 69 | +\tagline{Software Engineer} |
69 | 70 | \photoR{2.8cm}{vasco} |
70 | 71 |
|
71 | 72 | \personalinfo{ |
72 | 73 | |
73 | | - \phone{+351 961 472 807} |
74 | | - \location{Lisbon, Portugal} |
| 74 | + \phone{+33 766 681 446} |
| 75 | + \location{Geneva, Switzerland} |
75 | 76 | \linkedin{vasco-guita} |
76 | 77 | \github{vascoguita} |
77 | 78 | } |
|
88 | 89 | \begin{paracol}{2} |
89 | 90 | \cvsection{Experience} |
90 | 91 |
|
91 | | -\cvevent{Full Stack Developer}{MARETEC}{February 2021 -- Ongoing}{} |
| 92 | +\cvevent{Software Engineer -- Project Associate}{CERN}{Oct 2021 -- Present} |
| 93 | +\begin{itemize} |
| 94 | +\item Develop IFC viewer plugin for \textbf{ownCloud} in \textbf{Vue.js} |
| 95 | +\item DevOps with \textbf{Puppet}, \textbf{Foreman}, \textbf{OpenStack} and \textbf{ai-tools} |
| 96 | +\item Build/publish \textbf{RPMs} for \textbf{yum} with \textbf{Gitlab CI/CD} |
| 97 | +\item \textbf{ROTA} -- \textbf{CERNBox} and \textbf{EOS} support |
| 98 | +\item Instrument \textbf{REVA} with \textbf{OpenTelemetry} in \textbf{Go} |
| 99 | +\item Deploy \textbf{Jaeger tracing} with \textbf{Elasticsearch} for \textbf{CERNBox} |
| 100 | +\item Present \emph{Jaeger tracing at CERN} at \textbf{IT Lightning Talks \#22} |
| 101 | +\end{itemize} |
| 102 | + |
| 103 | +\divider |
| 104 | + |
| 105 | +\cvevent{Software Developer}{MARETEC}{Feb 2021 -- Sep 2021} |
92 | 106 | \begin{itemize} |
93 | | -\item Develop QGIS plugin in Python and Qt |
94 | | -\item Create bathymetries with the MOHID model |
| 107 | +\item Develop bathymetry plugin for \textbf{QGIS} in \textbf{Python} and \textbf{Qt} |
95 | 108 | \end{itemize} |
96 | 109 | \divider |
97 | 110 |
|
98 | | -\cvevent{Lecturer}{Instituto Superior Técnico}{September 2020 to February 2021 -- MEIC%\footnotemark[1] |
99 | | - \\ |
100 | | - February 2019 to July 2019 -- LETI%\footnotemark[2] |
101 | | - }{} |
102 | | -%\footnotetext[1]{M.Sc. program in Computer Science and Engineering} |
103 | | -%\footnotetext[2]{B.Sc. program in Telecommunications and Informatics Engineering} |
| 111 | +\cvevent{Lecturer}{IST, Universidade de Lisboa}{Feb 2019 -- Feb 2021} |
| 112 | +\faAward \hspace{0.05cm} \textbf{Excellence in Teaching Award} |
| 113 | +\smallskip |
104 | 114 | \begin{itemize} |
105 | | -\item Lecture Network and Computer Security lab. classes |
| 115 | +\item Lecture Network and Computer Security lab classes |
106 | 116 | \item Evaluate course project and class problems |
107 | | -\item Help students in office hours |
| 117 | +\item Support students in office hours |
108 | 118 | \end{itemize} |
109 | 119 | \divider |
110 | 120 |
|
111 | | -\cvevent{System Administrator}{Instituto Superior Técnico}{December 2017 to September 2019 -- DEI%\footnotemark[3] |
112 | | - \\ |
113 | | - March 2019 to August 2019 -- DEEC%\footnotemark[4] |
114 | | - }{} |
115 | | -%\footnotetext[3]{Department of Computer Science and Engineering} |
116 | | -%\footnotetext[4]{Department of Electrical and Computer Engineering} |
| 121 | +\cvevent{System Administrator}{IST, Universidade de Lisboa}{Dec 2017 -- Sept 2019} |
117 | 122 | \begin{itemize} |
118 | | -\item Deploy and administer libvirt+QEMU+KVM hypervisor, Windows Domain, Linux VMs and Moodle |
119 | | -\item Develop Moodle plugin and configure OAuth |
120 | | -\item Automate IT infrastructure with Ansible |
| 123 | +\item Deploy/manage \textbf{libvirt}+\textbf{QEMU}+\textbf{KVM} hypervisor, |
| 124 | + |
| 125 | +\textbf{Windows Domain} and \textbf{Debian/Gentoo Linux VMs} |
| 126 | +\item Automate IT infrastructure with \textbf{Ansible} |
121 | 127 | \item Troubleshooting and user support |
| 128 | +\item Develop FenixEdu integration plugin for \textbf{Moodle} in \textbf{PHP}, \textbf{HTML}, \textbf{JavaScript} and \textbf{CSS} |
| 129 | +\item Deploy 5 \textbf{Moodle} instances with FenixEdu \textbf{OAuth} |
| 130 | +\item Deploy \textbf{DokuWiki} with FenixEdu \textbf{OAuth} |
| 131 | +\item Hardware maintenance |
122 | 132 | \end{itemize} |
123 | 133 | \divider |
124 | 134 |
|
125 | | -\cvevent{Repair Technician}{Worten}{October 2017 to December 2017}{} |
| 135 | +\cvevent{Repair Technician}{Worten}{Oct 2017 -- Dec 2017} |
126 | 136 | \begin{itemize} |
127 | 137 | \item Repair computers and smartphones |
128 | | -\item Costumer service |
| 138 | +\item After-sales service -- aid unsatisfied customers |
129 | 139 | \end{itemize} |
130 | 140 |
|
131 | 141 | \medskip |
132 | 142 |
|
133 | | -\cvsection{Education} |
134 | | - |
135 | | -\cvevent{M.Sc.\ in Computer Science and Engineering}{Instituto Superior Tecnico }{Sept 2018 -- Ongoing}{} |
136 | | -\small Thesis -- Secure sharing of ARM TrustZone trusted storage data. |
137 | | - |
138 | | -%\divider |
139 | | - |
140 | | -%\cvevent{B.Sc.\ in Computer Science and Engineering}{Instituto Superior Tecnico }{Sept 2015 -- June 2018}{} |
141 | | - |
142 | | -\medskip |
143 | | - |
144 | 143 | \cvsection{Skills} |
145 | 144 |
|
146 | 145 | \medskip |
147 | 146 |
|
148 | | -\cvtag{Embedded Systems} |
149 | | -\cvtag{Cybersecurity} |
150 | | -\cvtag{Web Applications} |
151 | | - |
152 | | -\medskip\divider\medskip |
153 | | - |
| 147 | +\cvtag{Git} |
| 148 | +\cvtag{CI/CD} |
| 149 | +\cvtag{Go} |
154 | 150 | \cvtag{C} |
| 151 | +\cvtag{Java} |
155 | 152 | \cvtag{Python} |
156 | | -\cvtag{Git} |
| 153 | +\cvtag{Bash}\\ |
| 154 | +\smallskip |
157 | 155 | \cvtag{Linux} |
158 | 156 | \cvtag{Ansible} |
| 157 | +\cvtag{Puppet} |
| 158 | +\cvtag{Distributed Tracing}\\ |
| 159 | +\smallskip |
| 160 | +\cvtag{Virtualization} |
| 161 | +\cvtag{Embedded Systems} |
| 162 | +\cvtag{Cybersecurity}\\ |
| 163 | +\smallskip |
| 164 | +\cvtag{Web Apps} |
| 165 | +\cvtag{Kernel Optimization} |
159 | 166 | \cvtag{ARM TrustZone} |
160 | | -\cvtag{OP-TEE} |
161 | 167 |
|
162 | 168 | \switchcolumn |
163 | 169 |
|
164 | | -\cvsection{Projects} |
| 170 | +\cvsection{Education} |
165 | 171 |
|
166 | | -\cvevent{Smart Coffee Machine}{}{March 2021 -- Ongoing}{} |
167 | | -{\small Remotely control Nespresso machine with ESP32-S2 MCU and set alarm to wake up the user with a cup of coffee.} |
| 172 | +\cvevent{M.Sc.\ in Computer Science and Engineering}{IST, Universidade de Lisboa}{Sep 2018 -- Sept 2021} |
| 173 | +\faGraduationCap \hspace{0.05cm} \textbf{Thesis Grade -- 20 out of 20} |
| 174 | +\begin{itemize} |
| 175 | +\item Specialization in \textbf{Cyber-Security} and \textbf{Cyber-physical\\ Systems} |
| 176 | +\item Thesis -- \emph{Data Recovery for Hardware Security Extensions}; Design a recoverable and shareable \textbf{trusted storage} \\ system for \textbf{ARM TrustZone}; |
| 177 | +Implement a prototype in \textbf{C} and \textbf{Assembly} and evaluate it on \textbf{Raspberry Pis} with \textbf{TF-A}, \textbf{U-Boot}, \textbf{OP-TEE} and \textbf{Buildroot Linux}; |
| 178 | +Implement the 1st \emph{Identity-based Matchmaking Encryption} \textbf{C} library |
| 179 | +\item Publish/present paper -- V. Guita et al. Anonymous\\ Trusted Data Relocation for TEEs. In \emph{IFIP International Conference on ICT Systems Security and Privacy Protection}, pages 449–466. Springer, 2022 |
| 180 | +\item Erasmus -- 1 year in Politechnika Lubelska, Poland |
| 181 | +\end{itemize} |
168 | 182 |
|
169 | | -\divider |
| 183 | +\medskip |
170 | 184 |
|
171 | | -\cvevent{Smart TV}{}{July 2019}{} |
172 | | -\small Create Smart TV with Orange Pi and LibreELEC. |
| 185 | +\cvsection{Languages} |
173 | 186 |
|
174 | | -\divider |
| 187 | +\cvskill{Portuguese}{5} |
| 188 | +\smallskip |
| 189 | +\cvskill{English}{5} |
| 190 | +\smallskip |
| 191 | +\cvskill{German}{2} |
| 192 | +\smallskip |
| 193 | +\cvskill{French}{2} |
| 194 | +\smallskip |
| 195 | +\cvskill{Polish}{1} |
| 196 | + |
| 197 | +\medskip |
175 | 198 |
|
176 | | -\cvevent{Model Rocket}{}{August 2017}{} |
| 199 | +\cvsection{Projects} |
| 200 | + |
| 201 | +\cvsmallevent{Model Rocket}{Aug 2017} |
177 | 202 | \small Build and launch R-candy rocket in safe area. |
178 | 203 |
|
179 | | -\divider |
| 204 | +\medskip |
180 | 205 |
|
181 | | -\cvevent{Model Airplane}{}{2014 -- Ongoing}{} |
| 206 | +\cvsmallevent{Model Airplane}{Jun 2014 -- Aug 2016} |
182 | 207 | \small Build Hawker Hurricane model with balsa wood. |
183 | 208 |
|
184 | | -\cvsection{Languages} |
185 | | - |
186 | | -\cvskill{Portuguese}{5} |
187 | | -\divider |
| 209 | +\medskip |
188 | 210 |
|
189 | | -\cvskill{English}{4} |
190 | | -\divider |
| 211 | +\cvsmallevent{Smart TV}{Jul 2019} |
| 212 | +\small Build Smart TV with Orange Pi, recycled laptop screen and Kodi. |
191 | 213 |
|
192 | | -\cvskill{German}{2} |
193 | | -\divider |
| 214 | +\cvsection{Volunteering} |
194 | 215 |
|
195 | | -\cvskill{Polish}{1} |
| 216 | +\cvsmallevent{VPN Setup}{Sep 2021 -- Nov 2021} |
| 217 | +\small Setup VPN between INESC-ID and AMA with \textbf{pfSense} as part of a European project (DE4A) |
196 | 218 |
|
197 | | -\cvsection{Volunteering} |
| 219 | +\medskip |
198 | 220 |
|
199 | | -\cvevent{Counsellor at Catholic Summer Camp}{}{July 2018}{} |
| 221 | +\cvsmallevent{Counselor at Catholic Summer Camp}{Jul 2018} |
200 | 222 | \small Organize activities for children from 12 to 15 years old. |
201 | 223 |
|
202 | | -\divider |
| 224 | +\medskip |
203 | 225 |
|
204 | | -\cvevent{Karate Instructor at ANAM}{}{September 2013 -- March 2015}{} |
| 226 | +\cvsmallevent{Karate Instructor at ANAM}{Sep 2013 -- Mar 2015} |
205 | 227 | \small Teach Karate to children from 5 to 12 years old. |
206 | 228 |
|
207 | | -\divider |
208 | | - |
209 | | -\cvevent{Tutor}{}{September 2016 -- June 2017}{} |
210 | | -\small Teach maths and portuguese to children with learning difficulties. |
211 | | - |
212 | | -\divider |
| 229 | +\medskip |
213 | 230 |
|
214 | | -\cvevent{Computer Repair}{}{April 2015}{} |
215 | | -\small Computer repair for Abrantes Hospital for hospitalized children to play. |
| 231 | +\cvsmallevent{Tutor}{Sep 2016 -- Jun 2017} |
| 232 | +\small Teach math and Portuguese to children with learning difficulties. |
216 | 233 |
|
217 | | -%\divider |
| 234 | +\medskip |
218 | 235 |
|
219 | | -%\cvevent{Computer Assembly}{}{September 2014}{} |
220 | | -%\small Computer assembly and offer to the local parish. |
| 236 | +\cvsmallevent{Build and Repair computers}{Sep 2014 -- Apr 2015} |
| 237 | +\small Repair computer for hospitalized children of Abrantes Hospital to play; Build and offer computer to Constância's parish. |
221 | 238 |
|
222 | 239 | \end{paracol} |
223 | 240 |
|
|
0 commit comments