#set page(
    "us-letter",
    margin: 2cm,
)

#set text(
    font: "Source Sans Pro",
    size: 8.7pt,
    weight: "light"
)

#let purple = rgb("#684b75")

#align(center)[
    #text(size: 32pt, weight: "thin")[Christian] #h(0.5em) #text(size: 32pt, weight: "bold")[ <NAME>iz]

    #text(weight: "regular", size: 8pt, fill: purple)[#smallcaps[Software Engineer]]

    #text(weight: "regular", size: 8pt)[
        #link("mailto:<EMAIL>")[ #h(0.5em) <EMAIL>] #h(0.5em) | #h(0.5em)
        #link("https://github.com/pvdrz")[ #h(0.5em) pvdrz]
    ]
]



#let underlink(url, text) = {
    link(url, underline(text))
}

#let experience_item(place, location, position, period, description) = {
    grid(
        columns: (60%, 1fr),
        align: (left, right),
        row-gutter: 0.75em,
        text(weight: "bold", size: 11pt)[#place],
        text(style: "italic", fill: purple)[#location],
        text(weight:"regular", size: 8pt)[#smallcaps[#position]],
        text(style: "italic", size: 8pt)[#period],
    )
    text[#description]
    v(1em)
}

#let event_item(date, title, subtitle, location) = {
    grid(
        columns: (80%, 1fr),
        rows: 0.33em,
        align: (left, right),
        [#date #h(1em) #text(weight: "bold")[#title], #subtitle],
        text(style: "italic", fill: purple)[#location],
    )
}

#let section(name) = {
    grid(
        columns: 2,
        text(weight: "bold", size: 16pt, fill: purple)[#name],
        line(
            stroke: 0.8pt,
            start: (3pt, 10pt),
            end: (100%, 10pt),
        )
    )
}

#section[Education]
#pad(
    left: 1em,
    [
        #experience_item(
            "Universidad de los Andes",
            "Bogotá, Colombia",
            "M. Eng. in Systems and Computing Engineering",
            "2016 - 2019",
            [
                #smallcaps[Dissertation:] #underlink("https://repositorio.uniandes.edu.co/server/api/core/bitstreams/d8ff4d64-a163-4ac3-b136-7bd8a8244048/content", "Bounded generics over constants in Rust")
            ],
        )

        #experience_item(
            "Universidad de los Andes",
            "Bogotá, Colombia",
            "B. S. in Physics",
            "2011 - 2016",
            [
                #smallcaps[Dissertation:] #underlink("https://repositorio.uniandes.edu.co/server/api/core/bitstreams/97798913-0b9d-492f-b0ad-f763e94401fa/content", "A semi-analytic approach to formation processes in galaxies")

                #smallcaps[Publications:] #underlink("https://iopscience.iop.org/article/10.3847/0004-637X/832/2/169", "Quantifying and Controlling Biases in Estimates of Dark Matter Halo Concentration")
            ],
        )
    ]
)

#section[Experience]
#pad(
    left: 1em,
    [
        #experience_item(
            "Ferrous Systems",
            "Remote",
            "Software Engineer",
            "July 2022 - Present",
            [

                - Work as a consultant on initiatives of the #underlink("https://www.memorysafety.org", "Prossimo project"), including #underlink("https://www.memorysafety.org/initiative/sudo-su/", `sudo-rs`), #underlink("https://www.memorysafety.org/initiative/tools/", `bindgen`) and #underlink("https://www.memorysafety.org/initiative/rustls/", `rustls`).  
                - Part of the maintainer team for #underlink("https://ferrous-systems.com/ferrocene/", "Ferrocene"), an open source qualified Rust compiler toolchain. 
            ]
        )

        #experience_item(
            "IOTA Foundation",
            "Remote",
            "Software Engineer",
            [July 2020 - November 2020 #h(1em) ... #h(1em) April 2021 - June 2022],
            [

              - Design and maintain #underlink("https://crates.io/crates/packable", "Packable"), a `#[no_std]` compatible binary serialization framework used by several Rust projects inside the foundation.
              - Port and optimize the CurlP hashing algorithm to Rust.
              - Debug and solve several concurrency issues inside the #underlink("https://github.com/iotaledger/bee/", "Bee") framework protocol.
              - Introduction of metrics to the Bee framework for performance tracking.
            ]
        )

        #experience_item(
            "Universidad <NAME>",
            "Full-time Professor",
            "Bogotá, Colombia",
            "February 2020 - July 2020",
            [

                - In charge of two sections of the Introduction to Computational Thinking course.
                - In charge of the mainstreaming process for introductory computer science courses.
                - Designed the syllabi for the courses on compilers and algorithm design for the new program in computer science.
            ]
        )

        #experience_item(
            "Fermi National Accelerator Laboratory",
            "CMS Site Support Operator",
            "Batavia, Illinois, United States",
            "June 2019 - November 2019",
            [
                Responsible for monitoring and troubleshooting all the services of the CMS distributed computing infrastructure.
            ]
        )

        #experience_item(
            "Universidad de los Andes",
            "Graduate Assistant",
            "Bogotá, Colombia",
            "February 2018 - December 2018",
            [
                In charge of one section and two laboratories of the undergraduate course in discrete mathematics and logic.
            ]
        )

        #experience_item(
            "Rappi inc.",
            "Data Scientist",
            "Bogotá, Colombia",
            "June 2017 - March 2018",
            [

                - Co-designer of the A / B testing platform used on the CPGs search engine.
                - Introduced human search quality rating into the Quality Assurance process for the CPGs search engine.
                - Developed a predictive model to estimate the time of payment of debt acquired by a courier.
                - Developed a data pipeline to monitor the distribution of supply and demand in near real time.
            ]
        )
    ]
)

#pagebreak()

#pad(
    left: 1em,
    [
        #experience_item(
            "<NAME>",
            "Graduate Research Assistant",
            "Bogotá, Colombia",
            "July 2016 - August 2017",
            [

                - Developed a web application to monitor the state of the public transport service in Rio de Janeiro.
                - Study on traffic and mobility in order to characterize traffic accidents in Bogotá.
                - Study on taxes of urban delineation and characterization of taxpayers in order to detect anomalous requests of construction permits in Bogotá.
            ]
        )
    ]  
)

#section[Open Source Contributions]
#pad(
    left: 1em,
    [
        #text(weight: "bold", size: 11pt)[Bindgen]
        - Contributed as a maintainer since the end of 2022. This includes triage and debug issues, mentor new contributors, improving the CI workflows, update the documentation,  etc.
        - Implemented the `--wrap-static-fns` feature, which allows to generate bindings for static C functions.
        - Reorganize the code so adding new flags to bindgen is less error prone.
        - Improve build times by reducing the number of downloaded dependencies and reorganizing the codebase.
        #text(weight: "bold", size: 11pt)[Sudo-rs]
        - Implemented the execution layer of `sudo`.
        - Wrote a callback based polling API to handle signals and IO events.
        #text(weight: "bold", size: 11pt)[Miri]
        - Added support for Integer-Pointer casts in Miri to allow pointer arithmetic.
        - Implemented distinct primitives for interpreter-host communication in Miri.
        #text(weight: "bold", size: 11pt)[Rust]
        - Weakened several compiler checks to expand constant evaluation support.
        - Migrated several compiler diagnostics to ease diagnostic translation.
    ]
)
#v(1em)

#section[Events]
#pad(
    left: 1em,
    [
        #event_item("2020", "Speaker", "RustFest Global", "Online")
        #event_item("2019", "Scolarship Assistant", "RustFest", "Barcelona, Spain")
        #event_item("2016", "Scolarship Assistant", "24th Physics Summer School", "México, México")
        #event_item("2016", "Scolarship Assistant", "1st Mexican AstroCosmoStatistics School", "Guanajuato, México")
        #event_item("2013", "Speaker", "4th Colombian Congress in Astronomy and Astrophysics", "Online")
        #v(1em)
    ]
)

#section[Relevant Courses]
#pad(
    left: 1em,
    [
        #event_item("2018", "Concurrency and Distribution", "Systems and Computing Engineering", "Uniandes")
        #event_item("2018", "Programing Paradigms", "Systems and Computing Engineering", "Uniandes")
        #event_item("2015", "Measure and Integration", "Mathematics", "Uniandes")
        #event_item("2015", "Computational Complexity", "Mathematics", "Uniandes")
        #event_item("2015", "Mathematical Logic", "Mathematics", "Uniandes")
        #event_item("2013", "Computational Physics", "Physics", "Uniandes")
        #event_item("2012", "Number Theory", "Mathematics", "Uniandes")
        #event_item("2012", "Discrete Mathematics", "Mathematics", "Uniandes")
    ]
)
#v(1em)

#section[Programming]
#pad(
    left: 1em,
    [
        #grid(
            columns: 2,
            [
                #text(weight: "bold", size: 11pt)[Programming Languages]

                #box(height: 2em, columns(4)[
                    - Rust
                    - C
                    - Python
                    - Bash
                    - Elixir
                    - Go
                ])
            ],
            [
                #text(weight: "bold", size: 11pt)[Other Tools]

                #box(height: 2em, columns(4)[
                    - Git
                    - Docker
                    - Nix
                    - Valgrind
                    - Heaptrack
                    - Perf
                    - Miri
                    - Z3
                ])
            ]
        )
    ]
)
#v(1em)

#section[Languages]
#pad(
    left: 1em,
    [
        #grid(
            columns: (1fr, 1fr, 1fr),
            [#text(weight: "bold")[Spanish] #h(1em) Native],
            [#text(weight: "bold")[English] #h(1em) C1],
            [#text(weight: "bold")[German] #h(1em) B1],
        )
    ]
)
