/Best Practices

Common Authentication Implementation Risks And How To Mitigate Them

- James Hickey tl;dr: Data breaches are more common than ever. Ensuring a secure authentication system is critical to your trust with customers. Whether you build or buy your auth solution, this article offers insights into secure practices that can help keep you and your customers safe.

featured in #450


Best Practices For Collecting And Querying Data From Multiple Sources

- Zoe Steinkamp tl;dr: In a data-centric era, efficiently collecting and querying data from diverse sources is paramount. Zoe Steinkamp emphasizes the importance of best practices in data collection, such as optimizing ingestion pipelines and advanced querying. With varied data streams like IoT and cloud computing, single-database storage is outdated. Instead, strategies like effective data modeling and understanding data sources are vital. Tools like InfluxDB, a time series database, and Pandas, a Python library, facilitate data management and analysis. Leveraging multiple data sources optimizes cost, efficiency, and user experience.

featured in #449


Moving From IC To Engineering Manager

tl;dr: Best practices for transitioning from an IC to an engineering manager. Good reasons for the transition include a love for solving people problems and managing projects, while bad reasons include seeking more authority or escaping boredom. Necessary skills include communication, durability, technical competence, patience, and urgency. The article warns against the "Team Lead" role as a transitional step, as it often leads to failure, and advises starting new managers with "training wheels" to guide them through difficult situations. The emphasis is on ensuring the right motivations, skills, and support for a successful transition.

featured in #441


How We Roll – Avatars

- Colin Sidoti tl;dr: This post emphasizes the importance of avatars in authentication, often overlooked in app development. It details how Clerk uses social sign-ins like Google and Facebook to ease avatar selection, offers beautiful default avatars, and integrates avatars into the sign-in flow to enhance user experience.

featured in #438


Throw Away Your First Draft Of Your Code

- Nicole Tietz-Sokolskaya tl;dr: Software teams should prototype or create a "first draft" of code for new features and then discard it. Prototyping allows teams to anticipate issues and understand the full complexity of a new feature. Despite seeming wasteful, this approach actually saves time by preventing unforeseen problems during the development process. However, it's essential to discard the prototype code to keep the process efficient and the codebase clean.

featured in #436


Best Practices To Build IoT Analytics 

- Zoe Steinkamp tl;dr: Best practices for building IoT analytics include storing data in a time series database, using efficient ingestion methods, cleaning data before storage, downsampling for easier analysis, monitoring data in real time, and storing historical data in cold storage or a data lake for analysis. Choosing the right tools from the start will save time and improve efficiency.

featured in #433


Six Ways To Shoot Yourself In The Foot With Healthchecks

- Phil Booth tl;dr: (1) Aggregate other services into your app’s healthcheck. (2) Set a short timeout on healthcheck requests. (3) Set a long timeout on healthcheck requests. (4) Leave a long delay before starting healthchecks on new instances. (5) Set a low threshold on consecutive failures before turning unhealthy. (6) Set a high threshold on consecutive successes before turning health.

featured in #419


8 Annoying A/B Testing Mistakes Every Engineer Should Know

- Lior Neu-ner tl;dr: (1) Including unaffected users in your experiment. (2) Only viewing results in aggregate (aka Simpson's paradox). (3) Conducting an experiment without a predetermined duration. Lior discusses these and 5 more anti-patterns.

featured in #416


How To Survive Your Project's First 100,000 Lines

- Evan Ovadia tl;dr: The Vale compiler hit its 100,000th line of code - this article explains how it was kept from collapsing. “Some of these software engineering techniques came from my time at Google, though ironically most came from my work on the Vale compiler and game development so some of these might be surprising to my engineer comrades out there.” Techniques range from determinism, to testing, to type-system techniques, to general architectural best-practices.

featured in #411


A Beginner's Guide To Prompt Engineering With GitHub Copilot

- Rizel Scarlett tl;dr: “After more experimentation, I improved my communication methods with GitHub Copilot by providing context, examples, and clear instructions in the form of comments and code. In this blog post, I'll discuss top tips to help you get the most out of GitHub Copilot.”

featured in #411