The hottest Software Engineering Substack posts right now

And their main takeaways
Category
Top Technology Topics
🔮 Crafting Tech Teams 39 implied HN points 22 Jan 24
  1. There are live streams on Wednesdays focusing on Tailwind and on Thursdays with Software Engineering Fundamentals Series.
  2. The streams cover fundamentals of architecture and design techniques, with plans to delve into XP disciplines in February.
  3. Upcoming events include live coding sessions on NextJS, React, and Tailwind, as well as discussions on the Economics of Refactoring.
🔮 Crafting Tech Teams 39 implied HN points 15 Jan 24
  1. Tell, don't ask is a key concept in loosely coupled architecture to avoid common traps in system coupling.
  2. Applying the tell, don't ask principle can help in building more resilient and scalable software systems.
  3. Software engineering fundamentals include understanding the importance of communication patterns like tell, don't ask.
Peak Performance by David Goudet 2 HN points 19 Aug 24
  1. Successful software developers are often very dedicated and passionate about their craft. They put in years of practice, learning, and perseverance to achieve their goals.
  2. Common trends in tech interviews include a mix of coding challenges, system design discussions, and behavioral questions. Practicing through platforms like Leetcode can give developers a clear idea of what to expect.
  3. Many programmers experience imposter syndrome, but facing challenges can lead to growth. Staying resilient and reaching out for support can help in tough times.
LLMs for Engineers 79 implied HN points 11 Jul 23
  1. Evaluating large language models (LLMs) is important because existing test suites don’t always fit real-world needs. So, developers often create their own tools to measure accuracy in specific applications.
  2. There are four main types of evaluations for LLM applications: metric-based, tools-based, model-based, and involving human experts. Each method has its strengths and weaknesses depending on the context.
  3. Understanding how well LLM applications are performing is essential for improving their quality. This allows for better fine-tuning, compiling smaller models, and creating systems that work efficiently together.
🔮 Crafting Tech Teams 39 implied HN points 04 Jan 24
  1. Effort is often wasted on debating the visibility of code elements without understanding the why and when behind such practices.
  2. Software Engineering Fundamentals series aims to provide a strong foundational knowledge for building upon in 2024.
  3. Crafting Tech Teams publication offers a 7-day free trial for readers to access full post archives.
Get a weekly roundup of the best Substack posts, by hacker news affinity:
Dev Interrupted 121 implied HN points 31 Aug 23
  1. Poorly managed pull requests can harm developer productivity by creating bottlenecks.
  2. Common issues in pull request management include lack of process, standardization, and visibility.
  3. Toxic pull requests can be categorized into 11 types, such as outdated code, lacking documentation, and risky changes.
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.
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.
Wednesday Wisdom 56 implied HN points 28 Feb 24
  1. Investing time in writing beautiful code is crucial for code longevity and maintainability.
  2. Code that 'mostly works' is not the standard to aim for; focus on creating code that is always functional and meets significant requirements.
  3. Developing a culture of producing beautiful code in a team requires more than guidelines and prizes; it involves a collective shift in mindset and commitment.
Dev Interrupted 51 implied HN points 14 Mar 24
  1. Engineering task estimates are often costly in time and resources, leading to inaccuracies and increased stress within the team.
  2. Distinguishing between task estimation and project estimation can help teams prioritize better and allocate resources more effectively.
  3. By adopting a 'Zenful' approach that focuses on project estimates rather than granular task estimates, teams can save time, reduce stress, and improve overall efficiency.
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.
Load-bearing Tomato 16 implied HN points 21 Aug 24
  1. In Unreal Engine 5, Actors and Components are the main building blocks. Actors are objects in the game world, while Components add specific features to those Actors.
  2. Inheritance is a key concept in creating different types of objects. You can create child classes for specific behaviors while still sharing common features from a parent class.
  3. Functions and Events help organize code. Use Functions for reusable code and Events for actions triggered by certain events in your game.
Wednesday Wisdom 47 implied HN points 13 Mar 24
  1. To beat the critical path, the first step is to acknowledge its existence.
  2. Effective project planning, like utilizing the Critical Path Method (CPM), can prevent delays and ensure timely project completion.
  3. Maintaining a Directed Acyclic Graph of project activities with expected durations is crucial in project management to identify critical paths and manage dependencies effectively.
The Orchestra Data Leadership Newsletter 19 implied HN points 07 Mar 24
  1. Launching a free tier for Orchestra, a tool to build and monitor data and AI products, offering a lightweight approach to improving business value and AI integration.
  2. Addressing the challenges faced by data teams in balancing business value and software engineering best practices through tools like Nessie, dbt, and emerging 'as-code' BI platforms.
  3. Providing an end-to-end platform with features like declarative pipelines, data quality monitoring, granular alert control, and asset-based data lineage to empower data teams in accelerating their initiatives.
Sector 6 | The Newsletter of AIM 39 implied HN points 17 Nov 23
  1. Large language models (LLMs) like ChatGPT are powerful but costly to run and customize. They require a lot of resources and can be tricky to adapt for specific tasks.
  2. Small language models (SLMs) are emerging as a better option because they are cheaper to train and can give more accurate results. They also don't need heavy hardware to operate.
  3. Many companies are starting to focus on developing small language models due to their efficiency and effectiveness, marking a shift in the industry.
Dev Interrupted 79 implied HN points 26 Oct 23
  1. Faster code reviews lead to 50% higher software delivery performance.
  2. Improving code review quality and speed has various benefits like improved code quality and developer experience.
  3. Methods to speed up code reviews include techniques like pair programming, goal setting, continuous merge, and using AI for code review.
Sunday Letters 99 implied HN points 21 Feb 23
  1. Don't wait for things to be perfect before starting something new. It's better to jump in while things are a bit messy.
  2. As an engineer or creator, focusing on solutions is key. Look for interesting problems to solve instead of getting stuck on why things are hard.
  3. If everyone only started when it was easy, no one would ever innovate. Embrace the challenges and start building!
Wisdom over Waves 39 implied HN points 31 Oct 23
  1. Technology trends may focus on the latest and greatest, but essential concepts are sometimes overlooked in the marketing hype.
  2. Years of experience can bring insight into the importance of foundational practices like writing test cases and implementing CI/CD.
  3. Wisdom in software engineering lasts longer than fleeting technology trends and can withstand ecosystem changes.
Artificial Ignorance 42 implied HN points 08 Mar 24
  1. Anthropic released Claude 3, a chatbot with impressive features like a 200K token context window, vision support, and multiple language capabilities.
  2. Stability AI launched Stable Diffusion 3 with a Multimodal Diffusion Transformer architecture, showcasing advancements in foundation models.
  3. The US government's charges against a former Google engineer highlight the ongoing concerns of intellectual property theft in AI, affecting relationships and technology transfers with China.
Boring AppSec 84 implied HN points 05 Sep 23
  1. The post discusses a framework for securely using LLMs like ChatGPT and GitHub Copilot in companies.
  2. It highlights key risks and security controls for ChatGPT, focusing on data leakage and over-reliance on AI-generated output.
  3. For GitHub Copilot, it addresses risks like sensitive data leakage and license violations, along with suggested security controls.
Interesting Data Gigs Weekly 19 implied HN points 10 Feb 24
  1. Rob Mee and his team at Mechanical Orchard are leveraging Generative AI to modernize critical, old code running on mainframes efficiently and properly.
  2. Legacy systems in the U.S. still heavily rely on languages like COBOL, offering job opportunities for those skilled in it.
  3. Mechanical Orchard's use of COBOL and Elixir highlights the demand for modernizing old systems and the potential for increased profits after such modernization.
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.
Laszlo’s Newsletter 64 implied HN points 13 Nov 23
  1. Software engineering has drastically improved over the years with advancements in tools and techniques like high-level abstractions and unit testing.
  2. Natural language is not suited for specifying programming instructions due to its imprecise nature, unlike the detailed specs required for coding.
  3. Generative models like ChatGPT can assist in programming tasks and improve efficiency, but they won't replace the need for human software engineers.
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.
Jake [Building in NYC] 19 implied HN points 01 Feb 24
  1. Learning to code is easier than ever with powerful tools and a supportive community. Many resources and frameworks are available to help beginners quickly set up projects.
  2. Becoming a product engineer lets you create and deploy software rapidly, using existing APIs and tools to add functionality. You can build applications that connect to various services without starting from scratch.
  3. Software engineering offers good salaries and a growing job market. There are many opportunities for those who are willing to work, both in traditional roles and through self-employment options.
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.
Technology Made Simple 39 implied HN points 08 Mar 23
  1. To find the middle of a singly linked list, use 2 pointers - one fast and one slow. This approach simplifies the process and is efficient.
  2. The reasoning behind finding the middle involves understanding the ordered structure of values in a linked list. It exploits this organized structure to bisect the list and locate the middle.
  3. Learning to think in abstract groups instead of specific data types can enhance problem-solving skills. This technique can be extended to more complex structures beyond linked lists.
Technology Made Simple 39 implied HN points 20 Feb 23
  1. Understanding variable scope is essential for writing efficient and secure code.
  2. Different types of variable scopes include local/block scope, function scope, global scope, and static variables.
  3. Properly setting the scope of variables can help in avoiding conflicts, managing code efficiently, and ensuring security.
Sunday Letters 179 implied HN points 24 Jan 22
  1. In software development, it's a challenge to choose between making a general solution or focusing on a specific problem. Both approaches have their pros and cons.
  2. If you hack your code without planning, it can become messy and hard to manage. But if you overthink it and try to make it too general too soon, you might waste time and effort.
  3. To find the right balance, ask how hard it is to change things later and how long the general solution will take to pay off. It's about making smart decisions based on the problem at hand.