This commit is contained in:
parent
634687061e
commit
28df88f950
@ -343,6 +343,13 @@ fn void write_body(Writer* writer)
|
|||||||
{
|
{
|
||||||
write_line(writer, strlit("<body>"));
|
write_line(writer, strlit("<body>"));
|
||||||
write_line(writer, strlit("This is my personal website"));
|
write_line(writer, strlit("This is my personal website"));
|
||||||
|
write_line(writer, strlit("<h2>Work</h2>"));
|
||||||
|
write_line(writer, strlit("<ul>"));
|
||||||
|
write_line(writer, strlit("<li><a href=\"https://github.com/davidgmbb\" target=\"_blank\">Personal GitHub</a></li>"));
|
||||||
|
write_line(writer, strlit("<li><a href=\"https://github.com/birth-software\" target=\"_blank\">Birth GitHub</a></li>"));
|
||||||
|
write_line(writer, strlit("<li><a href=\"https://git.birth-software.com/davidgmbb\" target=\"_blank\">Self-hosted Personal Gitea</a></li>"));
|
||||||
|
write_line(writer, strlit("<li><a href=\"https://git.birth-software.com/birth-software\" target=\"_blank\">Self-hosted Birth Gitea</a></li>"));
|
||||||
|
write_line(writer, strlit("</ul>"));
|
||||||
write_line(writer, strlit("<h2>Resume</h2>"));
|
write_line(writer, strlit("<h2>Resume</h2>"));
|
||||||
write_line(writer, strlit("<ul>"));
|
write_line(writer, strlit("<ul>"));
|
||||||
write_line(writer, strlit("<li><a href=\"resume/resume.pdf\" target=\"_blank\">PDF</a></li>"));
|
write_line(writer, strlit("<li><a href=\"resume/resume.pdf\" target=\"_blank\">PDF</a></li>"));
|
||||||
|
@ -3,12 +3,15 @@
|
|||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item[] \faPhone \space +34 674 874 862
|
\item[] \faPhone \space +34 674 874 862
|
||||||
\item[] \faPhone \space +52 221 706 7433
|
\item[] \faEnvelope \space \href{mailto:davidgmbb@gmail.com}{davidgmbb@gmail.com}
|
||||||
\item[] \faEnvelope \space \href{mailto:davidgm94.work@protonmail.com}{davidgm94.work@protonmail.com}
|
\item[] \faLinkedin \space \href{https://linkedin.com/in/davidglezmar94}{linkedin.com/in/davidgmbb}
|
||||||
\item[] \faLinkedin \space \href{https://linkedin.com/in/davidglezmar94}{https://linkedin.com/in/davidglezmar94}
|
\item[] \faGlobe \space \href{https://davidgmbb.eu}{davidgmbb.eu}
|
||||||
\item[] \faGithub \space \href{https://github.com/davidgm94}{https://github.com/davidgm94}. Here's where you can keep track of all my personal development work.
|
\item[] \faGithub \space \href{https://github.com/davidgmbb}{github.com/davidgmbb}.
|
||||||
|
\item[] \faGit \space \href{https://git.birth-software.com/davidgmbb}{git.birth-software.com/davidgmbb}
|
||||||
|
\item[] \faGithub \space \href{https://github.com/birth-software}{github.com/birth-software}.
|
||||||
|
\item[] \faGit \space \href{https://git.birth-software.com/birth-software}{git.birth-software.com/birth-software}
|
||||||
\item[] Nationality: Spanish.
|
\item[] Nationality: Spanish.
|
||||||
\item[] Current location: Spain, although I frequently visit Mexico.
|
\item[] Current location: Spain.
|
||||||
\item[] Languages:
|
\item[] Languages:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Spanish (native).
|
\item Spanish (native).
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
\section*{|| Education ||}
|
\section*{|| Education ||}
|
||||||
\subsection*{\underline{Bachelor degree in Computer science}}
|
\subsection*{\underline{Bachelor degree in Computer science}}
|
||||||
\subsubsection*{(Open University of Catalonia, ended in 2024)}
|
\subsubsection*{(Open University of Catalonia, 2024)}
|
||||||
\subsection*{\underline{Private mentorship with Andreas Fredriksson}}
|
Average score: 7,67 (over 10). Major in Computer Engineering.
|
||||||
The Principal Engineer at Unity volunteered to mentor me. We discussed professional career and explored low-level programming topics with a focus in speed, data and simplicity. He taught me how to properly face engineering problems that I considered interesting and complicated. In general he made me grow very much as a programmer.
|
|
||||||
|
\subsection*{\underline{Private mentorship with Andreas Fredriksson (2020)}}
|
||||||
|
The former Principal Engineer at Unity and Engine Director of Insomniac Games volunteered to mentor me. We discussed professional career and explored low-level programming topics with a focus in speed, data and simplicity. He taught me how to properly face engineering problems that I considered interesting and complicated. In general he made me grow very much as a programmer.
|
@ -1,6 +1,6 @@
|
|||||||
\section*{|| Professional experience ||}
|
\section*{|| Professional experience ||}
|
||||||
\subsection*{\underline{Game programmer at Casual Brothers (March 2022 - March 2024)}}
|
\subsection*{\underline{Freelance game programmer (March 2022 - December 2024)}}
|
||||||
Freelance AAA programming with Unreal Engine 4 and 5. Evil Dead and unannounced title from Saber Interactive. AI programming and gameplay implementations (animations, movement, collision, navigation mesh, attacks, behavior trees, etc.), bug hunting and performance debugging in C++. Tools employed apart from the engine were Perforce, Visual Studio and several profilers, like Superluminal, Unreal and Microsoft tools.
|
AAA game programming for Casual Brothers with Unreal Engine 4 and 5. I worked on Evil Dead and an unannounced title from Saber Interactive. AI programming and gameplay implementations (animations, movement, collision, navigation mesh, attacks, behavior trees, etc.), bug hunting and performance debugging in C++. Tools employed apart from the engine were Perforce, Visual Studio and several profilers, like Superluminal, Unreal and Microsoft tools.
|
||||||
|
|
||||||
\subsection*{\underline{Embedded software engineer at iGrid T\&D (August 2020 - January 2021)}}
|
\subsection*{\underline{Embedded software engineer at iGrid T\&D (August 2020 - January 2021)}}
|
||||||
Real-time systems programming. Architectures to be supported were x86 and ARM. The software must run both in desktop and embedded software, meeting the RAM and CPU constraints of the lowest-end hardware. Developed file transfer through serial port communication using IEC 60870-5-103 and REST web services for the software which the protection-monitoring devices in the electrical substations run.
|
Real-time systems programming. Architectures to be supported were x86 and ARM. The software must run both in desktop and embedded software, meeting the RAM and CPU constraints of the lowest-end hardware. Developed file transfer through serial port communication using IEC 60870-5-103 and REST web services for the software which the protection-monitoring devices in the electrical substations run.
|
||||||
|
@ -1,12 +1,7 @@
|
|||||||
\section*{|| Most interesting personal projects ||}
|
\section*{|| Most interesting personal projects ||}
|
||||||
\subsection*{\underline{Compiler from scratch: \href{https://github.com/birth-software/nativity}{\textbf{https://github.com/birth-software/nativity}}}}
|
\subsection*{\underline{Compiler from scratch:}\space \href{https://github.com/birth-software/bloat-buster}{\textbf{github.com/birth-software/bloat-buster}}}
|
||||||
|
|
||||||
\paragraph{}Nativity is the last of the three compilers I have written on my my spare time. The first and the last use LLVM, while the one in the middle was fully written by me. I have also tinkered with C transpiling, primitive register allocation and very simple optimization passes. Lexer, parser and semantic analysis were always written from scratch, so no generators were used. Nativity is the most ambitious one of the three. It can run and compile on x86\_64 and aarch64, Linux and MacOS. Windows support is planned after self-hosting. Currently it also embeds clang so LLVM can be compiled with Nativity itself, with an eye on restricting dependencies as much as possible.
|
\paragraph{}Bloat Buster is the latest of several compilers I have developed in my spare time. Both the first and the last utilize LLVM, while the one in the middle was fully implemented from scratch. I have also experimented with C transpilation, primitive register allocation, and basic optimization passes, as well as attempting to vectorize an assembler. The lexer, parser, and semantic analysis were always written manually, without the use of generators. The latest is the most ambitious of them all, currently supporting only x86\_64-linux, with the goal of bootstrapping in the near future.
|
||||||
\subsection*{\underline{Kernel from scratch: \href{https://github.com/birth-software/birth}{https://github.com/birth-software/birth}}}
|
|
||||||
Several very basic kernels written from scratch, from which Birth is the most advanced. It supports x86\_64 and aims to be an efficient, simple and secure multikernel. There are plans to port to aarch64 and riscv64. Currently it's on hold waiting for the compiler to be ready as the operating system is planned to be rewritten in Nat.
|
|
||||||
|
|
||||||
\subsection*{\underline{Metal bindings for Zig: \href{https://github.com/davidgm94/zig-metal}{https://github.com/davidgm94/zig-metal}}}
|
\subsection*{\underline{Kernel from scratch:}\space \href{https://github.com/birth-software/birth}{github.com/birth-software/birth}}
|
||||||
Project prototype to support Apple's Metal graphics API in Zig, interoperating with C and Objective-C for the purpose.
|
Several very basic kernels written from scratch, from which Birth is the most advanced. It supports x86\_64 and aims to be an efficient, simple and secure multikernel. There are plans to port to other mainstream high-performance CPU architectures. Currently it's on hold waiting for the compiler to be ready as the operating system is planned to be rewritten in my own language.
|
||||||
|
|
||||||
\subsection*{\underline{Game engine sketch: \href{https://github.com/davidgm94/glez}{https://github.com/davidgm94/glez}}}
|
|
||||||
Very basic game engine in which 3D model rendering and GUI debugging was implemented.
|
|
@ -3,11 +3,12 @@
|
|||||||
\usepackage[margin=2.0cm]{geometry}
|
\usepackage[margin=2.0cm]{geometry}
|
||||||
\usepackage{fontawesome}
|
\usepackage{fontawesome}
|
||||||
|
|
||||||
\title{\vspace{-2.5cm}\textbf{David González Martín}}
|
\title{\vspace{-2.5cm}\textbf{Resume}}
|
||||||
|
\author{\textbf{David Gonzalez Martin}}
|
||||||
\date{\vspace{-5ex}}
|
\date{\vspace{-5ex}}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\maketitle{\vspace{-1.5cm}}
|
\maketitle{}
|
||||||
|
|
||||||
\input{about.tex}
|
\input{about.tex}
|
||||||
|
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
\section*{|| Technical skills ||}
|
\section*{|| Technical skills ||}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item I have been programming in C and C++ for almost 3 years professionally and 7 years on my spare time as an enthuastic hobby programmer. I aim for simplicity, safety and speed when programming. Fairly good understanding of assembly language (x86-64). Thorough experience integrating and using libraries, such as LLVM, GLFW, Dear ImGUI, STB single-header libraries, sokol, meshoptimizer, Volk, Raylib, Qt, Expat, JSMN...
|
\item I have been programming in C and C++ for over 4 years professionally and \number\numexpr\year-2018\relax~years on my spare time as an enthuastic hobby programmer. I aim for simplicity, safety and speed when programming. Fairly good understanding of assembly language (x86-64). Thorough experience integrating and using libraries, such as LLVM, GLFW, Dear ImGUI, STB single-header libraries, sokol, meshoptimizer, Volk, Raylib, Qt, Expat, JSMN...
|
||||||
|
|
||||||
\item Comfortable in both command-line and graphical environments and qualified in systems programming, both Windows (Batch, Win32) and Unix (Bash, POSIX).
|
\item Comfortable in both command-line and graphical environments and qualified in systems programming, both Windows (Batch, Win32) and Unix (Bash, POSIX).
|
||||||
|
|
||||||
\item Fond of data-oriented programming. You have to know the platform and the data you are working with in order to obtain the solution of your problem. Passion for computer architecture and hardware understanding in order to get the most out of it. Object-oriented design understanding. Professional experience in both of them.
|
\item Passionate about data-oriented programming, emphasizing a deep understanding of both the platform and data to develop effective solutions. Strong interest in computer architecture and hardware optimization to maximize performance. Well-versed in object-oriented design, with professional experience applying both object-oriented and data-oriented paradigms in software development.
|
||||||
|
|
||||||
\item Compiler engineering experience developing several toy programming languages with a tendency to restrict dependencies, own the code and respect compile times.
|
\item Personal experience and in compiler engineering, developing several toy programming languages as a passion project with a focus on minimizing dependencies, maintaining code ownership, and optimizing compile times. I also have contributed to LLVM and Zig.
|
||||||
|
|
||||||
|
\item Passion for SIMD instruction sets, especially AVX-512. I try to spend time learning how to properly vectorize my code and maximize throughput.
|
||||||
|
|
||||||
\item Very brief personal experience with low-level graphics APIs, such as Vulkan, OpenGL and DirectX (11, 12), having practiced more with the open-source ones. Fairly good understanding of game engines and the GPU pipeline.
|
\item Very brief personal experience with low-level graphics APIs, such as Vulkan, OpenGL and DirectX (11, 12), having practiced more with the open-source ones. Fairly good understanding of game engines and the GPU pipeline.
|
||||||
|
|
||||||
|
@ -5,5 +5,5 @@
|
|||||||
\item Problem-solving mentality and critical thinking.
|
\item Problem-solving mentality and critical thinking.
|
||||||
\item Used to deal with large and legacy codebases.
|
\item Used to deal with large and legacy codebases.
|
||||||
\item Proven ability to work and coordinate with teammates.
|
\item Proven ability to work and coordinate with teammates.
|
||||||
\item I always carry a smile with me.
|
\item I am known for my consistently cheerful and friendly demeanor.
|
||||||
\end{itemize}
|
\end{itemize}
|
Loading…
x
Reference in New Issue
Block a user