Martin Luther Yung
Profile
A hodgepodge between a Developer and a DevOps.
Experience
Nokia
Wroclaw, Poland
Software Engineer
Feb 2021 - Present
- Performs DevOps-related tasks that affect multiple teams, ensuring CI/CD pipelines work for all teams.
- Implement, and push left-shift practices and tooling to all developer teams.
- Provide DevOps support for the whole BOAM product build-release process. This can range from machine-side issues and environment issues to domain-side code problems.
- Develop tools to assist in building, running, and performing quality analysis of codebases.
- Python
- C++
- CMake
- Yocto
- Build Systems
- Coverity
Nokia
Philippines
Research and Development Engineer
Mar 2019 - Jan 2020
- Performed feature development and maintenance of the WCDMA-OAM project. Handled tester and customer prontos and features. In addition, improvements that involved build-system and CI/CD.
- Solo-implemented a long-overdue migration to conform with the central build team's unified toolchain/SDK. This brought the much-needed platform update that resulted in better compiler and tools, environment consistency, and conformance with how the central build team does it. The implementation spanned WCDMA-OAM's monolithic repository that housed ~15+ domains previously developed by many teams. In addition, I also performed a wide-sweeping cleanup of this monolithic repository, resulting in ~800 files removed in the main branch.
- Due to the previous achievement, I was able to push for these various improvements Upgrade from c++11 to c++14 standard. Research and implement proof-of-concepts for distcc and ccache to accelerate build times. In addition, accelerate link times via LLVM linker (ldd).
- Without any prior training, I delved into DevOps-related work that led to the two previous achievements that extended to improvements on the CI side of things. The team had no locally available CI expert at that time, and I was able to implement changes Improve visibility of which UT/MT are flaky and uncover a technical debt wherein return code in CI runs are determined by console log parsing instead of detecting the return code. Adjust each of the ~15+ domains CI configuration to have tighter timeouts (reversed-engineered the legacy solution as the configuration didn't reside on the CI itself)
- C++
- CMake
- Rational Rhapsody
- subversion
- Agile
Okada Manila
Philippines
Project Management Intern
Oct 2016 - Dec 2016
- Worked on projects focused on IBM Maximo, an enterprise asset management system.
- Python
- HTML
- CSS
- C#/Unity
Projects
Hosting my first app on my Kubernetes cluster
2024
This CV site is hosted on it!
- I hosted a simple static website to ensure that all of my toilings resulted in something fruitful. This is exposed to the internet using Cloudflare tunnel. Once set correctly, Kubernete's declarative nature is magical; It keeps tripping my danger senses. XD. My core Kubernetes setup comprises flannel as CNI, CoreDNS, Istio as ingress controller, and Metallb as load-balancer. For the app, I used Cloudflare Tunnels to handle the endpoint and stored the static website content in my Glusterfs storage; nginx mounts this to serve the static website. This static website uses Hugo as the website generator.
- Cloudflare Tunnels
- K8s Deployments
Creating my own baremetal Kubernetes cluster
2024
Kubernetes-the-hardway to boot!
- I provisioned my own Kubernetes cluster the hard way! In addition, I used GlusterFS as a storage backend. It taught me the parts of a Kubernetes cluster and why Kubernetes is a big topic. I also learned Ansible to automate the provisioning and keep the setup documented. Learning Glusterfs is also fun. It is surprisingly easy to configure. I also created my first, though simple, EBuild to solve a missing package for arm64.
- Kubernetes
- Ansible
- Glusterfs
Provisioning my baremetal machines with Gentoo
2024
Gentoo on low powered machines, are you insane?
- To solve my infrastructure and Linux troubleshooting weakness, I bought some Un100ds (x86-64) and Raspberry Pi 5s (arm64) and provisioned them with a Linux OS of my choice-- Gentoo. It's a challenge to my Linux administration chops(not everything went smoothly.) Coincidentally, it challenged my software design skills since I had to make my provisioning scripts maintainable (at least to me.)"
- Gentoo
- Bootloading
Education
BSc in Computer Engineering
Mapua University (Formerly Mapua Institute of Technology)
2010 - 2017
Specialised in data analysis
- +48 793 747 655
- martin_luther_yung@outlook.com
- Wroclaw, Poland
Skills
-
-
Most Proficient
- Troubleshooting build issues
-
Programming and Tooling
- C++
- Python
- Bash
- Coverity
- clangformat
- gcov/r
-
DevOps/Build-Systems
- Yocto
- CMake
- Git (Gerrit)
- Docker
- Kubernetes
- AWS
-
Linux Administration
- Linux (Gentoo)
- WSL
- Ansible
-
Work-related Interests
- Build-systems
- Embedded
- CI/CD
- Automation
Languages
-
Filipino/TagalogNative
-
EnglishFluent
Diplomas
- AWS Certified Solutions Architect - Associate (Feb 2024)
Interests
- Gaming
- Technology
- Hiking
- Running
- Tinkering