[{"data":1,"prerenderedAt":1024},["ShallowReactive",2],{"page-en-\u002Fposts":3,"posts-en":23},{"id":4,"title":5,"body":6,"description":13,"extension":16,"meta":17,"navigation":18,"path":19,"seo":20,"stem":21,"__hash__":22},"content_en\u002Fposts\u002Findex.md","Blog - Rasten Remizov",{"type":7,"value":8,"toc":12},"minimark",[9],[10,11],"posts-list",{},{"title":13,"searchDepth":14,"depth":14,"links":15},"",2,[],"md",{},true,"\u002Fposts",{"title":5,"description":13},"posts\u002Findex","vIZfsPSniR2e5lIt2RhB5nvhd98fEJOjsDZvQy49Ir8",[24,69,823],{"id":25,"title":26,"body":27,"description":13,"extension":16,"meta":62,"navigation":18,"path":65,"seo":66,"stem":67,"__hash__":68},"content_en\u002Fposts\u002Fhello-blog.md","Hello blog!",{"type":7,"value":28,"toc":60},[29,36,40,48,51,54,57],[30,31,32],"h1",{"id":13},[33,34],"binding",{"value":35},"title",[37,38,39],"p",{},"At some point, I noticed that the most interesting conversations I have — about technology, about life, about why things are the way they are — disappear the moment they end. I wanted a place where I could hold onto those thoughts, even if just for myself, and come back to them when needed.",[37,41,42,43,47],{},"As for the blog, I genuinely think it will help me move forward. I want to improve my writing, learn to structure my thoughts better and collect them all in one place. I don't think it will stick to any particular topic. I'm going to write about anything I find interesting. But you can always use ",[44,45,46],"em",{},"tags"," to filter for what you care about the most.",[37,49,50],{},"As my native language is Russian, I will write posts both in English and Russian. You can switch between them whenever you like. Both versions will have their own articles, since not all topics translate well across both audiences — and vice versa.",[37,52,53],{},"Anyway, this site will definitely evolve over time. I plan to add a section about the hardware and software I use, a list of my favorite media, or maybe even something I haven't thought of yet.",[37,55,56],{},"I hope you'll find something interesting here. Btw any suggestions are welcome!",[37,58,59],{},"See you next time!",{"title":13,"searchDepth":14,"depth":14,"links":61},[],{"date":63,"duration":64},"2026-03-13 00:00:00 UTC","1 min","\u002Fposts\u002Fhello-blog",{"title":26,"description":13},"posts\u002Fhello-blog","gZ2Fw8GA1Es33qyleChpbv-BZZVuVv6pPfcNYviWH8g",{"id":70,"title":71,"body":72,"description":813,"extension":16,"meta":814,"navigation":18,"path":819,"seo":820,"stem":821,"__hash__":822},"content_en\u002Fposts\u002Fstop-using-word-for-your-resume.md","Stop using Word for your resume",{"type":7,"value":73,"toc":798},[74,78,85,88,100,111,114,120,123,126,131,138,198,202,207,218,236,239,242,273,284,287,291,294,311,314,350,353,357,360,384,387,413,424,435,439,442,444,448,455,458,462,465,507,510,518,521,525,528,692,694,698,701,704,707,715,718,757,774,781,785,788,791,794],[30,75,76],{"id":13},[33,77],{"value":35},[37,79,80,81,84],{},"Every professional needs a resume. It's the most impactful document you have — one that shapes the first ",[44,82,83],{},"impression"," of you.",[37,86,87],{},"When I started working in IT, the easiest and most obvious option was to use job-search platforms. All popular hiring websites offer a form that, once completed, generates a downloadable document for any HR person or recruiter to review.",[37,89,90,91,94,95,99],{},"But what if you use ",[44,92,93],{},"several"," hiring platforms? Maintaining them quickly becomes tedious. Sooner or later, a single edit to your resume turns into a series of repetitive updates across different websites. In developer terms, this violates the ",[96,97,98],"strong",{},"DRY"," principle.",[37,101,102,103,106,107,110],{},"One solution is to keep your resume in a single editable file, update it when needed, and then sync it with all the platforms. This doesn't ",[44,104,105],{},"fully"," solve the problem — you still have to manually copy and paste content — but it creates a ",[96,108,109],{},"single source of truth"," from which all copies are derived. On top of that, resumes exported by these platforms tend to be ugly and uniform, making them indistinguishable from one another and easy to skip.",[37,112,113],{},"This led me to a simple question:",[115,116,117],"blockquote",{},[37,118,119],{},"Which format should I use to create and store my source resume?",[37,121,122],{},"I spent far more time on this than I expected — and even had to build a simple tool along the way (more on that later).",[124,125],"hr",{},[127,128,130],"h2",{"id":129},"defining-the-requirements","Defining the Requirements",[37,132,133,134,137],{},"Before comparing formats, I needed to define what I actually want. Here's my list, ordered by ",[96,135,136],{},"importance",":",[139,140,141,152,158,164,170,176,186,192],"ol",{},[142,143,144,147,148,151],"li",{},[96,145,146],{},"Transformable to PDF"," — PDF is the universal format for sharing resumes, so the source format ",[96,149,150],{},"must"," convert to it cleanly.",[142,153,154,157],{},[96,155,156],{},"Precise layout control"," — margins, columns, spacing, and alignment should be easy to define and adjust.",[142,159,160,163],{},[96,161,162],{},"Rich and flexible styling"," — fonts, colors, sizes, and visual hierarchy should be straightforward to apply.",[142,165,166,169],{},[96,167,168],{},"Easy to author content"," — writing and editing text should feel natural, without fighting the format.",[142,171,172,175],{},[96,173,174],{},"LLM and ATS friendly"," — LLMs can speed up creating, modifying, and reviewing resumes. ATS compatibility is less critical since the final output is PDF, but it's still nice if the raw format is parseable too.",[142,177,178,181,182,185],{},[96,179,180],{},"Version-controllable"," — the format should be text-based so changes can be tracked, ideally with ",[96,183,184],{},"Git",".",[142,187,188,191],{},[96,189,190],{},"Portable"," — not locked into any specific tool, editor, or platform.",[142,193,194,197],{},[96,195,196],{},"Separation of content and style"," — so you can redesign the look without rewriting the content.",[127,199,201],{"id":200},"evaluating-the-options","Evaluating the Options",[203,204,206],"h3",{"id":205},"microsoft-word-docx","Microsoft Word (.docx)",[37,208,209,210,213,214,217],{},"The most popular ",[44,211,212],{},"raw"," resume format is without a doubt ",[96,215,216],{},".docx",". Its strengths:",[219,220,221,226,232],"ul",{},[142,222,223],{},[96,224,225],{},"Easy to transform to PDF",[142,227,228,231],{},[96,229,230],{},"Rich styling"," — you can easily change fonts, colors, etc.",[142,233,234],{},[96,235,168],{},[37,237,238],{},"And... no, that's all.",[37,240,241],{},"Now the weaknesses:",[219,243,244,250,256,262,268],{},[142,245,246,249],{},[96,247,248],{},"Layout control exists",", but IMHO it's clunky to work with.",[142,251,252,255],{},[96,253,254],{},"Not LLM friendly at all"," due to binary encoding. You can't paste raw content into an LLM. LLMs can't generate .docx files. ATS is excellent though.",[142,257,258,261],{},[96,259,260],{},"Not version-controllable"," — binary format means no meaningful diffs.",[142,263,264,267],{},[96,265,266],{},"Not portable",". You're limited to Word (paid, desktop-only), Google Docs, or free editors that tend to be unstable.",[142,269,270,185],{},[96,271,272],{},"Separation of content and style is practically nonexistent",[37,274,275,276,279,280,283],{},"So the most popular resume format satisfies only ",[96,277,278],{},"3 out of 8"," requirements. The same applies to ",[96,281,282],{},".gdoc",", which is essentially Google's equivalent.",[37,285,286],{},"My main frustration is the dependency on third-party products and the limited, hard-to-modify layout. Definitely not for me.",[203,288,290],{"id":289},"latex-tex","LaTeX (.tex)",[37,292,293],{},"The format for math nerds. Its strengths:",[219,295,296,301,306],{},[142,297,298,185],{},[96,299,300],{},"Extremely high-quality PDF output",[142,302,303,185],{},[96,304,305],{},"Precise control over spacing and layout",[142,307,308,310],{},[96,309,168],{}," (once you learn the syntax).",[37,312,313],{},"On the other hand:",[219,315,316,326,333,339,345],{},[142,317,318,319,322,323,185],{},"Styling is powerful but ",[96,320,321],{},"verbose and hard to customize"," — most of the LaTeX resumes look familiarly ",[44,324,325],{},"scientific",[142,327,328,329,332],{},"While .tex files are technically plain text, the verbose syntax makes them ",[96,330,331],{},"harder to work with for LLMs and ATS"," than simpler formats.",[142,334,335,338],{},[96,336,337],{},"Version control is possible",", but the noisy syntax makes diffs harder to read.",[142,340,341,344],{},[96,342,343],{},"More portable than .docx",", but you still need a TeX distribution or a dedicated editor.",[142,346,347,185],{},[96,348,349],{},"No real separation of content and style",[37,351,352],{},"LaTeX is better than .docx, but still doesn't check enough boxes. Not for me.",[203,354,356],{"id":355},"markdown-md","Markdown (.md)",[37,358,359],{},"Here's where things get interesting. Strengths:",[219,361,362,367,372,378],{},[142,363,364,185],{},[96,365,366],{},"Really easy to author content",[142,368,369,185],{},[96,370,371],{},"Fully LLM and ATS friendly",[142,373,374,377],{},[96,375,376],{},"Version control is effortless"," (especially with Git).",[142,379,380,383],{},[96,381,382],{},"Extremely portable"," — any text editor will do.",[37,385,386],{},"Much better! But there are notable gaps:",[219,388,389,395,401,407],{},[142,390,391,394],{},[96,392,393],{},"No layout control"," — only document structure.",[142,396,397,400],{},[96,398,399],{},"No styling"," — it's plain text content.",[142,402,403,406],{},[96,404,405],{},"Nothing to separate"," when there are no styles.",[142,408,409,412],{},[96,410,411],{},"PDF export is possible"," but not straightforward.",[37,414,415,416,419,420,423],{},"The core problem is that Markdown is ",[96,417,418],{},"headless"," — it requires a custom ",[96,421,422],{},"toolchain"," to transform content into a final, styled PDF. That said, most of these tools are open source.",[37,425,426,427,430,431,434],{},"So you ",[44,428,429],{},"can"," freely edit your resume's content, but ",[44,432,433],{},"can't"," control its appearance out of the box. A clear step up, but let's see what else is out there.",[203,436,438],{"id":437},"json-yaml-structured-resume","JSON \u002F YAML Structured Resume",[37,440,441],{},"I won't spend much time on this — it's essentially the same story as Markdown, with even less styling support.",[124,443],{},[127,445,447],{"id":446},"solution","Solution",[37,449,450,451,454],{},"Those are the most common formats people use for resumes, and none of them truly fit my needs. What I wanted was full control over content, styles, ",[44,452,453],{},"and"," layout. If only there were a markup language that separates structure and styling, supports precise layout, and exports cleanly to PDF...",[37,456,457],{},"WAIT... and then it clicked!",[203,459,461],{"id":460},"hypertext-markup-language-html","HyperText Markup Language (HTML)",[37,463,464],{},"Straight to the point:",[219,466,467,473,479,489,495,501],{},[142,468,469,472],{},[96,470,471],{},"Easily transformed to PDF"," via browser print or automation tools.",[142,474,475,478],{},[96,476,477],{},"Layout control is excellent"," — Flexbox, Grid, you name it.",[142,480,481,484,485,488],{},[96,482,483],{},"Rich"," — no, ",[96,486,487],{},"RICH"," styling with the full power of CSS, including hovers and animations (though not in PDF).",[142,490,491,494],{},[96,492,493],{},"Fully LLM friendly"," — you can easily generate and modify styled resumes. ATS can often parse it as well, though overly complex markup may cause issues..",[142,496,497,500],{},[96,498,499],{},"Version control"," is just as easy as Markdown — it's plain text.",[142,502,503,506],{},[96,504,505],{},"Fully portable"," — both content and layout travel with the file.",[37,508,509],{},"Any downsides? Of course:",[219,511,512],{},[142,513,514,517],{},[96,515,516],{},"Content mixes with markup"," — tags and styles live alongside your text. It's still readable, but separation isn't ideal.",[37,519,520],{},"And... yes, that's it for the obvious ones!",[203,522,524],{"id":523},"hidden-gotchas","Hidden Gotchas",[37,526,527],{},"Having worked with HTML resumes for a while, I've encountered a few less obvious issues:",[219,529,530,536,569],{},[142,531,532,535],{},[96,533,534],{},"You need to know HTML and CSS"," to write it. That said, LLMs can generate it for you.",[142,537,538,541,542,545,546,566,568],{},[96,539,540],{},"Browser rendering differs across operating systems."," The same HTML can look different on Windows vs. macOS.",[543,544],"br",{},"Take a look at these two renderings of the same HTML resume on different systems:",[547,548,554,555,554,561],"div",{"className":549},[550,551,552,553],"flex","gap-2","md:flex-row","flex-col","\n  ",[556,557],"posts-image",{"src":558,"alt":559,"caption":560},"\u002Fimages\u002Fresume-macos.png","HTML resume on macos","HTML on macOS",[556,562],{"src":563,"alt":564,"caption":565},"\u002Fimages\u002Fresume-windows.png","HTML resume on windows","Same HTML on Windows",[543,567],{},"The font appears different even though the CSS properties are identical. I spent a long time researching this, and unfortunately it can't be fully fixed. The good news is that once rendered to PDF, the result looks the same everywhere.",[142,570,571,574,575,577,578,689,691],{},[96,572,573],{},"No built-in page breaks."," You have to handle pagination manually.",[543,576],{},"CSS helps with properties like:",[579,580,584],"pre",{"className":581,"code":582,"language":583,"meta":13,"style":13},"language-css shiki shiki-themes github-light github-dark",".page {\n  width: 210mm;\n  height: 297mm;\n}\n\n@media print {\n  .page {\n    break-after: page;\n  }\n}\n","css",[585,586,587,600,619,634,640,646,657,665,678,684],"code",{"__ignoreMap":13},[588,589,592,596],"span",{"class":590,"line":591},"line",1,[588,593,595],{"class":594},"sScJk",".page",[588,597,599],{"class":598},"sVt8B"," {\n",[588,601,602,606,609,612,616],{"class":590,"line":14},[588,603,605],{"class":604},"sj4cs","  width",[588,607,608],{"class":598},": ",[588,610,611],{"class":604},"210",[588,613,615],{"class":614},"szBVR","mm",[588,617,618],{"class":598},";\n",[588,620,622,625,627,630,632],{"class":590,"line":621},3,[588,623,624],{"class":604},"  height",[588,626,608],{"class":598},[588,628,629],{"class":604},"297",[588,631,615],{"class":614},[588,633,618],{"class":598},[588,635,637],{"class":590,"line":636},4,[588,638,639],{"class":598},"}\n",[588,641,643],{"class":590,"line":642},5,[588,644,645],{"emptyLinePlaceholder":18},"\n",[588,647,649,652,655],{"class":590,"line":648},6,[588,650,651],{"class":614},"@media",[588,653,654],{"class":604}," print",[588,656,599],{"class":598},[588,658,660,663],{"class":590,"line":659},7,[588,661,662],{"class":594},"  .page",[588,664,599],{"class":598},[588,666,668,671,673,676],{"class":590,"line":667},8,[588,669,670],{"class":604},"    break-after",[588,672,608],{"class":598},[588,674,675],{"class":604},"page",[588,677,618],{"class":598},[588,679,681],{"class":590,"line":680},9,[588,682,683],{"class":598},"  }\n",[588,685,687],{"class":590,"line":686},10,[588,688,639],{"class":598},[543,690],{},"These lock the dimensions to a real printable page. But combined with the cross-OS rendering differences, page breaks can shift when editing on different devices — an annoying source of inconsistency.",[124,693],{},[127,695,697],{"id":696},"building-the-tool","Building the Tool",[37,699,700],{},"When I settled on HTML, I started looking for a dedicated tool. Surely I wasn't the first person to think of this use case.",[37,702,703],{},"But nothing quite fit. I couldn't find a tool that gave you direct, full control over an HTML resume. The closest options were form-based builders where you load data and pick a template — but they weren't free, and they didn't give you a raw editable file.",[37,705,706],{},"The other obvious approach was editing HTML directly in VS Code, but constantly switching to a browser is tedious. Page breaks are only visible in print preview, and you have to manually export every time.",[37,708,709,710,185],{},"So I decided to build the tool myself. I called it ",[711,712],"cv-html-badge",{"className":713},[714],"ml-1",[37,716,717],{},"It's a Monaco Editor with a live preview, packed with features like:",[219,719,720,725,731,737,742,752],{},[142,721,722],{},[96,723,724],{},"Export to PDF",[142,726,727,730],{},[96,728,729],{},"Import \u002F Export HTML"," — save, load, and modify your resume freely",[142,732,733,736],{},[96,734,735],{},"TailwindCSS support"," (yeah, really!)",[142,738,739],{},[96,740,741],{},"Auto-formatting with Prettier",[142,743,744,747,748,751],{},[96,745,746],{},"Handy extras"," like A4 page outline, utility styles, customizable ",[585,749,750],{},"\u003Chead>"," for fonts, and more",[142,753,754],{},[96,755,756],{},"Completely free and open source",[37,758,759,760,767,768,773],{},"If you've read this far and are interested, check it out ",[761,762,766],"a",{"href":763,"rel":764},"https:\u002F\u002Fcv-html-dev.netlify.app",[765],"nofollow","hosted"," or on ",[761,769,772],{"href":770,"rel":771},"https:\u002F\u002Fgithub.com\u002Frastuhacode\u002Fcv.html",[765],"GitHub",". I'd be glad if you find it useful and appreciate any feedback!",[37,775,776,777,780],{},"There's still plenty of room for improvement. For instance, text replacement isn't straightforward because ",[585,778,779],{},"\u003Cspan>"," tags and other markup get mixed with content. I plan to decompose the template and data layers in a future.",[127,782,784],{"id":783},"conclusion","Conclusion",[37,786,787],{},"Many developers keep their resume in Markdown, LaTeX, or .docx, but HTML offers a surprisingly powerful alternative.",[37,789,790],{},"It's not perfect, but for my needs it turned out to be the best option — offering unmatched control over content, styling, and layout in a portable, version-controllable format.",[37,792,793],{},"I hope you found this article helpful. See you next time!",[795,796,797],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":13,"searchDepth":14,"depth":14,"links":799},[800,801,807,811,812],{"id":129,"depth":14,"text":130},{"id":200,"depth":14,"text":201,"children":802},[803,804,805,806],{"id":205,"depth":621,"text":206},{"id":289,"depth":621,"text":290},{"id":355,"depth":621,"text":356},{"id":437,"depth":621,"text":438},{"id":446,"depth":14,"text":447,"children":808},[809,810],{"id":460,"depth":621,"text":461},{"id":523,"depth":621,"text":524},{"id":696,"depth":14,"text":697},{"id":783,"depth":14,"text":784},"A practical comparison of resume formats",{"date":815,"duration":816,"toc":18,"tags":817},"2026-03-20 00:00:00 UTC","10 min",[818],"dev","\u002Fposts\u002Fstop-using-word-for-your-resume",{"title":71,"description":813},"posts\u002Fstop-using-word-for-your-resume","8730jiJW3L-Q1gYK64YQTnYDaJCZY9x1ltasNqODuCs",{"id":824,"title":825,"body":826,"description":1015,"extension":16,"meta":1016,"navigation":18,"path":1014,"seo":1021,"stem":1022,"__hash__":1023},"content_en\u002Fposts\u002Fyou-should-start-contribute-to-open-source.md","You should start contribute to open-source",{"type":7,"value":827},[828,832,839,842,863,865,869,872,875,879,885,888,914,917,921,928,931,957,960,963,967,976,993,1003,1005,1008],[30,829,830],{"id":13},[33,831],{"value":35},[37,833,834,835,838],{},"If you are good developer, but looking for an opportunity to grow professionaly, you ",[96,836,837],{},"should start contribute to open-source",". And the reason goes beyond benefiting the community — it's much more beneficial for you directly.",[37,840,841],{},"For a long time I was really interested in contributing, but I both underestimated the value I'd get from contributions and overestimated the complexity of the process. In this article I want to touch on both of these themes and maybe make you reconsider your perspective on OSS.",[37,843,844,845,850,851,856,857,862],{},"I'm proud to tell you that since the beginning of 2026 I've already made 10+ contributions, and even landed in the top 30 contributors in ",[761,846,849],{"href":847,"rel":848},"https:\u002F\u002Freka-ui.com\u002F",[765],"Reka UI"," — the core library for ",[761,852,855],{"href":853,"rel":854},"https:\u002F\u002Fui.nuxt.com\u002F",[765],"NuxtUI"," and ",[761,858,861],{"href":859,"rel":860},"https:\u002F\u002Fwww.shadcn-vue.com\u002F",[765],"shadcn-vue","!",[124,864],{},[127,866,868],{"id":867},"the-barrier","The barrier",[37,870,871],{},"For a long time, the idea of contributing felt out of reach. Maintainers are smart and professional — what could I possibly offer? On top of that — working full-time left only evenings, it's not common to contribute in Russia, so nobody around me had ever done it, and the process itself was a mystery. Should you just pick an open issue? Go through the whole project hunting for bugs?",[37,873,874],{},"I tried different approaches and found one that worked for me, so I want to share it with you.",[127,876,878],{"id":877},"the-playbook","The playbook",[37,880,881,882,185],{},"The key mindset shift was simple - yet hard to find: ",[96,883,884],{},"stop treating third-party bugs as your app's problem",[37,886,887],{},"Here's the workflow that made me understand how I could contribute:",[139,889,890,896,902,908],{},[142,891,892,895],{},[96,893,894],{},"Split bugs into levels."," When something breaks, ask: is this your code or a dependency? It seems obvious, but think about how often you wrote workarounds for your app when the bug actually came from third-party.",[142,897,898,901],{},[96,899,900],{},"Dig into the source."," If the bug is from a third-party — open the source and trace it. Most bugs are easier to find than you'd expect.",[142,903,904,907],{},[96,905,906],{},"Solve first, then ask."," Come up with a fix and THEN open an issue asking if you can submit a PR. This order was key for me — the fear of taking on responsibility and failing was real. Knowing I had already found a fix made it much easier to step up.",[142,909,910,913],{},[96,911,912],{},"Protect your deadlines."," If you're worried about timelines at work (since you can't control when your PR gets merged) — create a workaround in your codebase anyway and add a TODO linking to the issue to track the upstream fix.",[37,915,916],{},"Your first contribution doesn't need to be massive. A missing translation, an unexported type, a docs typo — it's enough to get familiar with the workflow: forking, branching, opening PRs, responding to reviews, etc.",[127,918,920],{"id":919},"the-benefits","The benefits",[37,922,923,924,927],{},"So why do I think that you ",[96,925,926],{},"should contribute","?",[37,929,930],{},"As I said before — contributing is one of the rare cases where I underestimated the value I actually got. Every contribution delivers value in three directions at once:",[139,932,933,939,945],{},[142,934,935,938],{},[96,936,937],{},"Your product."," That bug you fixed upstream? It's now fixed for your project too — properly, not with a workaround. Your codebase gets cleaner, and you stop carrying technical debt that isn't yours.",[142,940,941,944],{},[96,942,943],{},"The community."," Every fix, every improvement, every translation helps thousands of developers who depend on the same library. Your one PR might save hundreds of people from writing the same workaround you did.",[142,946,947,950,951,956],{},[96,948,949],{},"Yourself."," You ",[761,952,955],{"href":953,"rel":954},"https:\u002F\u002Fmedium.com\u002F@mohitsingh3406\u002Fwhy-reading-code-is-more-important-than-writing-it-30c01a489375",[765],"read"," code written by experienced developers. You get reviews from people who think differently than your team. You learn to write code that strangers can understand, to communicate in PRs, to think about edge cases that don't exist in your own project.",[37,958,959],{},"On top of that, contributing can become a really good networking tool and source of job opportunities. Although the direct impact of contributions on your job offers is overrated — the network you can build through them is not.",[37,961,962],{},"All of these are exactly the traits that separate good developers from great ones. Think about any programmer you admire — chances are, they're an open-source contributor. I think that's not a coincidence — OSS contributions aren't a consequence of being great, but a cause.",[127,964,966],{"id":965},"the-controversy","The controversy",[37,968,969,970,975],{},"There's also an opposite position, which is well explained here: ",[761,971,974],{"href":972,"rel":973},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=5nY_cy8zcO4",[765],"Don't Contribute to Open Source",". You may notice that my article title is the straight opposite of that video — and that was deliberate. That kind of position was actually gatekeeping me from trying to contribute and grow professionally.",[37,977,978,979,982,983,988,989,992],{},"While I mostly don't agree with this position, I still ",[96,980,981],{},"highly"," recommend watching it, as I totally agree that situations like ",[761,984,987],{"href":985,"rel":986},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=YFkeOBqfQBw",[765],"Node.js README spam"," ",[96,990,991],{},"SHOULD NOT"," happen. I also understand the reason for gatekeeping, but I think it should be balanced and not too aggressive.",[37,994,995,996,999,1000,185],{},"But let me make it clear — while you ",[96,997,998],{},"should start contribute to open source",", you also ",[96,1001,1002],{},"must be respectful and responsible for your actions",[127,1004,784],{"id":783},[37,1006,1007],{},"If you've been thinking about contributing to open source but haven't started yet — you definitely should try. It could become both a growth opportunity and a rewarding experience. As for me — I'll definitely continue to contribute when I get the chance and free time.",[37,1009,1010,1011,185],{},"Basically, that's why if you want to grow professionally you ",[1012,1013,837],"prose-a",{"target":13,"href":1014},"\u002Fposts\u002Fyou-should-start-contribute-to-open-source","How I made first contribution — and why you should too",{"date":1017,"duration":1018,"toc":1019,"tags":1020},"2026-04-03 00:00:00 UTC","5 min",false,[818],{"title":825,"description":1015},"posts\u002Fyou-should-start-contribute-to-open-source","uhSZ-huLZi18FYc-HAKVTnKW1CroGKbeWBCHCYfd9l4",1775217711013]