Curriculum-Vitae/resume.typ
Tigor Hutasuhut 4ceb707f12
All checks were successful
build resume / build (push) Successful in 7s
replaced OpenVPN with Wireguard in the resume
2024-07-02 14:41:50 +07:00

230 lines
7.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#import "template.typ": *
#set page(margin: (
left: 10mm,
right: 10mm,
top: 15mm,
bottom: 15mm,
))
#let linkify(lnk, txt, color: "#4273B0") = {
underline(link(lnk, text(rgb(color), txt)))
}
#set text(font: "Mulish")
#show: project.with(
theme: rgb("#0F83C0"),
name: "Tigor Hutasuhut",
title: "Software Engineer",
contact: (
contact(
text: "tigor.hutasuhut@gmail.com",
link: "mailto:tigor.hutasuhut@gmail.com",
),
contact(
text: "GitHub.com/tigorlazuardi",
link: "https://www.github.com/tigorlazuardi",
),
contact(
text: "LinkedIn.com/in/tigor-hutasuhut",
link: "https://www.linkedin.com/in/tigor-hutasuhut",
),
contact(
text: "git.tigor.web.id",
link: "https://git.tigor.web.id",
),
),
main: (
section(
title: "Work Experience",
content: (
subSection(
title: "Bareksa Marketplace Indonesia",
titleEnd: "Jakarta, Indonesia",
subTitle: "Software Engineer",
subTitleEnd: [*November 2019 - Present*],
),
subSection(
title: [#underline[Stock Project]],
content: list(
[
Developed *high performance and cheap to scale _stateful_* Market Data streams infrastructure that can hold against
*thousands of connections* without noticeable delay from IDX Burse data to consumers devices and can hold against
irregular conditions like Market Panics.
],
[ Implemented high performance aggregators and runners for Market Data that can serve final data to users without delay. ],
[ Collaborated with Frontend and Product teams to implement HTTP API and WebSocket for Stock Platform ],
[ Main researcher and MVP provider to demo and integrate new technology stack to existing ones. ],
),
),
subSection(
title: [#underline[Internal Toolings]],
content: list(
[
Developed and Maintain library for standardized logging, http body responses, metrics, and tracing integration to
support faster debugs and performance review.
],
[
Developed integration tool and library for easy integration of apps with secure secret management
#underline(link("https://vault.hashicorp.com",text(rgb("#4273B0"),"Vault Hashicorp"))).
],
),
),
subSection(
title: [#underline[SBN Project]],
content: list(
[ Implement HTTP APIs for integration with *_Kemenkeu_*],
[ Create Cron Jobs to ensure the internal system is as close as possible to *_Kemenkeu_* system state. ],
[ Transform *Sync* operation Purchase process to *_Async_* infrastructure to support _backpressure_ when consumers rush to purchase new SBN products. ],
[ Create batch job runners to integrate and syncs data with *_Bina Artha_*. ],
),
),
subSection(
title: [#underline[Gold Project]],
content: list(
[ Implement HTTP APIs for integration with *_Pegadaian_*],
[ Create Cron Jobs to ensure the internal system is as close as possible to *_Pegadaian_*'s open-loop system state. ],
),
),
),
),
section(
title: "Projects",
content: (
subSection(
title: underline(
link(
"https://git.tigor.web.id/tigor/redmage",
text(rgb("#4273B0"), "Redmage [WIP]"),
),
),
content: list(
[
A performant image scraper and downloader for Reddit using Go for the backend and a
combination of #linkify("https://github.com/a-h/templ", "templ"), #linkify("https://tailwindcss.com/", "Tailwind") #linkify("https://alpinejs.dev/", "AlpineJS"), and #linkify("https://htmx.org", "HTMX")
for the interactive frontend.
],
[Designed with simplicity and easy deployments in-mind like output single binary and using SQLite for the database.],
[Fault tolerant system with #underline(link("https://watermill.io/",text(rgb("#4273B0"),"Watermill"))) Pub/Sub library.],
[Easy management of Schedulers, Devices, and Subreddits via it's Web UI.],
[Demo: #linkify("https://redmage-demo.tigor.web.id", "https://redmage-demo.tigor.web.id")],
),
),
subSection(
title: underline(
link(
"https://git.tigor.web.id/tigor/nixos",
text(rgb("#4273B0"), "Homeserver"),
),
),
content: list(
[
A self-host, on-prem machine. Using #linkify("https://podman.io/", "Podman") for the containerization,
#linkify("https://caddyserver.com", "Caddy") for the reverse proxy
and #linkify("https://nixos.org", "NixOS") for the OS to set
#linkify("https://git.tigor.web.id/tigor/NixOS/src/branch/main/system/podman", "declarative configuration of Podman containers and Caddy virtual hosts").
],
[
Hosts over many services, like
#linkify("https://git.tigor.web.id", "Git Server and its CI Runners (Forgejo)"),
#linkify("https://nextcloud.tigor.web.id", "Nextcloud"),
#linkify("https://qbittorrent.tigor.web.id", "Seedbox (Qbittorrent)").
#linkify("https://pihole.tigor.web.id", "Pihole (DNS Management, Ad Blocker, and DHCP Server)"),
#linkify("https://jellyfin.tigor.web.id", "Mediaserver (Jellyfin)"),
Wireguard.
],
),
),
subSection(
title: underline(
link(
"https://git.tigor.web.id/tigor/nixos",
text(rgb("#4273B0"), "NixOS"),
),
),
content: list(
[
#linkify("https://nixos.org", "NixOS") Configuration for homeserver and devices.
],
[
The declarative nature of NixOS allows for easy reproducibility on hardware failures,
lock-file system to ensure the same dependencies installed across instances,
and a generation system allows rollback on os failures, thus ensuring a very robust and stable system.
],
),
),
),
),
section(
title: "Skills",
content: (
subSection(
title: "Languages",
content: (
"Go",
"Typescript",
"Javascript",
"Lua",
"Nix",
"Rust",
"Java",
"SQL",
"HTML",
"CSS",
).join(" • "),
),
subSection(
title: "Technologies",
content: (
"Kafka",
"Postgresql",
"SQLite",
"MongoDB",
"InfluxDB",
"Docker",
"Kubernetes",
"Gitlab CI/CD",
"Github Actions",
"NixOS",
"Neovim",
"NodeJS",
"Git",
"Hashicorp Vault",
"Redis",
"HTMX",
"Tailwind",
"React",
"NextJS",
"WebExtension",
).join(" • "),
),
),
),
section(
title: "Education",
content: (
subSection(
title: [
#set par(justify: false)
University of Indonesia
],
subTitle: "Bachelor of Economics",
content: [
],
),
subSection(
title: [
#set par(justify: false)
Hacktiv8 Indonesia
],
subTitle: "Fullstack Javascript Immersive Bootcamp",
content: [
],
),
),
),
),
)