The hottest Software Engineering Substack posts right now

And their main takeaways
Category
Top Technology Topics
The Hagakure 119 implied HN points 16 Mar 23
  1. Our brains seek simple explanations for complex phenomena due to our evolutionary history.
  2. Predictability and control in knowledge work are often illusory, leading to eroded trust and inefficiencies.
  3. Embracing uncertainty and complexity in work requires shifting mindset towards experimentation and adaptation.
Generating Conversation 5 HN points 14 Mar 24
  1. Avoid building your application solely on a single Large Language Model (LLM) call. Break down your problem into multiple steps for better results and efficiency.
  2. Long, detailed prompts can confuse even advanced LLMs like GPT-4, leading to issues in instruction following, debugging, and user experience.
  3. Different tasks may require different models, so breaking your application into multiple steps allows you to choose the best tool for each task, improving application quality and reducing latency and cost.
Sung’s Substack 79 implied HN points 10 Jul 23
  1. Software engineering is evolving to impact more than just data tools and practices - it's influencing identity within the industry.
  2. The data industry is experiencing a significant shift towards merging software and data engineering, requiring a new level of ownership and empathy between the two.
  3. The goal is to create a world where data pipelines are more proactive than reactive, data as a product is ubiquitous and pain within the industry is minimized, leading to personal and professional growth.
Technology Made Simple 99 implied HN points 11 Apr 23
  1. The Pigeonhole Principle states that if you have more items than containers, at least one container must hold more than one item.
  2. In software engineering, the principle ensures the correctness and efficiency of algorithms, especially in large-scale system design.
  3. The Pigeonhole Principle can also be used to prove non-existence, such as showing the impossibility of a universal lossless compression algorithm.
Get a weekly roundup of the best Substack posts, by hacker news affinity:
Technology Made Simple 99 implied HN points 04 Apr 23
  1. Reducing the number of features in your data can improve performance and keep costs down in machine learning processes.
  2. Active learning focuses on prioritizing data points for efficient machine learning model training.
  3. Using filters and simpler models for specific tasks can lead to better performance and cost savings compared to always using large, powerful models in AI.
Technology Made Simple 99 implied HN points 03 May 23
  1. Graceful Degradation is a design principle that ensures systems maintain limited functionality even when parts are rendered inoperative.
  2. Implement the 80-20 principle while integrating Graceful Degradation to focus on backing up critical components and keeping systems active.
  3. Combine Progressive Enhancement with Graceful Degradation to provide essential content to all users while delivering the best possible experience to modern browsers.
A Perfectly Cromulent Software Engineer 1 HN point 21 Apr 24
  1. Transitioning to a traditional job from freelance work can be a significant change in routine and responsibilities.
  2. Challenges and growth opportunities can arise when tasked with larger, more ambiguous projects that test technical abilities.
  3. Recognizing toxic behavior in oneself or others, such as being uncooperative and rude, is essential in maintaining a positive work environment.
Money in Transit 39 implied HN points 09 Oct 23
  1. Software engineering is not inherently more difficult than other professions like medicine or law.
  2. Effective communication with software engineers can be facilitated by using frameworks like The Spreadsheet Analogy and the Given-When-Then method.
  3. Communication breakdowns between engineers and non-engineers can be bridged by understanding software engineering concepts and speaking a shared language.
Technology Made Simple 79 implied HN points 20 Jun 23
  1. The Network Effect refers to a concept where the value of a product/service increases as more people use it, making the network more valuable for each participant.
  2. The power of the Network Effect can be understood mathematically; as more individuals join a network, the connections exponentially increase, making the system more useful for outsiders.
  3. Businesses/systems built around the Network Effect are powerful due to factors like increased value with more users, a growing network, and the ability to reshape industries and drive innovation.
Technology Made Simple 59 implied HN points 06 Aug 23
  1. To stand out for promotions, focus on meaningful projects that showcase your skills and impact.
  2. Instead of waiting for approval, consider building a useful side project to demonstrate your value to your organization.
  3. By presenting a strong proof of concept project, you can negotiate effectively and secure impactful work opportunities for yourself.
Brick by Brick 9 implied HN points 07 Feb 24
  1. Microsoft reported significant growth with GitHub CoPilot, reflecting high adoption and productivity among developers
  2. An experiment showed developers using CoPilot completed tasks 55.8% faster, raising questions about generalizability
  3. Assessing the true impact of CoPilot on productivity requires rigorous experiments tailored to individual engineering organizations
Technology Made Simple 79 implied HN points 07 Jun 23
  1. Feature Drift occurs when the distribution of the features being tracked changes, and it is a subset of Data Drift.
  2. Detecting Feature Drift can be tricky when tracking numerous variables, potentially leading to detrimental outcomes over time.
  3. A technique to catch Feature Drift involves creating artificial target variables based on old and new data sets, then using a simple Supervised Learning algorithm to identify drifting features.
Technology Made Simple 119 implied HN points 11 Jan 23
  1. Clean code is essential for software engineering success, especially in large companies where code reviews play a crucial role in promotions.
  2. Using pure functions, named parameters, and meaningful variable names are key techniques to ensure cleaner code.
  3. Avoid hard-coding values and utilize default values to improve code readability, maintainability, and reduce complexity.
Fikisipi 4 HN points 12 Mar 24
  1. Devin is an AI-powered software engineer with features like a built-in terminal, IDE, website preview, and a text assistant.
  2. Devin demonstrated capabilities like finding and fixing bugs in GitHub repos and running tests on code, showing potential for automating debugging tasks.
  3. Cognition Labs, the company behind Devin, has notable supporters like Thiel's Founders Fund and founders with strong backgrounds in software engineering and machine learning.
Big Tech Digest 4 implied HN points 12 Mar 24
  1. Uber developed Docstore, a distributed database, and created CacheFront to handle over 40 million reads per second, using techniques like Redis sharding and adaptive timeouts.
  2. Walmart discusses using Database Per Service pattern and Saga pattern in microservices design for efficient data querying and handling complex transactions.
  3. Discord's blog explains the technology behind their Go Live streaming feature, addressing bandwidth constraints and using WebRTC for different scenarios.
The Caring Techie Newsletter 23 implied HN points 15 Nov 23
  1. When interviewing software engineers, focus on non-technical signals like trustworthiness and communication skills.
  2. Assess if candidates will work well in a team and be effective in the role they're interviewing for.
  3. Solid technical skills are important, but being a team player is equally crucial in software engineering.
Technology Made Simple 99 implied HN points 29 Jan 23
  1. Design complex systems by layering multiple smaller solutions for better results instead of focusing on individually engineered tasks.
  2. Building a search engine like Google involves accommodating various types of search results like images, text, gifs, and videos while ensuring search quality.
  3. Handling the massive scale of data in Google's search engine system involves using semi-supervised labeling techniques to manage unlabeled data efficiently.
Machine Economy Press 3 implied HN points 15 Mar 24
  1. Devin, a tool by Cognition AI, is being hailed as a breakthrough in computer reasoning, utilizing generative AI like GPT-4.
  2. Despite claims that Devin can make thousands of decisions, recall context, learn, and correct code mistakes, skepticism exists among software engineers.
  3. The tech sector is witnessing an increase in AI startups and coding assistants/agents like Devin, showcasing the growing interest in machine learning, particularly among Asian developers.
Technology Made Simple 59 implied HN points 05 May 23
  1. The post discusses a problem related to counting the number of nodes in a complete binary tree, emphasizing the importance of understanding recursion, trees, and data structures.
  2. It mentions starting with a brute force solution to count nodes but highlights the need for optimization to achieve time complexity better than O(n).
  3. The approach for solving the problem involves using a recursive template to count nodes efficiently by considering the root and the number of nodes in the left and right subtrees.
Engineering Open Societies 58 implied HN points 12 Mar 23
  1. Design documents are essential for software engineers to communicate ideas and solutions with others.
  2. Design documents should be treated as ephemeral artifacts used to drive a collaborative process and then discarded.
  3. In design documents, focus on presenting the problem, provide solution-independent correctness conditions, and offer a solution with trade-offs and decisions.
Widget Tricks 58 implied HN points 08 Mar 23
  1. It is recommended not to test private methods, as they are for internal use only.
  2. You may need to test a private method when working with legacy code, fixing bugs, or dealing with widget dependencies.
  3. To test a private method inside a widget, create a forwarder method, use the @visibleForTesting annotation, and follow specific steps based on widget type.
Software Engineering Tidbits 58 implied HN points 22 Mar 23
  1. Recommend following a 'Help me Help you' approach in software engineering
  2. In bug reports, provide clear title, priority, severity, repro steps, expected result, actual result, and additional details for easier resolution
  3. Consider adding valuable information like screen recordings and detailed context in bug reports for the engineering team
Technology Made Simple 59 implied HN points 26 Mar 23
  1. Top engineers integrate feedback to grow faster by seeking and incorporating detailed feedback, and following up on the impact.
  2. Top engineers prioritize their time by focusing on high-return activities and ruthlessly assessing what is worth pursuing.
  3. Top engineers communicate effectively by articulating the 'why', avoiding jargon, tailoring messages to the audience, and sharing updates regularly.
Technology Made Simple 79 implied HN points 17 Jan 23
  1. Solving f'(x)= f^(-1)(x) is a powerful technique in problem solving used in Math and Software.
  2. Math and coding share similar neural pathways, making a Math background beneficial for coding.
  3. When solving problems, start with a warm-up, rely on pattern matching, attack problems from multiple angles, and remember that complex solutions can have simple building blocks.
Technology Made Simple 59 implied HN points 14 Mar 23
  1. Analyzing the distribution of your data is crucial for accurate analysis results, helps in choosing the right statistical tests, identifying outliers, and confirming data collection systems.
  2. Common techniques to analyze data distribution include histograms, boxplots, quantile-quantile plots, descriptive statistics, and statistical tests like Shapiro-Wilk or Kolmogorov-Smirnov.
  3. Common mistakes in analyzing data distribution include ignoring or dropping outliers, using the wrong statistical test, and not visualizing data to identify patterns and trends.
Blog System/5 4 HN points 21 Feb 24
  1. Knowing C well involves dealing with pointers, memory management, system calls vs. library functions, and understanding the FFI
  2. Knowledge of memory, system calls vs. library functions, and FFI gained from knowing C can be applied to many programming languages
  3. While you don't need to know C to be a good programmer, learning it can help you with understanding fundamental programming concepts
Cybersect 39 implied HN points 31 May 23
  1. Technical debt is misused and misunderstood in software engineering, often seen as a moral crusade against bad code.
  2. Refactoring is essential for addressing technical debt, focusing on making code more readable and maintainable.
  3. The concept of technical debt is not about avoiding problems but understanding the ongoing costs of decisions in software development.
Sarah's Newsletter 99 implied HN points 26 Jul 22
  1. Data activation is not just a concern for the data team; it affects the entire data ecosystem and requires consideration of how data moves from one destination to another.
  2. Tools like Zapier and Make are essential for activating data, even bypassing warehouses, though maintaining software engineering principles like testing and version control is crucial for data teams.
  3. Integration bridges will always be necessary to connect applications that aren't warehouse-native, highlighting the importance of scalable systems and minimizing potential points of failure in data movement.