[{"data":1,"prerenderedAt":482},["ShallowReactive",2],{"navigation":3,"\u002Fblog\u002Fdev-to-manager":48,"\u002Fblog\u002Fdev-to-manager-surround":469,"$f7Td39Vonkf02bgvz57NR3EcUtcG7bggq1tBSUZMiX14":480},[4,23],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","1.docs\u002F1.getting-started\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Usage","\u002Fdocs\u002Fgetting-started\u002Fusage","1.docs\u002F1.getting-started\u002F3.usage","i-lucide-sliders",false,{"title":24,"path":25,"stem":26,"children":27,"page":22},"Essentials","\u002Fdocs\u002Fessentials","1.docs\u002F2.essentials",[28,33,38,43],{"title":29,"path":30,"stem":31,"icon":32},"Markdown Syntax","\u002Fdocs\u002Fessentials\u002Fmarkdown-syntax","1.docs\u002F2.essentials\u002F1.markdown-syntax","i-lucide-heading-1",{"title":34,"path":35,"stem":36,"icon":37},"Code Blocks","\u002Fdocs\u002Fessentials\u002Fcode-blocks","1.docs\u002F2.essentials\u002F2.code-blocks","i-lucide-code-xml",{"title":39,"path":40,"stem":41,"icon":42},"Prose Components","\u002Fdocs\u002Fessentials\u002Fprose-components","1.docs\u002F2.essentials\u002F3.prose-components","i-lucide-component",{"title":44,"path":45,"stem":46,"icon":47},"Images and Embeds","\u002Fdocs\u002Fessentials\u002Fimages-embeds","1.docs\u002F2.essentials\u002F4.images-embeds","i-lucide-image",{"id":49,"title":50,"authors":51,"badge":57,"body":59,"date":458,"description":459,"extension":460,"image":461,"meta":463,"navigation":464,"path":465,"seo":466,"stem":467,"__hash__":468},"posts\u002F3.blog\u002F2.dev-to-manager.md","10 Things I Had to Unlearn When Moving from Developer to Project Manager",[52],{"name":53,"to":54,"avatar":55},"Adi Sulaksono","https:\u002F\u002Fwww.github.com\u002Fadislksn\u002F",{"src":56},"\u002Fimg\u002Fprofile.png",{"label":58},"Leadership, Career",{"type":60,"value":61,"toc":439},"minimark",[62,71,74,85,90,93,96,100,103,128,132,135,147,151,154,161,192,196,199,209,213,216,223,249,253,256,263,267,270,273,320,324,331,334,341,345,348,374,378,385,388,394,423,426],[63,64,65,66,70],"p",{},"The hardest part of becoming a project manager was not learning Jira, writing status reports, or running standups. It was ",[67,68,69],"strong",{},"unlearning"," habits that made me a good developer, but actively worked against me as a leader.",[63,72,73],{},"When I moved from shipping features to shipping outcomes through other people, these ten beliefs had to go.",[63,75,76],{},[77,78],"img",{"alt":79,"className":80,"height":82,"src":83,"width":84},"Team collaborating around laptops in a modern workspace",[81],"rounded-lg",400,"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1522071820081-009f0129c71c?w=1200&h=400&fit=crop",1200,[86,87,89],"h2",{"id":88},"_1-if-i-want-it-done-right-i-should-do-it-myself","1. \"If I want it done right, I should do it myself\"",[63,91,92],{},"As a developer, this mindset saved deadlines. As a PM, it creates bottlenecks, burns you out, and signals distrust to your team.",[63,94,95],{},"Your job is not to be the fastest implementer in the room. It is to remove blockers, clarify priorities, and make sure the right person owns the work. Sometimes that means accepting an 85% solution that ships on time over a 100% solution only you could build three weeks late.",[86,97,99],{"id":98},"_2-more-hours-equals-more-progress","2. \"More hours equals more progress\"",[63,101,102],{},"Developers often equate deep focus time with output. Management runs on a different clock: alignment, communication, and decision latency.",[104,105,106,111,114,117],"picture-and-text",{},[107,108,110],"h3",{"id":109},"the-shift","The shift",[63,112,113],{},"I stopped measuring my day by lines of code or tickets closed. I started measuring whether the team knew what to do next, whether stakeholders had fewer surprises, and whether blockers died within 24 hours.",[63,115,116],{},"Long meetings feel unproductive until you realize one misaligned hour costs the team ten rework hours.",[118,119,121],"template",{"v-slot:image":120},"",[63,122,123],{},[77,124],{"alt":125,"className":126,"height":82,"src":127,"width":82},"Colleagues discussing a project at a shared desk",[81],"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1600880292203-757bb62b4baf?w=400&h=400&fit=crop",[86,129,131],{"id":130},"_3-silence-means-everything-is-fine","3. \"Silence means everything is fine\"",[63,133,134],{},"In code, no errors often means success. In teams, silence usually means confusion, hesitation, or someone swallowing a concern until it becomes a production incident.",[63,136,137,138,142,143,146],{},"I had to unlearn waiting for problems to surface in standup and start asking direct questions: ",[139,140,141],"em",{},"What is at risk? What are we assuming? Who is blocked?"," Good PMs listen for what is ",[67,144,145],{},"not"," being said.",[86,148,150],{"id":149},"_4-perfect-plans-prevent-failure","4. \"Perfect plans prevent failure\"",[63,152,153],{},"Developers love comprehensive specs. Project managers live in uncertainty. Scope shifts. Vendors slip. Priorities change after an executive email.",[63,155,156,157,160],{},"I unlearned the fantasy of the perfect upfront plan and embraced ",[67,158,159],{},"rolling planning"," enough detail for the next sprint or milestone, with explicit assumptions and a clear re-plan trigger when reality diverges.",[162,163,164,174,183],"pictures",{},[165,166,167],"div",{},[63,168,169],{},[77,170],{"alt":171,"className":172,"height":82,"src":173,"width":82},"Sticky notes and planning on a glass board",[81],"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1552664730-d307ca884978?w=400&h=400&fit=crop",[165,175,176],{},[63,177,178],{},[77,179],{"alt":180,"className":181,"height":82,"src":182,"width":82},"Team reviewing tasks on a kanban board",[81],"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1611224923853-80b023f02d71?w=400&h=400&fit=crop",[165,184,185],{},[63,186,187],{},[77,188],{"alt":189,"className":190,"height":82,"src":191,"width":82},"Project roadmap sketched on a whiteboard",[81],"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1531403009284-440f080d1e12?w=400&h=400&fit=crop",[86,193,195],{"id":194},"_5-technical-correctness-wins-every-argument","5. \"Technical correctness wins every argument\"",[63,197,198],{},"Being the smartest person about the stack feels good. It does not always move the project forward.",[63,200,201,202,205,206],{},"Stakeholders care about cost, risk, timeline, and user impact, not whether you chose the more elegant abstraction. I learned to translate technical trade-offs into business language: ",[139,203,204],{},"\"This adds two weeks but cuts outage risk.\""," ",[139,207,208],{},"\"We can ship Friday if we defer analytics to phase two.\"",[86,210,212],{"id":211},"_6-saying-yes-keeps-everyone-happy","6. \"Saying yes keeps everyone happy\"",[63,214,215],{},"Developers want to be helpful. PMs who say yes to everything guarantee failure quietly.",[63,217,218,219,222],{},"I had to unlearn people pleasing and get comfortable with ",[67,220,221],{},"structured no's"," no with a reason, no with an alternative, no with a timeline for when yes becomes possible. Protecting the team's capacity is part of the job, not a personality flaw.",[104,224,226,230,233,240],{":reverse":225},"true",[107,227,229],{"id":228},"_7-my-value-is-my-output","7. \"My value is my output\"",[63,231,232],{},"Your calendar will fill with conversations that produce nothing visible in Git. That does not mean the day was wasted.",[63,234,235,236,239],{},"Facilitating a decision, resolving a cross-team dependency, or rewriting a vague requirement so engineering does not build the wrong thing that ",[139,237,238],{},"is"," the output now.",[118,241,242],{"v-slot:image":120},[63,243,244],{},[77,245],{"alt":246,"className":247,"height":82,"src":248,"width":82},"Manager leading a team meeting in a conference room",[81],"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1517245386807-bb43fd082920?w=400&h=400&fit=crop",[86,250,252],{"id":251},"_8-conflict-is-a-sign-something-is-broken","8. \"Conflict is a sign something is broken\"",[63,254,255],{},"In engineering, merge conflicts get resolved and you move on. In teams, healthy conflict is often the first sign people care enough to push back.",[63,257,258,259,262],{},"I unlearned treating disagreement as dysfunction. The goal is not zero conflict it is ",[67,260,261],{},"fast, respectful resolution"," with a documented decision and a committed next step.",[86,264,266],{"id":265},"_9-documentation-is-overhead","9. \"Documentation is overhead\"",[63,268,269],{},"As a developer, docs sometimes felt like a tax on shipping. As a PM, docs are how you scale yourself.",[63,271,272],{},"Decision logs, RACI clarity, meeting notes with action owners, and written scope boundaries prevent the same questions from eating the same hours every week. If it is not written down, it will be relitigated.",[274,275,276,299],"tabs",{},[165,277,280],{"icon":278,"label":279},"i-lucide-file-text","Worth Writing Down",[281,282,283,287,290,293,296],"ul",{},[284,285,286],"li",{},"Scope in \u002F scope out for each milestone",[284,288,289],{},"Decisions with date, owner, and rationale",[284,291,292],{},"Risk register with mitigation owners",[284,294,295],{},"Dependencies on other teams or vendors",[284,297,298],{},"Definition of done agreed with engineering",[165,300,303],{"icon":301,"label":302},"i-lucide-message-circle","Worth Saying Out Loud",[281,304,305,308,314,317],{},[284,306,307],{},"What changed since last week and why",[284,309,310,311,313],{},"What we are ",[67,312,145],{}," doing this sprint",[284,315,316],{},"Who owns the final call when opinions split",[284,318,319],{},"When the team should escalate vs. decide locally",[86,321,323],{"id":322},"_10-i-need-to-have-all-the-answers","10. \"I need to have all the answers\"",[63,325,326,327,330],{},"Developers are rewarded for solving problems. PMs are rewarded for ",[67,328,329],{},"framing problems"," so the right people can solve them.",[63,332,333],{},"I unlearned the pressure to instantly know the answer in every meeting. \"I do not know yet I will confirm by Thursday and update the channel\" is a valid, professional response. Credibility comes from follow through, not from bluffing.",[63,335,336],{},[77,337],{"alt":338,"className":339,"height":82,"src":340,"width":84},"Professional team planning session with notebooks and laptops",[81],"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1556767547-0a0255a3b90a?w=1200&h=400&fit=crop",[86,342,344],{"id":343},"what-actually-helped-me-transition","What Actually Helped Me Transition",[63,346,347],{},"Unlearning is only half the story. These habits accelerated the shift:",[281,349,350,356,362,368],{},[284,351,352,355],{},[67,353,354],{},"Stay technically literate"," not to code every feature, but to spot unrealistic estimates and respect engineering constraints",[284,357,358,361],{},[67,359,360],{},"Default to over communication early"," in a project; you can always reduce noise later",[284,363,364,367],{},[67,365,366],{},"Protect maker time"," for your team the way you once protected your own",[284,369,370,373],{},[67,371,372],{},"Ask engineers what they need from you"," the answer is rarely \"more meetings\"",[86,375,377],{"id":376},"closing-thoughts","Closing Thoughts",[63,379,380,381,384],{},"Moving from developer to project manager is not a promotion away from craft. It is a promotion into ",[67,382,383],{},"multiplier work"," your leverage comes through people, clarity, and judgment.",[63,386,387],{},"The best PMs I know still think like builders. They just unlearned the instinct to build everything alone.",[63,389,390,391,393],{},"If you are making this transition now: be patient with yourself. You are not becoming less technical. You are learning when ",[67,392,145],{}," to be the one typing.",[162,395,396,405,414],{},[165,397,398],{},[63,399,400],{},[77,401],{"alt":402,"className":403,"height":82,"src":404,"width":82},"Handshake between colleagues after a successful meeting",[81],"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1521791136064-7986c2920216?w=400&h=400&fit=crop",[165,406,407],{},[63,408,409],{},[77,410],{"alt":411,"className":412,"height":82,"src":413,"width":82},"Team celebrating progress together in the office",[81],"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1528605248644-14dd04022da1?w=400&h=400&fit=crop",[165,415,416],{},[63,417,418],{},[77,419],{"alt":420,"className":421,"height":82,"src":422,"width":82},"Focused work session with laptop and coffee",[81],"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1497366216548-37526070297c?w=400&h=400&fit=crop",[424,425],"hr",{},[63,427,428],{},[139,429,430,431,438],{},"Images from ",[432,433,437],"a",{"href":434,"rel":435},"https:\u002F\u002Funsplash.com",[436],"nofollow","Unsplash"," — free to use under the Unsplash License.",{"title":120,"searchDepth":440,"depth":440,"links":441},2,[442,443,447,448,449,450,453,454,455,456,457],{"id":88,"depth":440,"text":89},{"id":98,"depth":440,"text":99,"children":444},[445],{"id":109,"depth":446,"text":110},3,{"id":130,"depth":440,"text":131},{"id":149,"depth":440,"text":150},{"id":194,"depth":440,"text":195},{"id":211,"depth":440,"text":212,"children":451},[452],{"id":228,"depth":446,"text":229},{"id":251,"depth":440,"text":252},{"id":265,"depth":440,"text":266},{"id":322,"depth":440,"text":323},{"id":343,"depth":440,"text":344},{"id":376,"depth":440,"text":377},"2026-06-18","The mental shifts that matter most when you stop writing code full-time and start leading people, timelines, and trade-offs instead.","md",{"src":462},"https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1522071820081-009f0129c71c?w=640&h=360&fit=crop",{},true,"\u002Fblog\u002Fdev-to-manager",{"title":50,"description":459},"3.blog\u002F2.dev-to-manager","InVLTdj5gH3idKf3Twt6uDmkYzlRZnnjSesJh8cNndc",[470,475],{"title":471,"path":472,"stem":473,"description":474,"children":-1},"How I Architected a Modern POS System Using Laravel, Inertia.js, React, Midtrans, and Bluetooth Printing","\u002Fblog\u002Fbluetooth-pos","3.blog\u002F1.bluetooth-pos","A full-stack walkthrough of building a production-ready point-of-sale from Laravel APIs and Inertia.js pages to Midtrans payments and ESC\u002FPOS Bluetooth receipt printing.",{"title":476,"path":477,"stem":478,"description":479,"children":-1},"The Rise of Cryptocurrencies","\u002Fblog\u002Fcryptocurrencies","3.blog\u002F3.cryptocurrencies","Transforming Finance and Economy",{"url":481},"https:\u002F\u002Fadislksn.web.id",1781800911550]