Small software teams are more common in 2023 due to tech layoffs. However, there are five common factors that allow these teams to outperform their competition, such as keeping things simple, reusing code liberally, and having a clear vision in mind. This article uses ChatGPT, Bun, and indie hackers as clear examples. It also delves into actionable takeaways for software engineers, who can benefit from the lessons learned from small teams shipping fast.
2023.09.18·engineercodex.substack.com·6 min read·TLDR Web Dev v0.dev is a website that allows you to create copy-pastable, styled frontend components with just natural language. Basically, it’s AI for React components. v0 is currently in private alpha, but there are multiple example components available to everyone for free.
Schadcn-ui is a repository of beautifully designed components that you can copy and paste into your apps. It’s accessible, customizable, and fully open-source. This repository provides the Vue version of the original React version.
Catala is a domain-specific language for deriving faithful-by-construction algorithms from legislative texts.
A hexadecimal clock that counts down until Unix time hits the 2038 problem - a time formatting bug in computer systems representing times after 03:14:07 UTC on 19 January 2038.
Instagram went from 0 to 14 million users in just over a year and it did it with only three engineers. Its tech stack was surprisingly simple, using AWS extensively and a monolithic Django backend. It also used various caching tools like Redis and Memcached for better performance as it scaled. This article provides a visual explanation of Instagram’s tech stack by walking through the architecture using the life of a request.
2023.09.15·engineercodex.substack.com·5 min read·TLDR Web Dev Geolocation is the process of mapping IP addresses to a geographical location defined by latitude and longitude. There are many use cases for geolocation intelligence that are demanded by online businesses and service providers. This tutorial goes over building a geolocation database from scratch, with deep explanations and code examples along the way.
Without any guidelines, it can be difficult to write effective tests. In fact, testing code can become more complex and harder to maintain than the actual production code! These best practices for unit testing will help you to write lean, accurate, and easy-to-read testing code.
This article details one engineer's experience working with Meta and how they increased their compensation from $390,000 in 2017 to $823,000 in 2021. It covers their actions throughout the years and discusses the main lessons learned. The article discusses how to become a high earner and provides direct advice on how to achieve similar levels of success.
On average, code is stuck in review for five days (or a full workweek), creating significant dev bottlenecks, unhappy developers, and hits to the bottom line. This article offers ways to relieve code review bottlenecks.
ElectricSQL is a local-first sync layer for web and mobile apps. It allows developers to build reactive, real-time, local-first apps directly on Postgres. The resulting apps have full-featured multi-user collaboration and conflict-free offline support.
PostgreSQL 16 has notable improvements to query parallelism, bulk data loading, and logical replication. It also features more SQL/JSON syntax, new monitoring stats for your workloads, and greater flexibility in defining access control rules for the management of policies across large fleets.
Find newer versions of package dependencies than what your package.json allows. npm-check-updates upgrades your package.json dependencies to the latest versions, ignoring specified versions.
Companies building apps have strong incentives to gain more users, even users who derive very little value from the app. The metric usually used to track if more users are using an app is DAUs, or daily active users. This means that designers and engineers start targeting “marginal users”, or people who are on the fringe of being regular users. They start changing the product to pull in these marginal users, but this usually makes the product worse for the core user base as a result.
2023.09.15·nothinghuman.substack.com·6 min read·TLDR Web Dev Unity recently announced some pricing changes for game developers that received a lot of backlash. Even though they backtracked many of their changes, many game developers have lost trust in Unity. This article goes over many alternatives to Unity, such as Unreal Engine and Godot, while explaining their respective development languages, benefits, and drawbacks.
git stores files in .git/objects.
Chromebooks get automatic updates every four weeks for the next 10 years that will make the laptop more secure.
Google is on trial in Washington DC over US allegations that it illegally maintained a monopoly in the online search business. The US government has said that Google avoids using certain words internally in order to protect themselves from scrutiny
Sponsored
There’s many OAuth guides out to there, but most of them leave you more confused than you were when you started. This guide
Local-first development shifts reads and writes from happening on the server to in the client. Data then is synced later. Apps like Figma and Linear do this as it allows for much better performance for users, more robust applications, built-in support for offline usage and collaboration, and simplified state management for developers. There is currently a trend where applications are moving towards local-first, but it is yet to be seen whether this will turn into a full-fledged movement.
On August 29, 2023, Retool notified 27 cloud customers that there had been unauthorized access to their accounts. Retool had fallen victim to a spear phishing attack two days earlier that took advantage of one of its employees. The hackers took advantage of a Google Authenticator feature that syncs multi-factor authentication codes to the cloud, allowing them full access to the employee’s account.
Development evolves from localhost to staging and eventually to cloud environments. This article explains how and why each development stage works and their disadvantages. It also explains three typical approaches to cloud developer environments. The preferred approach is to provide production-like staging for each engineer in the company’s cloud.
Semgrep is a fast, open-source static analysis engine for finding bugs, detecting vulnerabilities in third-party dependencies, and enforcing code standards. Semgrep analyzes code locally on your computer or build environment.
Node File Router provides file-based routing for Node.js. It’s technology-agnostic and supports pure Node HTTP, TypeScript, Bun, Express, and more. It has zero dependencies and 100% test coverage.
Openmoji provides open-source emojis for everyone.
Procrastination isn’t just an obstacle: it’s a messenger. Usually, it signals something deeper, such as heading in the wrong direction or pursuing short-term rewards. When you find yourself procrastinating, it might be worth pausing and reflecting on what it is trying to tell you.
This article provides lessons in finding product-market fit (PMF) for B2B startups based on interviews with more than 20 B2B founders. It presents a simple framework for moving closer to PMF, signs that you’re approaching PMF, and advice for what to do if you aren’t finding PMF. It takes a median of 2 years for B2B startups to find PMF. Many founders have never fully felt PMF, even if they are making over $100M/year.
A developer provides 13 lessons from C#, such as the fact that the more languages you know, the better you become in each.
A developer wanted to get daily notifications from his parents’ kettle. His approach involved checking whether the kettle was boiled at the usual time of day. If not, send a “missed event” notification. The parts used in the project include a kettle smart plug, a messaging app, and an MQTT server written in Node.
There was a spike in Explorer crashes that resulted in the instruction pointer pointing to a seemingly random location. When Microsoft engineers investigated, they realized it was actually the result of an uninstaller and not malware.
Slack handles billions of inbound network requests per day, all of which traverse through its edge network and ingress load-balancing tiers. This blog talks about how a request flows — from a Slack user’s perspective — across the vast ether of the network to reach AWS and then Slack’s internal services. Slack uses websocket connections for sending and receiving messages and edge APIs for everything else.
Event-driven architectures are popular with data-intensive workloads and cloud computing. This article delves into why event-driven architectures came to be and the benefits of using them. Companies like Netflix, Uber, and Dropbox utilize them due to their scalability. The article shows off common design patterns within such architectures and the challenges that come with using them.
This article, by an ex-startup CTO and manager of a large high-growth company, discusses the topic of balancing roadmap work with unexpected opportunities/issues. It does this by dividing software work into four types - business planned (roadmap), business unplanned (unanticipated opportunities), maintenance planned (bugs + small changes), and maintained unplanned (hot fixes & incidents). The author recommends allocating 50% for business planned, 30% for business unplanned, and 20% for maintenance planned.
Microservices can introduce unnecessary complexity to codebases. There’s nothing inherently wrong with a monolithic architecture. For example, Shopify is still a Rails monolith, leveraging the tried and true Resque to process billions of tasks. It’s important to keep the end product in mind first. Architecture should follow the product needs and not vice versa.
Sponsored
Embedded analytics tools are clunky and inflexible, building bespoke analytics is tedious and expensive. EMBEDDABLE IS REINVENTING CUSTOMER
Quiet is an alternative to team chat apps like Slack, Discord, and Element that does not require trusting a central server or running one's own. In Quiet, all data syncs directly between a team's devices over Tor with no server required.
LLMonitor helps AI devs monitor their apps in production. It features cost, token, and latency analytics, along with traces for easy debugging. LLMonitor can be used with any model and is simple to self-host.
The iPhone 15 has a new design featuring a durable, color-infused back glass and new contoured edge, the Dynamic Island, a 48MP Main camera with 2x Telephoto, and USB‑C. Pre-orders begin Friday, September 15, with availability beginning Friday, September 22. This is the first iPhone that supports USB-C instead of Lightning.
Earthly CI is shutting down. It was a platform that allowed builds to be parallelized, making them much faster. Unfortunately, it never reached the traction that Earthly expected. People already using Earthly’s other products were unwilling to switch over. New customers to Earthly CI weren’t the right customers the company wanted. The article goes over the lessons learned from building and shutting down Earthly CI.
Chrome extensions to make your life as a web dev easier, such as a smart color picker and JSON viewer.
The creator of Django recently created a new blog using Django - these are some of the notes he took while doing so.
A Stack Overflow commenter gives some ideas on how to mitigate Stack Overflow’s traffic decline. Stack Overflow mods respond.
This article presents a systematic approach to debugging that focuses on understanding first. The process it lays out for debugging starts with figuring out the symptoms and reproducing the bug. Then, by understanding the system, you can form and test a hypothesis about where the bug is. After fixing the bug, make sure to add checks to make sure similar bugs don’t occur again.
Understanding Docker optimization can be crucial to reduced image sizes and faster build times for your Node web applications. This guide is a step-by-step guide to Docker image optimization techniques that can result in an 80% reduction in image size and a 70% reduction in build time. The author provides code examples and metrics along the way.
A recent event with staff engineers at multiple companies, including Meta, Google, and Activision, provided viewers with advice on how to get promoted to a staff engineer role at their own companies. This article summarizes the event with actionable takeaways, such as making sure to communicate your work. Some other unique tips include being able to put a dollar amount on the work you did and seeking opportunities by working with non-technical decision-makers.
Engineers often have the feeling that managers are pushing back and fighting for deadlines. The reason these conflicts start is because engineers and managers have different concerns. Managers are concerned with building the right thing, while engineers are concerned with building the thing right. Once you understand where the conflict is, a healthier way to look at deadlines is to view them as constraints. Great engineering is often about finding clever solutions against constraints.