{"content":"\n\u003csection class=\"about-page\"\u003e\n  \u003cheader class=\"about-hero\"\u003e\n    \u003cdiv class=\"about-hero__avatar\"\u003e\n      \u003cimg src=\"/web/static/me-240x240.webp\" srcset=\"/web/static/me-120x120.webp 120w, /web/static/me-240x240.webp 240w, /web/static/me-512x512.webp 512w\" sizes=\"(max-width: 600px) 96px, 120px\" alt=\"Đặng Bá Tới\" width=\"120\" height=\"120\" loading=\"eager\"\u003e\n      \u003cspan class=\"about-hero__status\" aria-hidden=\"true\"\u003e\u003c/span\u003e\n    \u003c/div\u003e\n    \u003cdiv class=\"about-hero__intro\"\u003e\n      \u003ch1 class=\"about-hero__name\"\u003eĐặng Bá Tới\u003c/h1\u003e\n      \u003cp class=\"about-hero__role\"\u003eBackend-leaning Full-Stack Developer · 10+ years\u003c/p\u003e\n      \u003cp class=\"about-hero__tagline\"\u003eBuilding reliable web platforms, APIs, and developer tooling.\u003c/p\u003e\n      \u003cul class=\"about-hero__facts\"\u003e\n        \u003cli\u003e\n          \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n            \u003cpath d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.37 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.33 1.85.57 2.81.7A2 2 0 0 1 22 16.92Z\"\u003e\u003c/path\u003e\n          \u003c/svg\u003e\n          \u003cspan class=\"about-obfuscated\" title=\"Available in the CV PDF\"\u003e(+84) ••• ••• •••\u003c/span\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\n          \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n            \u003crect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"3\"\u003e\u003c/rect\u003e\n            \u003cpath d=\"m22 7-10 6L2 7\"\u003e\u003c/path\u003e\n          \u003c/svg\u003e\n          \u003cspan class=\"about-obfuscated\" title=\"Available in the CV PDF\"\u003e••••••@•••••.com\u003c/span\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\n          \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n            \u003cpath d=\"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z\"\u003e\u003c/path\u003e\n            \u003ccircle cx=\"12\" cy=\"10\" r=\"3\"\u003e\u003c/circle\u003e\n          \u003c/svg\u003e\n          Hồ Chí Minh City, Vietnam\n        \u003c/li\u003e\n      \u003c/ul\u003e\n      \u003cdiv class=\"about-hero__actions\"\u003e\n        \u003ca class=\"about-btn about-btn--primary\" href=\"/r/cv?utm_source=about-page\" target=\"_blank\" rel=\"noopener nofollow\"\u003e\n          \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n            \u003cpath d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\u003e\u003c/path\u003e\n            \u003cpath d=\"M14 2v6h6\"\u003e\u003c/path\u003e\n          \u003c/svg\u003e\n          View interactive CV\n        \u003c/a\u003e\n        \u003ca class=\"about-btn\" href=\"/fqa/\"\u003e\n          \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n            \u003ccircle cx=\"12\" cy=\"12\" r=\"10\"\u003e\u003c/circle\u003e\n            \u003cpath d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"\u003e\u003c/path\u003e\n            \u003cpath d=\"M12 17h.01\"\u003e\u003c/path\u003e\n          \u003c/svg\u003e\n          FAQ\n        \u003c/a\u003e\n        \u003ca class=\"about-btn\" href=\"/contact/\"\u003e\n          \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n            \u003cpath d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\u003e\u003c/path\u003e\n          \u003c/svg\u003e\n          Get in touch\n        \u003c/a\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/header\u003e\n\n  \u003cdiv class=\"about-grid\"\u003e\n    \u003cdiv class=\"about-main\"\u003e\n      \u003csection class=\"about-card\"\u003e\n        \u003ch2 class=\"about-card__title\"\u003e\n          \u003cspan class=\"about-card__icon\"\u003e\n            \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n              \u003cpath d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\u003e\u003c/path\u003e\n              \u003cpath d=\"M14 2v6h6\"\u003e\u003c/path\u003e\n              \u003cpath d=\"M16 13H8\"\u003e\u003c/path\u003e\n              \u003cpath d=\"M16 17H8\"\u003e\u003c/path\u003e\n              \u003cpath d=\"M10 9H8\"\u003e\u003c/path\u003e\n            \u003c/svg\u003e\n          \u003c/span\u003e\n          Summary\n        \u003c/h2\u003e\n        \u003cp class=\"about-summary\"\u003e\n          I’m a Fullstack Engineer with 10+ years of professional experience, deeply specialized\n          in Ruby on Rails for building and scaling production web applications end-to-end.\n          Comfortable across the full software development lifecycle—from requirements analysis\n          and system design to frontend integration, deployment, production infrastructure, and\n          monitoring. I’ve led and mentored a 9-member team, driving technical excellence,\n          improving team productivity, and aligning development efforts with business goals.\n          Known for taking ownership and delivering high-impact solutions.\n        \u003c/p\u003e\n      \u003c/section\u003e\n\n      \u003csection class=\"about-card\"\u003e\n        \u003ch2 class=\"about-card__title\"\u003e\n          \u003cspan class=\"about-card__icon\"\u003e\n            \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n              \u003cpath d=\"M12 2 2 7l10 5 10-5-10-5Z\"\u003e\u003c/path\u003e\n              \u003cpath d=\"m2 17 10 5 10-5\"\u003e\u003c/path\u003e\n              \u003cpath d=\"m2 12 10 5 10-5\"\u003e\u003c/path\u003e\n            \u003c/svg\u003e\n          \u003c/span\u003e\n          Skills\n        \u003c/h2\u003e\n        \u003cdiv class=\"about-skills\"\u003e\n          \u003cdiv class=\"about-skills__group\"\u003e\n            \u003ch3\u003eLanguages \u0026amp; Frameworks\u003c/h3\u003e\n            \u003cul class=\"about-chips\"\u003e\n              \u003cli\u003eRuby on Rails\u003c/li\u003e\n              \u003cli\u003eReactJS\u003c/li\u003e\n              \u003cli\u003eEmberJS\u003c/li\u003e\n              \u003cli\u003eAngularJS\u003c/li\u003e\n              \u003cli\u003eHTML5\u003c/li\u003e\n              \u003cli\u003eCSS\u003c/li\u003e\n              \u003cli\u003eJavaScript\u003c/li\u003e\n            \u003c/ul\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"about-skills__group\"\u003e\n            \u003ch3\u003eDatabases \u0026amp; Search\u003c/h3\u003e\n            \u003cul class=\"about-chips\"\u003e\n              \u003cli\u003ePostgreSQL\u003c/li\u003e\n              \u003cli\u003eMongoDB\u003c/li\u003e\n              \u003cli\u003eSQL optimization\u003c/li\u003e\n              \u003cli\u003eApache Solr\u003c/li\u003e\n            \u003c/ul\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"about-skills__group\"\u003e\n            \u003ch3\u003eDevOps \u0026amp; Deployment\u003c/h3\u003e\n            \u003cul class=\"about-chips\"\u003e\n              \u003cli\u003eDocker\u003c/li\u003e\n              \u003cli\u003eAnsible\u003c/li\u003e\n              \u003cli\u003eProxmox\u003c/li\u003e\n              \u003cli\u003eCapistrano\u003c/li\u003e\n              \u003cli\u003eJenkins\u003c/li\u003e\n              \u003cli\u003eNginx\u003c/li\u003e\n              \u003cli\u003ePuma\u003c/li\u003e\n              \u003cli\u003eRedis\u003c/li\u003e\n              \u003cli\u003eSidekiq\u003c/li\u003e\n              \u003cli\u003eNewRelic\u003c/li\u003e\n              \u003cli\u003eMonit\u003c/li\u003e\n            \u003c/ul\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"about-skills__group\"\u003e\n            \u003ch3\u003eTesting\u003c/h3\u003e\n            \u003cul class=\"about-chips\"\u003e\n              \u003cli\u003eRSpec\u003c/li\u003e\n              \u003cli\u003eGitHub Actions\u003c/li\u003e\n              \u003cli\u003eJenkins CI\u003c/li\u003e\n            \u003c/ul\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"about-skills__group\"\u003e\n            \u003ch3\u003eLeadership\u003c/h3\u003e\n            \u003cul class=\"about-chips\"\u003e\n              \u003cli\u003eTeam leadership\u003c/li\u003e\n              \u003cli\u003eTraining\u003c/li\u003e\n              \u003cli\u003eProject estimation\u003c/li\u003e\n              \u003cli\u003eRequirements analysis\u003c/li\u003e\n              \u003cli\u003eTask delegation\u003c/li\u003e\n              \u003cli\u003ePerformance tuning\u003c/li\u003e\n            \u003c/ul\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n      \u003c/section\u003e\n    \u003c/div\u003e\n\n    \u003caside class=\"about-side\"\u003e\n      \u003csection class=\"about-card\"\u003e\n        \u003ch2 class=\"about-card__title\"\u003e\n          \u003cspan class=\"about-card__icon\"\u003e\n            \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n              \u003ccircle cx=\"12\" cy=\"8\" r=\"6\"\u003e\u003c/circle\u003e\n              \u003cpath d=\"m15.5 12.5 1.5 8L12 17l-5 3.5 1.5-8\"\u003e\u003c/path\u003e\n            \u003c/svg\u003e\n          \u003c/span\u003e\n          Awards\n        \u003c/h2\u003e\n        \u003cul class=\"about-awards\"\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eBest Performance of the Year\u003c/strong\u003e\n            \u003cem\u003eSymphony Creative Solutions · 2023\u003c/em\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cstrong\u003eMVP of the Year\u003c/strong\u003e\n            \u003cem\u003eZIGExN VeNtura · 2019\u003c/em\u003e\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/section\u003e\n\n      \u003csection class=\"about-card\"\u003e\n        \u003ch2 class=\"about-card__title\"\u003e\n          \u003cspan class=\"about-card__icon\"\u003e\n            \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n              \u003cpath d=\"m5 8 6 6\"\u003e\u003c/path\u003e\n              \u003cpath d=\"m4 14 6-6 2-3\"\u003e\u003c/path\u003e\n              \u003cpath d=\"M2 5h12\"\u003e\u003c/path\u003e\n              \u003cpath d=\"M7 2h1\"\u003e\u003c/path\u003e\n              \u003cpath d=\"m22 22-5-10-5 10\"\u003e\u003c/path\u003e\n              \u003cpath d=\"M14 18h6\"\u003e\u003c/path\u003e\n            \u003c/svg\u003e\n          \u003c/span\u003e\n          Languages\n        \u003c/h2\u003e\n        \u003cul class=\"about-meter\"\u003e\n          \u003cli\u003e\n            \u003cdiv class=\"about-meter__row\"\u003e\u003cspan\u003eVietnamese\u003c/span\u003e\u003cem\u003eNative\u003c/em\u003e\u003c/div\u003e\n            \u003cdiv class=\"about-meter__bar\" data-level=\"5\"\u003e\u003cspan style=\"width:100%\"\u003e\u003c/span\u003e\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv class=\"about-meter__row\"\u003e\u003cspan\u003eEnglish\u003c/span\u003e\u003cem\u003eIntermediate\u003c/em\u003e\u003c/div\u003e\n            \u003cdiv class=\"about-meter__bar\" data-level=\"3\"\u003e\u003cspan style=\"width:60%\"\u003e\u003c/span\u003e\u003c/div\u003e\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/section\u003e\n\n      \u003csection class=\"about-card\"\u003e\n        \u003ch2 class=\"about-card__title\"\u003e\n          \u003cspan class=\"about-card__icon\"\u003e\n            \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n              \u003ccircle cx=\"12\" cy=\"12\" r=\"10\"\u003e\u003c/circle\u003e\n              \u003cpath d=\"M8 14s1.5 2 4 2 4-2 4-2\"\u003e\u003c/path\u003e\n              \u003cpath d=\"M9 9h.01\"\u003e\u003c/path\u003e\n              \u003cpath d=\"M15 9h.01\"\u003e\u003c/path\u003e\n            \u003c/svg\u003e\n          \u003c/span\u003e\n          Personality\n        \u003c/h2\u003e\n        \u003cp class=\"about-personality\"\u003e\n          \u003cstrong\u003eINFP-T\u003c/strong\u003e · Diplomat\u003cbr\u003e\n          \u003cspan\u003eDriven by constant improvement\u003c/span\u003e\n        \u003c/p\u003e\n      \u003c/section\u003e\n\n      \u003csection class=\"about-card\"\u003e\n        \u003ch2 class=\"about-card__title\"\u003e\n          \u003cspan class=\"about-card__icon\"\u003e\n            \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n              \u003cpath d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\u003e\u003c/path\u003e\n              \u003cpath d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"\u003e\u003c/path\u003e\n            \u003c/svg\u003e\n          \u003c/span\u003e\n          Links\n        \u003c/h2\u003e\n        \u003cul class=\"about-links\"\u003e\n          \u003cli\u003e\n            \u003ca href=\"/fqa/\"\u003e\n              \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n                \u003ccircle cx=\"12\" cy=\"12\" r=\"10\"\u003e\u003c/circle\u003e\n                \u003cpath d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"\u003e\u003c/path\u003e\n                \u003cpath d=\"M12 17h.01\"\u003e\u003c/path\u003e\n              \u003c/svg\u003e\n              \u003cspan\u003e\u003cstrong\u003eFAQ\u003c/strong\u003e\u003cem\u003eSkills, stack, and roles\u003c/em\u003e\u003c/span\u003e\n            \u003c/a\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003ca href=\"https://www.toidang.xyz/r/cv?utm_source=about-page\" target=\"_blank\" rel=\"noopener nofollow\"\u003e\n              \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n                \u003cpath d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\u003e\u003c/path\u003e\n                \u003cpath d=\"M14 2v6h6\"\u003e\u003c/path\u003e\n              \u003c/svg\u003e\n              \u003cspan\u003e\u003cstrong\u003eInteractive CV\u003c/strong\u003e\u003cem\u003ehttps://toidang.xyz/r/cv\u003c/em\u003e\u003c/span\u003e\n            \u003c/a\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003ca href=\"https://github.com/toidang92\" target=\"_blank\" rel=\"noopener nofollow\"\u003e\n              \u003csvg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"\u003e\n                \u003cpath d=\"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-2c-3.2.7-3.88-1.37-3.88-1.37-.53-1.34-1.29-1.7-1.29-1.7-1.05-.72.08-.71.08-.71 1.16.08 1.77 1.19 1.77 1.19 1.03 1.77 2.71 1.26 3.37.96.1-.75.4-1.26.73-1.55-2.55-.29-5.24-1.28-5.24-5.69 0-1.26.45-2.29 1.18-3.09-.12-.29-.51-1.47.11-3.06 0 0 .97-.31 3.18 1.18a11.07 11.07 0 0 1 5.78 0c2.2-1.49 3.17-1.18 3.17-1.18.63 1.59.24 2.77.12 3.06.74.8 1.18 1.83 1.18 3.09 0 4.42-2.7 5.39-5.27 5.68.42.36.78 1.05.78 2.12v3.14c0 .31.21.68.8.56C20.22 21.38 23.5 17.08 23.5 12 23.5 5.65 18.35.5 12 .5Z\"/\u003e\n              \u003c/svg\u003e\n              \u003cspan\u003e\u003cstrong\u003eGitHub\u003c/strong\u003e\u003cem\u003e@toidang92\u003c/em\u003e\u003c/span\u003e\n            \u003c/a\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003ca href=\"https://linkedin.com/in/toidang92\" target=\"_blank\" rel=\"noopener nofollow\"\u003e\n              \u003csvg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"\u003e\n                \u003cpath d=\"M20.45 20.45h-3.55v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.95v5.66H9.36V9h3.41v1.56h.05c.47-.9 1.63-1.85 3.36-1.85 3.6 0 4.27 2.37 4.27 5.45v6.29ZM5.34 7.43a2.06 2.06 0 1 1 0-4.13 2.06 2.06 0 0 1 0 4.13Zm1.78 13.02H3.56V9h3.56v11.45ZM22.22 0H1.77C.8 0 0 .78 0 1.74v20.51C0 23.22.79 24 1.77 24h20.45c.98 0 1.78-.78 1.78-1.75V1.74C24 .78 23.2 0 22.22 0Z\"/\u003e\n              \u003c/svg\u003e\n              \u003cspan\u003e\u003cstrong\u003eLinkedIn\u003c/strong\u003e\u003cem\u003ein/toidang92\u003c/em\u003e\u003c/span\u003e\n            \u003c/a\u003e\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/section\u003e\n    \u003c/aside\u003e\n  \u003c/div\u003e\n\u003c/section\u003e\n","title":"About"}