Skip to content

Commit b98b29e

Browse files
Lutherwavesclaude
andcommitted
feat: ship Martin Yankov v1.0.0
The OSS project that is me. Resume, cover letter, CI/CD, and all. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0 parents  commit b98b29e

8 files changed

Lines changed: 334 additions & 0 deletions

File tree

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Markdown Lint
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths: ["**/*.md"]
7+
pull_request:
8+
branches: [main]
9+
paths: ["**/*.md"]
10+
11+
permissions: read-all
12+
13+
jobs:
14+
lint:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v4
19+
20+
- name: Run markdownlint
21+
uses: DavidAnson/markdownlint-cli2-action@v19
22+
with:
23+
globs: "**/*.md"

.github/workflows/pages.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: pages
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Setup Pages
25+
uses: actions/configure-pages@v5
26+
27+
- name: Build with Jekyll
28+
uses: actions/jekyll-build-pages@v1
29+
with:
30+
source: ./
31+
destination: ./_site
32+
33+
- name: Upload artifact
34+
uses: actions/upload-pages-artifact@v3
35+
36+
deploy:
37+
environment:
38+
name: github-pages
39+
url: ${{ steps.deployment.outputs.page_url }}
40+
runs-on: ubuntu-latest
41+
needs: build
42+
steps:
43+
- name: Deploy to GitHub Pages
44+
id: deployment
45+
uses: actions/deploy-pages@v4

.github/workflows/release.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
permissions:
8+
contents: write
9+
issues: write
10+
pull-requests: write
11+
12+
jobs:
13+
release:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
with:
19+
persist-credentials: false
20+
21+
- name: Setup Node.js
22+
uses: actions/setup-node@v4
23+
with:
24+
node-version: lts/*
25+
26+
- name: Install dependencies
27+
run: npm install semantic-release @semantic-release/changelog @semantic-release/git
28+
29+
- name: Run semantic-release
30+
env:
31+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
run: npx semantic-release

.markdownlint.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
default: true
2+
MD013:
3+
line_length: 300
4+
MD033:
5+
allowed_elements:
6+
- img
7+
- br
8+
MD041: false

.releaserc.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"branches": ["main"],
3+
"plugins": [
4+
"@semantic-release/commit-analyzer",
5+
"@semantic-release/release-notes-generator",
6+
[
7+
"@semantic-release/changelog",
8+
{
9+
"changelogFile": "CHANGELOG.md"
10+
}
11+
],
12+
[
13+
"@semantic-release/git",
14+
{
15+
"assets": ["CHANGELOG.md"],
16+
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
17+
}
18+
],
19+
"@semantic-release/github"
20+
]
21+
}

LICENSE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Martin Yankov
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

MARTIN.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# MARTIN.md
2+
3+
> The cover letter that doesn't pretend to be a cover letter.
4+
5+
---
6+
7+
## The Builder
8+
9+
I've been building things my whole life. As a kid, I watched my parents' construction company put up buildings. That probably wired something in my brain — the need to take raw materials and turn them into something that stands.
10+
11+
Software just happened to be the material I picked up. I started with WordPress and PHP, nearly quit the whole thing, and then someone believed in me when I couldn't answer a single interview question. That was all it took.
12+
13+
Since then, I haven't stopped. Not once.
14+
15+
## How I Work
16+
17+
I ask a lot of questions. Not because I don't understand — because I want to make sure we're building the right thing. I've seen enough wasted engineering effort to know that the most expensive bug is building the wrong feature perfectly.
18+
19+
I'm result-driven, but I care about why we're chasing the result. If something doesn't serve the user or move the company forward, I'll be the first to ask "why are we doing this?"
20+
21+
I believe in convention over configuration. Opinionated frameworks exist for a reason. I'd rather follow an established pattern well than reinvent it poorly. The best code I've written is code that anyone can pick up, understand, and extend without me being in the room.
22+
23+
## The Addiction
24+
25+
I am a Claude Code Max subscriber. I max out my subscription every single week.
26+
27+
I tmux from my phone. I build side projects while waiting at the supermarket. While sitting in the bank. While waiting for anything. If there's a gap of time and I have a terminal, I'm writing code.
28+
29+
This isn't discipline — it's addiction. I genuinely cannot stop building things. Every new tool, every new API, every new problem is a pull I can't resist. Cursor and Claude Code are open on my machine hourly, not daily.
30+
31+
## Open Source
32+
33+
With AI accelerating everything, I believe generic software has no business being closed and proprietary. The future is open.
34+
35+
I sponsor **llama.cpp**, **Open WebUI**, and **OpenClaw**. I'm an active contributor and consultant for **Open WebUI** specifically. Open source isn't a philosophy for me — it's how software should work.
36+
37+
## What You Get
38+
39+
A builder who cares about outcomes, not optics. Someone who'll question the plan before blindly executing it. An engineer who stays technical no matter the title. A communicator who can bridge business and engineering without losing either side.
40+
41+
I've led teams, I've been the solo dev, I've inherited legacy systems and built greenfield products. The constant across all of it: I ship things that work, I keep things simple, and I never stop learning.
42+
43+
---
44+
45+
*If you've read this far, we should probably talk.*
46+
47+
`martin@yankovs.com`

README.md

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
# Martin Yankov
2+
3+
[![Markdown Lint](https://github.com/Lutherwaves/README/actions/workflows/markdown-lint.yml/badge.svg)](https://github.com/Lutherwaves/README/actions/workflows/markdown-lint.yml)
4+
[![Deploy to GitHub Pages](https://github.com/Lutherwaves/README/actions/workflows/pages.yml/badge.svg)](https://github.com/Lutherwaves/README/actions/workflows/pages.yml)
5+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE.md)
6+
[![Open Source](https://img.shields.io/badge/Open%20Source-Believer-brightgreen.svg)](#open-source)
7+
[![Claude Code](https://img.shields.io/badge/Claude%20Code-Max%20Subscriber-blueviolet.svg)](#about)
8+
9+
> Software Engineering Lead | Stara Zagora, Bulgaria
10+
11+
`martin@yankovs.com` | [linkedin.com/in/mdyankov](https://www.linkedin.com/in/mdyankov) | [yankovs.com](https://yankovs.com)
12+
13+
---
14+
15+
## About
16+
17+
Full-stack engineer and team lead with 8+ years building cloud infrastructure, governance, and FinOps tooling. I ask a lot of questions — it's how I make sure we're solving the right problem for the right people.
18+
19+
I'm result-driven but value-driven first. If something doesn't serve the user or move the company forward, I want to understand why we're doing it. I care deeply about the user perspective and making sure engineering effort translates into real outcomes.
20+
21+
**Strong believer in convention over configuration, opinionated frameworks, and consistent code.** I'd rather follow an established pattern well than reinvent it.
22+
23+
I'm also a supercommunicator — I thrive in cross-team collaboration, translating between business needs and technical execution, and making sure everyone is aligned before we build.
24+
25+
I live in the terminal. I don't use VSCode — I work in Cursor and Claude Code hourly, not daily. Active Claude Code Max subscriber, maxing out my subscription every week building side projects. I tmux from my phone — building while waiting at the supermarket, at the bank, wherever. I am addicted to building things and I'm never going to stop.
26+
27+
Trilingual: English, German, Bulgarian.
28+
29+
> For more about who I am as a builder, see [MARTIN.md](MARTIN.md).
30+
31+
---
32+
33+
## Open Source
34+
35+
I believe that with AI on the rise, generic software has no business being closed and proprietary. Let chip manufacturers keep their secrets to drive competition — everything else should be open.
36+
37+
I put my money where my mouth is: sponsor of **llama.cpp**, **Open WebUI**, and **OpenClaw**. Active contributor and consultant for **Open WebUI** specifically.
38+
39+
---
40+
41+
## Experience
42+
43+
### Software Engineering Lead — Broadcom *(9/10)*
44+
45+
*Jan 2024 – Present*
46+
47+
Learned to do more with less. Built everything so nothing is bottlenecked on me — a clean handoff is just a doc with repo links. Wrote more code here than in all my previous roles combined.
48+
49+
- Built Broadcom's cloud inventory and chargeback system — ensuring every account, project, and subscription across AWS, GCP, and Azure is attributed to the right team with accurate billing data, giving Product BUs a realistic picture of their cloud spend
50+
- Stuck to established patterns throughout: REST, OpenAPI, microservices — simple, maintainable, no reinvention
51+
- Became a decision evaluator — learned to get the most out of every developer, even those with zero interest in learning
52+
53+
### R&D Manager — VMware *(8/10)*
54+
55+
*Dec 2022 – Jan 2024*
56+
57+
Learned that management problems require a human touch on top of technical depth. You can't force someone to learn, but you can set the example, hold yourself accountable, and stay to a high standard. Stayed technical throughout — always on-call.
58+
59+
- Led a globally distributed team running a ring-0 cloud access service at 99.999% uptime
60+
- Learned to trust engineers with solutions and let them learn from mistakes, instead of micro-managing with "the right way according to me"
61+
- Owned roadmap planning, balancing SOC2/PCI DSS/ISO compliance with feature delivery
62+
63+
### Full Stack Software Engineer — VMware *(8/10)*
64+
65+
*Jan 2021 – Dec 2022*
66+
67+
Joined a small team that needed to scale fast. Got my first task, completed five more in two weeks. Three weeks in, was selected to lead the transition of an entire workload from another team. Did 11 things at once every week — and there was no AI, so it was all raw.
68+
69+
- Co-architected a ground-up refactor of an event-driven multi-cloud access platform (Terraform + Lambdas deploying across 17,000+ accounts in all AWS regions simultaneously) — 99.9999% availability, strict monitoring, observability, on-call
70+
- The platform provided just-in-time credentials used by all SRE teams to access and troubleshoot cloud accounts
71+
- Helped the team establish standards — documentation, Jira tracking, development practices — to scale from a small crew to a real operation
72+
73+
### Full Stack Software Engineer — TEKOM *(7/10)*
74+
75+
*Apr 2020 – Jan 2021*
76+
77+
Grew up watching my parents' construction company build things — this role brought back that spark. Full flexibility, small budget, endless possibilities. Worked directly with on-site workers to figure out how to automate their processes, and extracted two patents out of it.
78+
79+
- Built custom software for process automation and data collection on- and off-site
80+
- Introduced agile practices to construction teams who'd never seen them
81+
82+
### Full Stack Software Engineer — G Adventures *(6/10)*
83+
84+
*Feb 2020 – Apr 2020*
85+
86+
First time being given full ownership of a project end-to-end — "build it however you want, we'll discuss and adjust." Learned that no company will ever have a perfect internal system, things change rapidly, just like the world.
87+
88+
- Built API layer in Django, contributed to React/Redux/Apollo frontend for trip management
89+
- Used my own travel experience to drive product decisions and iterate fast
90+
91+
### Full Stack Software Engineer — Hadoco *(8/10)*
92+
93+
*Dec 2017 – Dec 2019*
94+
95+
First time my engineering skills brought value to a real product. Sat desk-to-desk with the CTO discussing architecture. Full ownership, full accountability. Experimented constantly to figure out how the company could reduce customer churn.
96+
97+
- Built and iterated on data science web apps, Vue frontend redesigns, Ionic PWAs
98+
- Deployed and managed everything on Azure
99+
- Main developer in Founders Foundation Startup Accelerator
100+
101+
### Junior Software Engineer — stressfrei / stressfrei Logistik *(10/10)*
102+
103+
*Dec 2016 – Jul 2017*
104+
105+
Went to the interview, answered zero questions correctly. The CTO said "you know this, come on," we whiteboarded solutions together, and he asked "when can you start?" I was about to quit software engineering entirely — this place lit the spark back. Never looked back since.
106+
107+
---
108+
109+
## Education
110+
111+
**B.Sc. Business Computer Science** — University of Munster
112+
113+
---
114+
115+
## Skills
116+
117+
| Category | Technologies |
118+
|----------|-------------|
119+
| **Cloud** | AWS, GCP, Azure, GKE, EKS, Terraform, FinOps |
120+
| **Backend** | Node.js, Express, Go, Django, OpenAPI, GraphQL |
121+
| **Frontend** | Angular, React, Vue, Ionic |
122+
| **Infra & Ops** | Kubernetes, CI/CD, Grafana, Prometheus, IAM/Security Governance, SOC2/PCI DSS |
123+
| **Tools** | Claude Code, Cursor, tmux, terminal-first workflow |
124+
| **Certifications** | Google Cloud (Core Infrastructure, Terraform, Security, Networking, GKE) |
125+
126+
---
127+
128+
## Patents
129+
130+
- Modular system for preparatory repairs of buildings (BG, 2020)
131+
- Construction process management and control system (BG, 2020)
132+
133+
---
134+
135+
## License
136+
137+
This project is licensed under the [MIT License](LICENSE.md) — because of course it is.

0 commit comments

Comments
 (0)