<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://shuofeng.dev/</id><title>Engineering Notes by Shuo</title><subtitle>I use this site as a technical notebook to think through how software systems behave in practice. I write about backend design, data flows, debugging production issues, and the trade-offs that show up as systems grow.</subtitle> <updated>2025-12-19T21:42:21-05:00</updated> <author> <name>Shuo</name> <uri>https://shuofeng.dev/</uri> </author><link rel="self" type="application/atom+xml" href="https://shuofeng.dev/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://shuofeng.dev/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2025 Shuo </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Top 5 Resources to Get Ready for System Design Interview</title><link href="https://shuofeng.dev/posts/top-five-resources-to-get-ready-for-system-design-interviews/" rel="alternate" type="text/html" title="Top 5 Resources to Get Ready for System Design Interview" /><published>2022-12-19T00:00:00-05:00</published> <updated>2022-12-19T00:00:00-05:00</updated> <id>https://shuofeng.dev/posts/top-five-resources-to-get-ready-for-system-design-interviews/</id> <content type="text/html" src="https://shuofeng.dev/posts/top-five-resources-to-get-ready-for-system-design-interviews/" /> <author> <name>Shuo</name> </author> <category term="Backend" /> <category term="Systems" /> <summary>System design interview has gained popularity among hiring companies in recent years, and there seems to be a trend that it’s going to be a common module in technical interviews just like data structures and algorithms(even though it is still controversial) .Unlike data structures and algorithms, system design interview is often open-ended, which means the interviewer can probe in many possible...</summary> </entry> <entry><title>📚3 Must Read Books for Programmers from Non-traditional Background</title><link href="https://shuofeng.dev/posts/three-must-read-books-for-programmers-from-non-traditional-background/" rel="alternate" type="text/html" title="📚3 Must Read Books for Programmers from Non-traditional Background" /><published>2022-12-16T00:00:00-05:00</published> <updated>2022-12-16T00:00:00-05:00</updated> <id>https://shuofeng.dev/posts/three-must-read-books-for-programmers-from-non-traditional-background/</id> <content type="text/html" src="https://shuofeng.dev/posts/three-must-read-books-for-programmers-from-non-traditional-background/" /> <author> <name>Shuo</name> </author> <category term="CS" /> <category term="Algorithms" /> <summary>1 Code: The Hidden Language of Computer Hardware and Software This is a classic book I believe should be the first thing to read when you want to learn about how computer works. Even though the first edition was published nearly two decades ago, the content is still relevant, and good news is that the second edition was just released Aug 2022 with new chapters on clock, ALU etc, and the compan...</summary> </entry> <entry><title>How to guarantee exactly once with Beam(on Flink) for side effects</title><link href="https://shuofeng.dev/posts/flink-end-to-end-exactly-once-with-apache-beam/" rel="alternate" type="text/html" title="How to guarantee exactly once with Beam(on Flink) for side effects" /><published>2021-02-03T00:00:00-05:00</published> <updated>2021-02-03T00:00:00-05:00</updated> <id>https://shuofeng.dev/posts/flink-end-to-end-exactly-once-with-apache-beam/</id> <content type="text/html" src="https://shuofeng.dev/posts/flink-end-to-end-exactly-once-with-apache-beam/" /> <author> <name>Shuo</name> </author> <category term="Frontend" /> <category term="Web" /> <summary>If you use Apache Flink in your data stream architecture, you probably know about its exactly-once state consistency in case of failures. In this post, we will take a look at how Flink’s exactly-once state consistency works, and see why it is not sufficient to provide end-to-end exactly-once guarantees even though the application state is exactly-once consistent. Exactly once state consistency...</summary> </entry> <entry><title>Use git bisect to find first bad commit</title><link href="https://shuofeng.dev/posts/git-bisect/" rel="alternate" type="text/html" title="Use git bisect to find first bad commit" /><published>2019-12-01T00:00:00-05:00</published> <updated>2019-12-01T00:00:00-05:00</updated> <id>https://shuofeng.dev/posts/git-bisect/</id> <content type="text/html" src="https://shuofeng.dev/posts/git-bisect/" /> <author> <name>Shuo</name> </author> <category term="DevEnv" /> <category term="Shell" /> <summary>Today I learned that there is a way to find first bad commit with git. Before learning about git bisect, whenever I see a commit is buggy after introducing a new feature, I usually go back to a commit that I think introduces the bug and manually test it, this manual tracing back method is okay is there are only a few commits and you are sort of sure where it went wrong, but if there are many co...</summary> </entry> <entry><title>Recycle Wizard + Serverless on AWS (Part 2)</title><link href="https://shuofeng.dev/posts/recycle-wizard-serverless-on-aws-part-2/" rel="alternate" type="text/html" title="Recycle Wizard + Serverless on AWS (Part 2)" /><published>2019-03-27T00:00:00-04:00</published> <updated>2019-03-27T00:00:00-04:00</updated> <id>https://shuofeng.dev/posts/recycle-wizard-serverless-on-aws-part-2/</id> <content type="text/html" src="https://shuofeng.dev/posts/recycle-wizard-serverless-on-aws-part-2/" /> <author> <name>Shuo</name> </author> <category term="Frontend" /> <category term="Web" /> <summary>Add API Gatway, Lambda, DynamoDB, S3, Rekognition to the new version of Recycle Wizard</summary> </entry> </feed>
