{"id":5825,"date":"2023-09-19T23:06:13","date_gmt":"2023-09-19T13:06:13","guid":{"rendered":"https:\/\/sysmit.com\/cf22\/?p=5825"},"modified":"2024-01-01T12:16:15","modified_gmt":"2024-01-01T02:16:15","slug":"developer-survive-you-built-it-you-run-it","status":"publish","type":"post","link":"https:\/\/sysmit.com\/cf22\/developer-survive-you-built-it-you-run-it\/","title":{"rendered":"How developers can survive “you build it, you run it”"},"content":{"rendered":"
As a developer, you might not have anything to do with your code once it\u2019s been committed all the way to<\/em> looking after the code right up to production.<\/p>\n\n\n\n The latter is called the \u201cyou build it, you run it\u201d model.<\/p>\n\n\n\n It\u2019s not going away.<\/p>\n\n\n\n But that depends on your organization. <\/p>\n\n\n\n It\u2019s likely to increase in popularity across organizations, as:<\/p>\n\n\n\n You might even get asked to respond to incidents when your code causes an outage or performance issue.<\/p>\n\n\n\n (Hopefully, there\u2019s an SRE around<\/a> to join you on the incident and guide you through it!)<\/p>\n\n\n\n That’s why it’s important to create reliable software from the beginning.<\/p>\n\n\n\n This way, you’ll have to respond to fewer and less severe incidents.<\/p>\n\n\n\n We will explore some ways you can bake reliability into your feature development work.<\/p>\n\n\n\n \ud83d\udc47\ud83c\udffc Let\u2019s start off with a developer responsibility that makes obvious sense and go from there\u2026<\/p>\n\n\n It\u2019s often gone without saying, that your responsibility for code doesn\u2019t end at its first commit. From time to time, you will have to update your code to:<\/p>\n\n\n\n Not doing this effectively will increase technical debt.<\/p>\n\n\n\n And technical debt is the enemy of reliability.<\/p>\n\n\n\n Other than continuously improving your code, you can integrate reliability-supporting concepts into your workflow.<\/p>\n\n\n Here\u2019s a hard truth: your infrastructure is flawed.<\/p>\n\n\n\n And it always will be flawed.<\/p>\n\n\n\n The best you can do is prepare your apps and services to deal with such flaws when they turn into outages and performance issues.<\/p>\n\n\n\n Here are a few reliability concepts you can deep-dive and contextualize to your environment:<\/p>\n\n\n\n\n
Code maintenance beyond the original commit<\/strong><\/h2>\n\n\n
\n
Get comfortable with reliability-supporting concepts<\/strong><\/h2>\n\n\n
\n