Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
133 lines (105 sloc) 7.96 KB
% moderncv themes
\moderncvtheme[blue]{classic} % optional argument are 'blue' (default), 'orange', 'red', 'green', 'grey' and 'roman' (for roman fonts, instead of sans serif fonts)
%\moderncvtheme[green]{classic} % idem
pdfauthor={Duarte Nunes},
pdftitle={CV for Duarte Nunes},
pdfsubject={Detailed CV for Duarte Nunes},
% adjust the page margins
% personal data
\title{Software Engineer}
\phone{(+34) 665 604 852}
\extrainfo{\includegraphics[height=12pt]{octocatvector}~\href{}{} \\\includegraphics[height=8pt]{twitter}~\href{}{@duarte\_nunes}\\January 19, 1986}
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
% content
\cvitem{}{Software engineer with a strong background in concurrent programming and kernel programming. Currently immersed in distributed systems and high-performance, low-latency software.}
\cventry{Aug 2013 \hfill \newline \textit{now}}{Software Engineer}{Midokura}{}{}{Works as a software engineer on MidoNet, a virtual network platform for IaaS clouds. Focuses on the architecture and implementation of the core network controller, a distributed and highly concurrent software written in Java and Scala. Responsibilities include:
\item defining and implementing network controller features (e.g., resource protection, cross-site peering, L4 load balancing, etc.),
\item defining and implementing cross-controller features (e.g., distributed flow state management and replication, port migration, NAT port reservation, etc.)
\item performance and scalability improvements (e.g., measuring and accelerating the packet processing pipeline, reducing memory footprint, scaling the on-ramp and off-ramp gateways, re-write of the userspace netlink library, etc.)
\cventry{Jun 2012 \hfill \newline Jul 2013}{Software Engineer}{Nokia Siemens Networks}{}{}{Worked as a software engineer and architect on large-scale brownfield Java projects concerning the planning and management of large multi-layer optical networks. Responsibilities included: enforcement of architectural constraints, code review, hands-on knowledge sharing workshops (mainly about concurrent programming and software development), design and implementation of infrastructure modules. Lead the engineering of a concurrent and efficient component to mediate between the planning and evolution of a network and the real-time events generated by its physical, deployed representation.}
\cventry{Jan 2009 \hfill \newline Aug 2013}{Software Engineer}{CCISEL}{}{}
{Member of the CCISEL group at ISEL, doing research, development, education and training. Examples of activities:}
\item[2009 - 2013] \hfill \newline Did research on concurrent programming and operating systems (mainly Windows Research Kernel); participated in the development the \href{}{\color{blue}{SlimThreading}} framework, containing synchronization algorithms;
\item[2011-2012] \hfill \newline Lectured at the PROMPT post-graduation on the web services and concurrent programming modules;
\item[2011] \hfill \newline Did consulting for Talaris, producing a Windows device driver for proprietary ATM hardware;
\item[2010] \hfill \newline Gave training at EID during a four-week course on C++ programming tailored for embedded systems programming;
\item[2010] \hfill \newline Did consulting for Talaris working on the adaptation of a specialized and proprietary Win32 library for the Linux operating system.
\cventry{Sept 2011 \hfill \newline Jun 2012}{Software Engineer}{SAPO, Portugal Telecom}{}{}{Worked as a Software Engineer, employing .NET technologies, on the Service Delivery Broker, used internally at Portugal Telecom and at various customers. Mainly worked on the engine that exchanges the messages between the client and the service, providing cross-cutting features such as: data transformation, routing, authentication, authorization, throttling, load balancing, protocol bridging, caching, etc. Refactored the core runtime towards a parallel and asynchronous implementation and developed the distributed throttling and caching features.}
\cventry{Sept 2010 \hfill \newline Nov 2011}{Teacher Assistant of Computer and Software Engineering}{ISEL}{}{}{Worked as a teacher assistant for software engineering courses, namely on Concurrent Programming, a 5th semester course where students learn threads (using a C implementation of green threads), Java and .NET synchronization, memory models, asynchronous programming and concurrent programming models, and on Software Laboratory, a 4th semester course where students develop a fully-featured Java web application during the whole semester.}
\cventry{May 2011 \hfill \newline Aug 2011}{Independent Contractor}{Google}{}{}{In the context of the 2011 edition of Google Summer of Code, successfully developed the project "SlimThreading on Mono" with the purpose of enhancing the threading infrastructure of the Mono open source project using a novel synchronization framework (SlimThreading), which, besides being highly efficient, significantly reduces the dependency on operating system services; also refactored the virtual machine implementation of intrinsic locking.}
\section{Speaking Engagements}
\cventry{Jan 2016}{Challenges in Distributed SDN}{FOSDEM 2016}{}{Brussels, Belgium}{}
\cventry{Nov 2015}{MidoNet and the Open vSwitch Datapath}{Open vSwitch 2015 Fall Conference}{}{San Jose, California, USA}{}
\cventry{Sept 2015}{Challenges in Distributed SDN}{LinuxCon Europe}{}{Dublin, Ireland}{}
\cventry{2005 -- 2009}{BS, Computer and Software Engineering}{ISEL - Instituto Superior de Engenharia de Lisboa}{}{\textit{Portugal}}{} %arguments 3 to 6 are optional
\cvitem{title}{Concurrent Programming Infrastructures}
\cvitem{description}{Obtained the highest grade (20/20) for the final thesis, a project on concurrent programming infrastructures, where he built a user mode scheduler based on the Windows 7 user mode scheduling API and devised a novel technique for user-mode blocking and seamless synchronization of user-mode threads with regular NT threads.}
\cvitem{Disciplines}{Concurrent programming, kernel programming, computer networks, virtualization, distributed systems}
\cvitem{Programming Languages}{C, C++, C\#, Rust, Clojure, Java, Scala}
\cvitem{Portuguese}{Native or bilingual proficiency}
\cvitem{English}{Native or bilingual proficiency}
\cvitem{Spanish}{Professional working proficiency}
\cvitem{German}{Limited working proficiency}
\cvitem{French}{Limited working proficiency}
\closesection{} % needed to renewcommands
\renewcommand{\listitemsymbol}{-} % change the symbol for lists
% Publications from a BibTeX file
%\bibliography{publications} % 'publications' is the name of a BibTeX file