paint-brush
342 Stories To Learn About Software Architectureby@learn
1,998 reads
1,998 reads

342 Stories To Learn About Software Architecture

by HackerNoon Learn52mJune 5th, 2023
Read on Terminal Reader
tldt arrow

Too Long; Didn't Read

Learn everything you need to know about Software Architecture via these 342 free HackerNoon stories.

People Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 342 Stories To Learn About Software Architecture
HackerNoon Learn HackerNoon profile picture

Let's learn about Software Architecture via these 342 free stories. They are ordered by most time reading created on HackerNoon. Visit the /Learn Repo to find the most read stories about any technology.

Software architecture is important if we are to understand systems in their entirety. It is primordial for system structure and a seamless decision-making process.

1. What’s the Database Plus Concept and What Challenges Can It Solve?

Explaining the Database Plus concept, its impact on system architecture design, and its innovations: from Proxyless Service Mesh to microservice backend support

2. Hexagonal Architecture: Introduction Part I

This article is for sharing my understanding about Ports & Adapters pattern (also known as Hexagonal Architecture), hoping it can be helpful to someone interested in this subject.

3. The Microservices Maestro

Something I really like about living in the city is the fact that it is made for the masses. Despite its many defects (the rain not being one), Seattle is architected to enable hundreds of thousands of people to go through their busy days. It has a transportation system that interconnects different areas, it mandates different land usage policies for parks, residences, commerces and schools, and it provides restricted parking zones. It is designed for walking (assuming you like hills), it provides easy access to hospitals and it is guarded by police and fire departments.

4. IoT in Manufacturing: What you Need to Know

Discover IoT applications in manufacturing and the challenges you could expect if you set your mind on giving your manufacturing facilities an IoT upgrade.

5. DONT Use REST for Microservices, OK?

You shouldn't be using a REST or RESTful interface for communication between your microservices. I'm not saying that to be controversial, I'm saying it because that's not what REST was designed for, it's not what REST is good at and it's definitely not the best nor easiest option out there.

6. Creating Clean Architecture Using Golang

Hi guys, I’m a Front-End developer. Before there was a time 2 years working CMS Magento, I like CMS Magento because system clean, and architecture database EAV (Entity — Attribute — Value) but I don’t understand why present I’m dev front-end (I don’t know) in the 2-year current. And present I chance comeback working position Back-End that I like.

7. 10 Tips for Using Diagrams to Ace The System Design Interview

If you’re a software engineer interviewing for a backend role, you’ll probably be tested on how well you can design a system architecture given some goals and constraints. It's one of the most high-signal interviews, because it’s open-ended, which presents more opportunities for both mistakes and flexes. An important detail is that these interviews test not only your knowledge of backend systems, but also how effectively you can communicate your ideas.

8. How To Create Golang REST API: Project Layout Configuration [Part 1]

During past couple of years I have worked on few projects written in GO. I noticed that the biggest challenge developers are facing is lack of constraints or standards when it comes to project layout. I'd like to share some findings and patterns that have worked best for me and my team. For better understanding I'll go through steps of creating a simple REST API.

9. Trying Clean Architecture on Golang

Independent, Testable , and Clean

10. Application Logic for Notifications with Courier Automations

Courier Automations is a toolset that includes both an API and a visual builder that allows anyone to easily configure logic for notification workflows.

11. Understanding Ownership and Access Control in Solidity [A Detailed Guide]

From the simple to the complex, with the code to reuse.

12. Becoming a Blockchain Architect in 10 Steps

I managed to do it, you can too.

13. An Introduction to Backend Architecture

Front-end seems to be one of the most popular developers’ niche over the last years. Front-enders create the front view of the web application. The code consists of HTML, CSS, and JavaScript. Three of them create the magic we all experience on the internet. But there is much more than a web application that needs to work. The back-end is the other side of the applications that we don’t see, but the experience.

14. Transitioning From VSCode to NeoVim

As a DevOps engineer, I recently reached a significant milestone: I switched code editors for the fifth time in my career.

15. Opinionated or Not: Choosing the Right Framework for the Job

There’s a foundational question that every project starts with: accept the freedom to roll your own solutions along with the burdens that go with it, or take the chance to use sensible defaults that allow you to move quickly, but hide a multitude of decisions and set you on a prescriptive path.

16. Hexagonal Architecture: Use Case Part II

First of all, if you didn't read the previous post, please read first part before you jump into this section

17. Using Rate Limiting Algorithms for Data Processing Pipelines

You may have already heard of rate limiting associated with REST API consumption. In this article I’ll show you a more complex use of this component...

18. How to Design a Kanban Board

Some of the popular implementations of a Kanban board are the following: Trello, JIRA, Microsoft Planner, and Asana. The changes on the board are synchronized i

19. Why you Should Build your Next Fintech App in Python

Get to know about the top reasons to choose Python for Fintech app development. Check out popular apps built with Python along with the use cases.

20. 3 Reasons Webhooks Are Better than Regular HTTP Requests

A guide on why Webhooks are often considered better than regular HTTP requests for a few reasons.

21. Varun Sharma on Software Engineering, Climate Change, and Taking Inspiration From Movies

Varun Sharma has been nominated for a 2021 Noonies Award for Architecture.

22. Cracking the AWS Certified Solutions Architect Associate Exam

Tips to pass AWS Solutions Architect - Associate certificate exam

23. How to Avoid Inconsistency Across Microservices

In a microservice architecture, you can get dependencies that impose restrictions on the services used

24. What Is the Difference Between Continuous Delivery and Continuous Deployment?

Continuous Delivery and Continuous Deployment are two complementary practices that help teams get their software into the hands of users faster.

25. How to Accelerate App Performance by Performance Engineering? [Best Practices Inside]

Performance Engineering is one of the ways to enhance the quality and performance of an application. Check out the best practices to take advantage of it.

26. Saying No - A Five-Point Framework

Learn how to identify the signals that it’s time to say no

27. Sending UDP Messages on Linux: What is the Condition to Packets Being Lost?

In developing the distributed software system it might be reasonable to use exchange data over the UDP protocol to minimize exchange time.

28. Technical Debt or Technical Fraud

Technical Debt is one thing, but when let to fester for too long, it can become Technical Fraud. A much more dangerous and much more insidious predator.

29. 7 Rules for Writing a Good Commit Message

In this article, we’ll outline a widely accepted yet simple format for good commit messages.

30. Hammering at Clean Architecture

Who doesn’t like sharpshooting wood elves, chaos infested wastes and dwarfs digging deep under the mountain for treasures? Daring Sigmarite warrior priests and armour-clad chaos Chosen and all manner of other fantastic creatures? I know this might sound weird, but this is an article about programming! I’ve recently gained interest in trying to understand a bit more about Uncle Bob’s clean architecture design and, to do that, I’ve created a small app that I believe showcases some of the main strengths that I believe it has. Disclaimer: All Warhammer references are the property of Games Workshop and I also do not claim to be some clean architecture guru. But maybe this will help someone else with their first steps in grasping the concepts of this cool new toy I’ve found.

31. Why We Need to Redefine the 3-Tier Architecture

The classic 3-tier architecture is need of a reboot. APIs have changed the way we write application code and we need to redefine how 3-tier architecture works.

32. Updating a .NET MAUI Canvas with Messaging events

In .NET MAUI the Canvas element can be used for drawing. For a Chip 8 emulator I implemented publish/subscribe messaging to redraw the Canvas, in the game loop

33. Taking Your First Steps Towards Guix Home

A step by step guide on installing and configuring software for use with Guix Home.

34. How Experienced Software Engineers Evaluate Designs

Experienced software engineers learn what works after maintaining their work for years.

35. 8 NO/LOW Code Tools Even Programmers Will Love

Hey, developers! I get a huge kick out of tools — so today I'm sharing the ones that have made my life easier and my work more efficient.

36. Dreading a System Design Interview? Here Are Five Resources That Can Help🏅

Top 5 resources to get yourself ready for system design interviews, including books, courses, and interview practice platforms.

37. Optimal Communication Between Microfrontends and Cross-microfrontend Optimization

In this article, we will discuss different options for sharing state and code between micro-frontends and highlight the benefits and drawbacks of each approach.

38. An Intro to QAOps in Continuous Delivery Systems

In the common paradigm, dedicated QA teams solely focus on product quality. QAOps enables an efficient quality assurance process.

39. Microservices Architecture, The Decision Maker: Book Review

This book assists Architects and Engineers involved in the development of software in assessing whether a Microservice Architecture meets business needs.

40. Problem Solving in Software Development: Specialization Vs. Generalization

What types of issues should you really spend your time on in software development - specialized or generalized?

41. Finding Product of Array Except Self

Sergei Golitsyn. Find the product of all the elements of nums except nums[i]. The product of any prefix or suffix of nums is guaranteed to fit in a 32-bit int

42. Difference Between a Platform and a Framework

Difference between Platform and Framework.

43. Building Software Using the Software Development Lifecycle

Software development is the process computer programmers use to write programs. The procedure also referred to as the Software Development Life Cycle (SDLC),

44. Error Handling Strategies for Serverless Event-Driven Architecture

Designing the error handling for event driven architecture.

45. Spring Boot - Annotation Cheatsheet Pt. 1

One-Place Reference with Code Samples for Spring Boot Annotations.

46. The Goals of Software Design

A misguided software design can hurt both the business and the technology. It is therefore vital to understand an organizations goals and optimize accordingly.

47. Software Design Patterns Explained

Software design patterns have been used to package solutions to many common design conundrums. Each one has its own advantages and drawbacks to consider.

48. 13 Questions and Answers for Google Cloud Reference Architectures

Google Cloud is a cloud computing platform that can be used to build and deploy applications.  It allows you to take advantage of the flexibility of development while scaling the infrastructure as needed.

49. Instant Gratification Layers Are the Future, Not Blockchains - BOG#003

Scaling blockchain by adding, not removing.

50. Webhooks Are Not the Same as APIs

In this article, we will discuss what makes them different from one another and what is the best case where they should be used.

51. Staging Environments are Too Important to be Overlooked: Here's Why

Many development teams skip having a staging environment for their applications. They often submit a PR, potentially run tests in a CI system, merge to master, and then deploy to production. This is a risky pipeline because there is no true integration environment or integration testing being performed. What’s worse is that if there is an issue they may engage in “cowboy coding” to try to resolve the issue on their live production environment.

52. Concurrency in Golang And WorkerPool [Part 2]

Project Link: https://github.com/Joker666/goworkerpool

53. From N-Tier to Clean Architecture with .NET

The evolution of n-tier architecture as clean architecture with reference to domain models domain and application services and other relevant parts of the topic

54. With JSONB Data in PostgreSQL, You Can Get the Best of Both Worlds

JSONB in PostgreSQL offers the best of relational and NoSQL. Here are two techniques that we use at AppLand to make JSONB data even more effective.

55. How to Deploy a Kotlin App to Heroku

In the last 10 years, more and more languages that run on the JVM have been developed but they look and feel nothing like Java. One such language is Kotlin.

56. Understanding Domain Driven Design (DDD)

DDD is not about technology. Instead, it's about understanding the problem you’re trying to solve in a business context.

57. Why ENV Variables are no Good Anymore

In this article, we’ll discuss the threats that using .env files poses for secret management while application development and uncover the ways to combat them.

58. How Bugsnag Helped 99designs Standardize Debugging and Create Efficiencies

99designs’ engineering team now uses Bugsnag to troubleshoot errors in more than 25 projects, written in multiple coding languages.

59. Objects vs. Actors

Readers are assumed to have at least a passing familiarity with an object-oriented language and an actor-oriented language (e.g. Erlang, Pony). Note that objects and actors are orthogonal abstractions and therefore a language may implement both – Pony is an example. Language abstractions orthogonal to both objects and actors will not be considered here, e.g. static vs. dynamic typing. Because Pony mixes objects and actors, this paper will use Erlang as the prototype for actors in order to draw a sharper contrast between objects and actors. Further exposition of Pony will require its own paper.

60. Musings On Software Architecture: Monoliths to Microservices

I've been planning some of my personal projects lately and this subject kind of caught my mind. I've seen so much hype about microservices, that I need to put my thoughts into perspective... I know that microservices is a very valid architectural model and perhaps an inevitable stage of cloud software development once it scales…

61. "Unless you’ve been developing software in a cave"

In this article, we’ll look at some microservices best practices and suggest a few proven ways to help with your microservices architecture.

62. The Eleven Defining Characteristics of Modern Software Architecture

Introduction

63. Fundamentals of Data Structures [Part 1]

A trip down memory lane avid reader. Let's take a walk through the core of it all: data structures. What are they and why are they so important? A 'hello' to a reader that might have missed our talk on Memory management, where we delved into what happens to our code in variable assignment. Do take a look, even if it's a refresher you're looking for.

64. How to Become a Better Engineer: Steel Threads

Learn a software design approach that will make you a better engineer.

65. How to Use OpenTelemetry to Identify Database Dependencies

Tired of debugging your application to find out its database dependencies? There is a smarter way to track them with OpenTelemetry.

66. Programmatic S3 Object Storage Integration With NodeJS

Guide demonstrating how to programmatically integrate with a S3 compatible storage service for file upload.

67. The Tech Stack of a Solo-Developer to build a SaaS With React and AWS

My stack to build a SaaS with Next JS and serverless backend. A full-stack react SaaS boilerplate template to kickstart any project.

68. How To Orchestrate Event-Driven Microservices

Want to add better visibility and flexibility to your microservies architecture? Read on to find out how adding a Conductor can help!

69. Docker Basics to Get Your Feet Wet

In this article, we will be discussing the most important elements and tools around the Docker ecosystem when getting started as a beginner.

70. Top 5 Tips for Securing Your GitOps Environments

Here are the top 5 Tips for securing GitOps environments.

71. An Introduction to Domain-Driven Design

Have you come across DDD (domain-driven design)? Domain-specific programming - what is it and how to live with it?

72. Middleware to Ecosystem Evolution: Understanding New Features of Apache ShardingSphere 5.0.0

ShardingSphere recreates the distributed pluggable system, connecting actual user implementation scenarios and contributing valuable solutions.

73. Broken Windows Theory in Software Development: Why Details Matter

While some problems in the software development world may seem inconsequential, they can have serious side effects and costs on people and society

74. Introduction to Circuit Breaker Pattern: How to Build Better Software

In any application, different sets of services/third-party APIs communicate either asynchronously (out of score from current context) or synchronously or sometimes both (rare cases).

75. How To Choreograph Event-Driven Microservices

Don't get trapped in the Death Star! Choreographed microservices have all the benefits of a loosely coupled architecture, and only some of the pitfalls.

76. Design Pattern: Strategy Pattern in Practice

Learn strategy design patterns with practical examples. Why and how to use strategy patterns in software design.

77. Spring Boot - Annotation Cheatsheet Pt. 1b

Spring/Boot REST API and Stereotype Annotations Reference for Learning and for Daily Development.

78. What is Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Models are a set of guidelines to help developers manage the process.

79. Why I Don't Think TDD Is Essential

Test Driven Development puts emphasis on unit over integration tests. The result can be lower quality featuring bugs that are baked into the product.

80. How to Use the Whiteboard in System Design Interviews 

You'll likely be asked some system design questions when interviewing at many tech companies today. Here's how to use the whiteboard to answer them effectively.

81. 3 Software Ownership Models and Joint Care for Dev Teams

In traditional software operations, software would be "thrown over the fence" to operations teams. Technical operations teams would be aided in operating a service using Standard Operating Procedures (SOPs).

82. A Deep Dive Into The Architecture of React: Structure and Dependencies (feat. Eunice)

This case study investigates and demonstrates the capabilities of Eunice, by using Eunice on the JavaScript library React.

83. Serverless Vs Microservices Architecture - A Deep Dive

Companies need to be thinking long-term before even starting a software development project. These needs are solved at the level of architecture: business owners want to assure agility, scalability, and performance.

84. Have We Reached the Age of Modularity Maturity?

while microservices come with their perks, the cons are so huge sometimes that they offset the pros. There are more manageable ways to achieve the same result.

85. Test Scope and Isolation With Eunice

There are often debates on the best way to describe what constitutes a "unit" when unit testing. Considering the scope of tests is an important part of code structure and complementary to how implementation is grouped.

86. DevOps vs SDLC: Optimizing the Software Development Cycle

If you're using a traditional software development life cycle (SDLC) you may have questions about where DevOps fits in.

87. Software Architecture Basics: What, How & Why

Software architecture, design and process of architecting explained using a case study.

88. A Comprehensive Guide to Approaching Package Organization in Go

Let's find out together how to structure Go code according to the best software engineering practices.

89. The 6 Core Concepts for HTTP Caching

The 6 core concepts you need to know to understand HTTP caching.

Don’t want to spend hours and hours reading RFCs and documentation ? Read this guide instead!

90. Part 2: Developing Software Requirements, A Case Study

This is Part 2 of a 4 part series. Part 1: Why Software Requirements In The Real World Are Hard discusses the challenges of developing requirements and what good ones might look like. This post looks at the requirements development process and its outputs on a real-world project.

91. How to Design a Web Application: Software Architecture 101

So you’ve embarked on the entrepreneurial journey to build your own web application. You’ve got the idea in place, but the significance of getting the architecture right is extremely important.

92. Lessons Learned Building Distributed Systems with CQRS and Event Sourcing

Several years ago, I had an idea, or more of a drive really. Maybe even an obsession. I wanted to build the holy grail of efficiency in development. It didn’t have to be for everyone. I wanted it for me.

93. Why You Shouldn’t Be Afraid of Rebases in Git

Rebases are a way of making your crude commit history into something you’ll want to share with the rest of your team.

94. Microservice Architecture in Application Development: Advantages and Disadvantages

Microservice architecture is the optimal approach to software development.

95. How a Unicorn Startup in Japan Leveraged the Power of Microservices

Startup experience in Mercari. Road to microservices from monolith.

96. 3 Types Of User Communication APIs and When To Use Them

This post describes three core types of user communication APIs and in which circumstances you should use them to create the best possible end-user experience.

97. How to Use Low-code Tools to Fill Your Developer Talent Gap

The demand for enterprise applications is growing faster than IT capacity due to the need for digitalization everywhere. Low-code is here to help!

98. My System Design Interview Checklist in 8 Simple Steps

That dreaded system design interview. I remember the first system design question I was asked. “Design WhatsApp”, he said. I didn’t know where to start! I was a fresher. Data structures and algorithms were the only things I knew. I am sure you can guess how that interview went. Then after enough research, I made myself a checklist of components, of sorts, to navigate me through my next system design interviews. And I sh*t you not, it works!

99. A Principal Architect's Learnings From Using AWS Step Functions For One Year in Production

This article summarizes our learnings at SSENSE in applying WAS' Step Functions; what worked, what didn’t, and what should be improved in its ecosystem.

100. The 3 Levels of Clean Event-Driven Architecture

How do you define a Clean Event-Driven Architecture? Are there some patterns to help? How do you build it? Have you got any more questions? Let's answer them!

101. 5 Best Practices for Effective Log Management

What Are Log Files? And how can they be managed in a cloud-native infrastructure?

102. Getting Distribution Right: DevOps Digital Transformation in 90 Days

You’re digitally transforming yourself and your company in 90 days whether you like it or not.

103. Solar Architecture: A New Perspective on Enterprise Software Development

The development life cycles of applications in an enterprise environment often follow a common theme. An application begins life with a clear purpose in mind and over time has requirements brought in that cause incremental additions to the scope of the original concept. These additions could either be completely in sync with the original concept or perhaps the requirement just had no better home to belong in. As the application matures to an end-of-life state it has now grown far past its original intended purpose and is in dire need of a refactor — breaking down the monolithic beast into smaller and more succinct components.

104. Courier Elemental: An Omni-channel Markup Language for Notifications

Courier Elemental is an omni-channel markup language for product notifications that provides a JSON-based syntax for any channel you use.

105. All the Coolest Trends Coming to the Agile Methodology in 2022

Agile Software Development can give companies versatility and help them navigate through change and complexities of the software space, improving efficiency.

106. Salesforce Functions for Caching Expensive Queries

In this article, we will walk through the use of Salesforce Functions to cache expensive queries.

107. Bugsnag's Diagnostics Tools Benefits Eventbrite

As Eventbrite neared the release of their rewritten platform in React.js, they knew observability on the frontend was a problem they needed to solve.

108. I Test, Therefore it Works

To put it simply, programmers make it work and testers make it break. The benefits beat the costs in the long run.

109. How to Get Started With a Clean Architecture Template for NodeJS, Ts.ED and TypeScript

🔰🦸 Template to start developing a REST API with Node.js (Express), TypeScript, Ts.ED, ESLint, Prettier, Husky, Prisma, etc.

110. How to Cook WorkManager with Dagger 2

How to properly work with android's work manager library in the presence of dependency injection, with the example of integrating the Dagger 2 library.

111. The Design of Model Productionization Architecture in Data Science

A lot of companies struggle to bring their data science projects into production. It is mainly because there is a huge knowledge gap.

112. A Production Level Architecture for Android Apps [Part 1]

Context

113. Benefits of Using WebAssembly for Your Applications

Learn the top advantages of using WebAssembly for your applications.

114. Monolithic vs Microservice Architecture: All You Need To Know

The problem that enormous scale venture applications a work in progress bring to the table of programming designers was excessively. There was no arrangement at all to this issue that is the reason an alternate building style was required. Henceforth the expression "microservices" appeared after the economical advancement in distributed computing space, it was first utilized by Dr Peter Rogers in a meeting on distributed computing in 2005.

115. Understanding Modern CPU Architecture (Part 1)

Learn the architecture of a modern central processing unit (CPU).

116. How to Effectively Apply TDD in Enterprise Application Development

Methodology to enable fast development of robust enterprise applications applying Test-Driven Development (TDD) and Hexagonal Architecture.

117. Designing an On-Demand Video Streaming Service

The popular implementations of an on-demand video streaming service are the following: YouTube, Netflix, Vimeo, and TikTok. The video files are stored in a mana

118. Save Yourself the Headaches and Document Agreements the Right Way

Agreements are an essential part of software development. They lower development costs and make developers' lives easier. But there is a problem..

119. Python Interfaces: Abandon ABC and Switch to Protocols

Reasons to use Python Protocols instead of ABC library for Python interfaces.

120. Using Amazon SES and S3 to Send Emails with Attachments

In this tutorial, you'll get a step-by-step walkthrough of how to add attachments to your transactional emails using Amazon SES and S3.

121. Deployment Choice: Code Promotion vs Artifact Promotion

When it comes to deployment, a choice must be made. Find out what's the difference in code promotion and artifact promotion

122. A Guide to API Versioning Best Practices

In this article, we will be discussing some of the best practices for API versioning for ease of user consumption and flexibility.

123. How to Design a Functional Pastebin

This article gives a skeletal guide for designing your very own pastebin.

124. Designing an API Rate Limiter

Distributed systems implement an API rate limiter for high availability and security.

125. Network Security vs. Cybersecurity: What's the Difference?

While network security is a separate and important subset, cybersecurity covers a broader whole in terms of security.

126. The Noonification: How Badly Does Science Need Crypto? (2/17/2023)

2/17/2023: Top 5 stories on the Hackernoon homepage!

127. Software Architecture Basics: From Developer to Software Architect

Journey from a Developer to an Architect Role by expanding the focus and understanding of Software Engineering and solving problems in a group.

128. The Effect of Multiple Switching to and From Compose on Application Performance

In this article I want to evaluate the impact on performance of multiple switching from xml to compose and back.

129. When You Shouldn't Use Async in Python

What comes to a Python developer’s mind when he needs to write an I/O bound application? Of course async. Why? Usually, because it’s a trend. And I’ve seen this

130. How Companies like Netflix Deliver Content Around the World

Have you ever wondered how companies like Netflix or Spotify is able to delivery videos or songs to you at what seems like lightning fast speed !?

131. Streamlining Python Interfaces: Tips for Concise and Clean Code

132. Microservices? Why Not!

The cost of microservices from a developer's perspective.

133. Thread Communication in Java using Lock and Condition; A Tutorial

134. How the AGI Interface Is Implemented in Asterisk

Learn about the Asterisk Gateway Interface which allows the platform to make use of its unique properties as a telecommunications technology provider.

135. How Observability and Monitoring Produces Better Software

An article focused on deep diving into observability and its significance in software. Its history, goals, the importance of observability, and the issues that

136. The Complete Guide to Becoming a Software Architect

"I want to become a solution architect. What are the resources to learn more about architecture?" - We are all asking the wrong question.

137. Event-Driven Architecture: Automatic DTO Generation From Event Documentation

In this article, I would like to tell you how I solved the following task, namely the generation of DTOs using the JSON documentation that springwolf generates.

138. How to Use Components in Playwright

Today I'll speak about a beta feature in Playwright: Components.

139. What Is a CDN and Why You Should Use One

CDN is a group of spatially distributed servers that increase the rate at which web content is delivered by making it more accessible to users.

140. The Work You Defer Only Accumulates Tech Debt

Tech debt is deferred work for later. Think of technical debt as analogous to financial debt. It's not just the way they are named. If you have a debt — there i

141. Software Engineering Architectural Patterns Part1

Choosing the right architecture for your project. Understanding common software architectural patterns that scale.

142. The Cost of Using Open Source Software as a Developer: A Tech Lawyer's Perspective

The Price You Pay As A Developer For Using Open Source Software - A Tech Lawyers View

143. How to Stop String.GetHashCode() in .NET C# from Driving You Crazy

Know when to depend on String.GetHashCode() in DotNet (.NET) CSharp (C#), and when not. Coding Programming Software Development Engineering Architecture

144. From Proposal to Platform: A Framework for Scaling Software

Ever find yourself maintaining a prototype in production? Or struggling to scale siloed products? In this article, we explore a framework for scaling software.

145. Designing a Social Media News Feed System

Social media newsfeeds must be generated in near real-time based on the feed activity from the people that a user follows.

146. Is Dry Code Still Relevant Today?

147. Thinking Critically About Monorepos and Why Its an Unhealthy Engineering Practice

Over the past few months, I've seen more and more engineering teams move away from using monoliths. In this blog I explain why this is a good thing.

148. How to Become a Software Architect: Keith Casey™️ on His Career Learnings at Twilio, Okta and Beyond

Software architects are really the linchpin for creating exceptional, world-changing software—and having the wrong person in that seat can be disastrous.

149. How to Use Domain-Driven Design in Micro-frontend Architecture

Discover how to apply Domain-Driven Design principles to decompose micro-frontends. Improve your front-end architecture and enhance your development workflow.

150. Why Small Businesses Shouldn't Move Away from Cloud Services

Humans possess a remarkable ability to nostalgically reminisce about dark times as if they were the best of times.

151. All You Need To Know About Model View Controller

In this article we're talking about MVC also known as Model View Controller. Everywhere in the software engineering taking about MVC. So let's jump on to the content.

152. Understanding the Command Query Responsibility Segregation Pattern

153. Battle of the Automatic Trade Signal Execution Architectures: 3Commas, Alertatron, Plurex

You want Automatic Execution that suits the needs of your Trading Bot. A comparison of 3Commas, Alertatron and Plurex architectures and their pros and cons.

154. How Loop Is Building A Virtual Restaurant Operating System

Sundar Annamalai and Vinod Pachipulusu about starting Loop as a virtual restaurant platform to help restaurants with their business.

155. Using a REST API with Python

Requesting fitness data (backlog) from Terra requires HTTP requests, so I’m writing an essential guide here on using a REST API with Python.

156. Demystifying SOLID Programming (Part 1): Single Responsibility Principle

We dive deep into the first principle of SOLID programming, the Single responsible principle. It states "A class should have one and only one reason to change"

157. From the Software Architect Mindset to Solution Architect Mindset (and back again)

I transitioned from Software Architect to Solution Architect b/c you know perfectly well software libraries and you don’t know well infrastructure components.

158. Will You Hit a Brick Wall When Using a Low-Code Development Environment?

Low-code is changing how developers build & deploy web applications. What are the limitations of low-code development environments?

159. How I Curate Experiences For the Web - Interview with Noonies Nominee Marvin Kweyu

160. How to Reduce the Chances of an Outage

An outage (also known as downtime) is a period of time when a given service or system is unavailable, failing to provide and perform its primary functionality.

161. How to Reduce AWS Lambda Costs

There are many ways to reduce AWS Lambda costs. In this article, we'll take you through the AWS Lambda cost optimization strategies that have worked for us.

162. ChatGPT in Software Engineering: A Glimpse Into the Future

How ChatGPT can support the software development lifecycle and provide a glimpse into the future of human-AI collaboration in software engineering

163. Federico Carrizo’s Proficiency in Software Engineering is Bringing LATAM into the Modern World

Federico Carrizo is the CEO of Treinta, one of the fastest growing startups in Latin America. He started in the world of fintech with Walt Disney.

164. The Future of Software Engineering: Is Low-Code / No-Code the Answer?

Low-code is transforming how software developers build and deploy web applications. How will this impact the future of software engineering?

165. Bad Software? No Big Deal

Inevitably, we’ll someday come across legacy software, inconsistent databases, or integration modules that simply don’t work. It might sound wise to fix this software, especially if they’re crucial to the business. The problem that refactoring costs development and validation time, and the business does not always have this time to invest, but at the same time needs the fix. How can we both deliver the business requirements in time and still not break everything?

166. Starting Web Development? Remember These 5 Things

Originally I shared this story to Syndicode blog, and now I'm making a summary with small additions.

167. The DevOps Tools to Optimize your Workflow

Want to take a laugh at yet another boring list, right? I’ll try to surprise you with a list of unique tools that you probably still don’t know!

168. From Monoliths to Microservices: Migration in Practice

This isn't another "break down the monolith" article. This post is about making the applicable decisions, measuring and verifying the results

169. Understanding Database Plus Concepts and the Challenges It Can Solve

Explaining the Database Plus concept, its impact on system architecture design, and its innovations from Proxyless Service Mesh to microservice backend support

170. Why Is Git So Complicated

Git is meant to always give you back the data exactly as it was saved OR let you know the repository is corrupted. And it does an amazing job with it.

171. Adding a Direct Twilio SMS Integration With Sendgrid Emails

A How-to guide for adding a direct Twilio SMS integration with Sendgrid emails

172. Building Efficient Crypto Trading Software With Python

Learn about building efficient trading software principles, such as event-driven approach, microservices, and asynchronous programming.

173. An Introductory Guide to Monolith Software Applications

Monolithic architecture in software development. Discover the world of n-layered patterns and what they involve.

174. Writing an Event Bus for React

Event Bus is great for lightweight event systems. We'll discover its use case in React and build an Event Bus from scratch with TypeScript.

175. Figuring Out When Not To Use DI, IoC, and IoC Containers in .NET C#

Learn the best practice on when to use Dependency Injection (DI), Inversion of Control (IoC) and IoC Containers. DotNet .NET CSharp C# Design Architecture

176. UMA (User-Managed Access) 2.0: How It Works And What It Can Be Used For

User-Managed Access (UMA) is an OAuth-based access management protocol standard. Introduction to UMA and where it can be used.

177. As Software Eats the World, Game Engines Eat Software

Marc Andreessen famously claimed “software is eating the world,” a decade later I claim "game engines are eating software"

178. Creating Custom API Endpoints in Salesforce with Apex

Simple Object Access Protocol (SOAP) is a messaging protocol based on requests and responses using an XML format.

179. Bugsnag Beginners' Series: Part 1 - Error Inbox

Bugsnag Beginners Series is a five-part series focusing on concepts and features in Bugsnag that are fundamental to any user’s experience.

180. How to Find the Stinky Parts of Your Code [Part XIX]

New code smells arriving!

181. Why Monolithic Architecture has a Bad Reputation

Pros and Cons of Monolithic Architecture in its traditional incarnation or as a Distributed Monolith.

182. Tips for Developers to Survive API-First

The world of API-First has swept developer marketing by storm. Learn some tips to get a grip on this trend and avoid being blindsided!

183. How to Maintain a Prototyping Mindset When Building for the Semantic Web

This talk covers the importance of keeping a prototyping mindset in all aspects of our web design with reference to the idea of the semantic web.

184. A Detailed Comparison of Monolithic and Microservices Architecture

o compare monolithic vs microservices pros and cons, we should have a look at the perks and pitfalls of each architecture first

185. A Deep Dive into Chat Architectures & Chat Engines that Enable You to Send Cat GIFs to Your Friends

Chatting is the most popular way to communicate and get things done today. Seriously, does anyone still make calls or send emails in the era of messengers?

186. How Technological Approaches and Engineering Transform Construction and Architecture

Digitalization is one of the major things in today’s dynamic business environment. Most industries are adopting technology at a breakneck pace.

187. A Non-Standard Way to Use Apache Kafka Message Broker

Distribute business-configuration using Apache Kafka, it could be a good idea if your services already use it for other purposes

188. Face the Facts: There is no Kubectl Restart Pod Command. Here's What You Can Try Instead

Many Kubernetes operators search for a command like “kubectl restart pod." Sadly, there is no such command in Kubernetes. But workarounds exist.

189. Your Docs Are the Gateway to Your Devtool

Writing good documentation is crucial. While working on Appwrite, documentation is one of the essential parts of our development life-cycle. When we are building tools designed for developers, our docs are where developers first meet our product. Complex, unclear, or unorganized documentation site can drive developers away even if your product is great. It doesn’t worth a lot if your code is awesome or neat if no-one can use it.

190. Understanding WhatsApp Architecture

WhatsApp is one of the most used platforms for messaging. Information is sent immediately, which is why more websites use it for communicating with their users.

191. Launching Docker Desktop with Spring Boot

Explanation and Example of a Real-World Spring Boot and Docker Desktop based Deployment. Code Samples are provided Inline and via Git Repo.

192. Creating a Notification-Based Game via Unity and Courier

I built a notification-based game with Unity Engine, Courier, Twilio, and Mailjet. This post discusses how I used Courier to build Rain Spikes.

193. An Overview of Database Indexing for Beginners

Database Indexing is the most common way known and utilized by backend developers to optimize database queries.

194. Feature Flags for Product Managers: Give Yourself Options for Handling Risk

As a product person, have you ever witnessed large, complex releases result in outages or rollbacks?

Have you wanted to make configuration changes in productio

195. Scaling Your Compute Resources on Salesforce

How might Salesforce developers build apps that execute long-running commands which can scale with user growth while not impacting performance?

196. Fully Covering .NET C# Console Application With Unit Tests

Best Practice Cover DotNet (.NET) CSharp (C#) with unit tests with Test Driven Development TDD Dependency Injection DI Inversion of Control IoC Containers

197. How to use Polly.JS dependencies with Eunice

In this post I'll demonstrate the development tool Eunice by using it on the JavaScript library Polly.JS.

198. 4 Certifications to Help You Become an Enterprise Architect

It can be hard to secure an enterprise architect role. Here are some certificates to help you make a good impression.

199. Reference Architecture for Network Secured Azure Web App

Cloud solution architecture of Azure hosted web application from Network Security perspective using Azure App Service, Azure SQL using Private Endpoints

200. A Beautiful Architecture of Server-Side Alarm

We do not generally appreciate the hard/smart work that goes into creating the things we take for granted around us. This article is one such.

201. Microservices and the Golden age of Infrastructure Automation Tools

The dramatic shift in infrastructure availability is one of the main catalysts for the advent of microservices.

202. How to Add Internationalization to your Product's Notifications

In this article, you’ll learn about the scope of internationalization and the tools that are available to build software with internationalization logic.

203. How Error Tracking Saves Time and Accelerates Development

Let's examine why error tracking matters and how Bugsnag can help you save time and accelerate development.

204. DynamoDB Key Partition Strategies for SaaS

When using Amazon DynamoDB, you need to know how to effectively partition the tenant data in order to prevent performance bottlenecks as the application scales.

205. Investment Management Software Streamlines Processes for Real Estate Investors and Managers

Agora Real is an investment management system for real estate investors and managers.

206. The Differences between Shared and Private Caching

Do you know the difference between private and shared caches ?

207. How to Build Cloud-Based Data Architectures

Building Cloud-Based Data Architectures is necessary to making use of Big Data and gaining the ability to process significant amounts of data for analysis.

208. 9 Questions To Ask Before Settling on an Outsourced Software Development Team

We live in a time when there are numerous options for outsourcing your development work. But how do you pick an outsourced development team?

209. How Embedding an Inbox Feed in Your Application Can Benefit Your Users

Inbox Feed is an in-app repository of the notification history so that users don’t miss out on any important information.

210. The Main Equations That Can Make Paging/Partitioning Easy

Learn paging/partitioning mathematical equations and how to apply them in JavaScript (JS) and DotNet (.NET) CSharp (C#) code. Coding Programming Development

211. Microsoft Azure Certifications: What is the difference between AZ-303 and AZ-304?

Cloud computing has become one of the most important features of the modern IT industry. Every client needs to have their application highly scalable.

212. State Machines Can Help You Solve Complex Programming Problems

The notion of state machines is extremely useful in programming. It streamlines the process of developing more complicated use case apps.

213. Setting Up Notification Systems to Observe and Analyze Your Application

By building observability and analytics into your notification system, you can identify and quickly resolve issues by monitoring how your product is performing.

214. Is it Enough to Define IMyInterface<T>? Do I Need IMyInterface as Well?

Best Practice for designing Interfaces in DotNet (.NET) CSharp (C#). When to define a non-generic interface in addition to the generic interface.

215. Is Go faster than Java? - The Wrong Question to Ask

This means to compare programming languages on what really matters, which in most cases, specifically in the enterprise world, is how efficient it is to develop

216. An Introduction to Firefox’s new Site Isolation Security Architecture

Without Site Isolation, Firefox might load a malicious site in the same process as a site that is handling sensitive information.

217. How to Build Product Notifications That Users Will Love

Consider your users and their many different experiences and UX preferences as you design and build your product and notifications, not after.

218. When Should You Move to Microservices?

Avoiding the small monolith antipattern. At what scale do Microservices make sense? Avoid a solution worse than the problem and understand the tradeoffs.

219. Ultimate Guide To Building an Unbeatable Multi-Tenant SaaS Startup With Heroku [Part 1]

In this multi-part series, I'll transform a new application into a multi-tenant experience running in the Heroku ecosystem. This article focuses on the object model, design, architecture, and security.

220. 5 Essential Software Architecture Design Principles

This post will talk about popular design principles used in the software architecture world. Architecture is about the decisions you wish you could get right early in a product or project lifecycle.

221. Trees: Non-Linear Data Structures for Beginners

An overview of Trees as a data structure. A software engineer's tool. Should I use a hashmap?

222. 3 Architectural Design Patterns for Software Development

Learn about software architectural patterns and their benefits and drawbacks.An architectural pattern is a general, reusable solution to a commonly problem

223. Building 'The Builder' - The Road from Commit to Production in 13s

How we built "The Builder": the challenges we faced and how to build a modern, reliable, and quick continuous integration and deployment system.

224. Producers Guarantees for Event-driven Development

Instead of consumers' delivery guarantees in message queues, in this article, we're going to talk about producers' guarantees in distributed systems.

225. Reveal Go Module Vulnerabilities With Xray

Golang developers care a lot about security and as Go modules become more widely used, they need more ways to assure these publicly shared files are safe.

226. Trends We Are Watching: API Democratization and API Management

If you’re a developer of any type of modern application, then you’re likely more than just familiar with APIs—you’re probably a power user.

227. Did you know you could write scripts with webservices? You do now.

There's a big hole in reusability on the web. An entertaining statistic - not the most accurate but still fascinating - was generated by Simon Wardley from a Twitter poll. He calculated that basic user registration had been written over a million times. The average developer had written user registration about 5 times. I'm sure you've built it a few times yourself.

228. Representations of Data: One Primitive Plus One Primitive Equals Linear Non-Primitives

On our first set of data structures, we get into the definition and scope of non-primitive structures. Have a look at the previous read on The Power of Data structures in case you feel a little lost. Right off the batt, we define what it means to be a non-primitive set, and how this can be further broken down.

229. 5 Ways that Microservices can be Deployed Effectively

The perfect place to host a microservice application is largely determined by its size and scaling requirements. So, let’s go over the 5 main ways we can deploy

230. Grouping Code with Eunice [Explained]

As software gets more complicated we need ways to structure code to make it easier to understand. For example, functions, classes, closures, files, directories, repositories, namespaces, packages and services. However, how code is grouped in these structures doesn't always fit well with how the pieces work together.

231. Using the Builder Design Pattern in .NET C# to Develop a Fluent API

A step-by-step guide to developing a Fluent API from scratch in .NET C# using the Builder Design Pattern.

232. Building Microservice Architecture With ASP.NET Core

In this article, we provide you with an introduction to designing and maintaining microservices-based applications using ASP.NET Core.

233. Build on Top: Using Open Source Platforms to Increase Productivity

Open source is the modern-day realization of that utopian dream.

234. How To Dismantle Monolithic Apps

Monolith breakup strategies technical and project management

235. Cloud Architects Need More than Certifications

Are you AWS certified, Azure certified, or Google certified and struggling to get your first cloud architect or solution architect job? If so, I have some information that can help you.

236. The Difference Between Covariance and Contravariance in .NET C#

Simple explanation of DotNet (.NET) CSharp (C#) Variance, Invariance, Covariance, and Contravariance. Providing a Cheat Sheet.

237. To Log Or Not To Log, Is The (Eternal) Question

An alternative logging strategy to make loggers your friends, not enemies

238. A Better Implementation of Enhanced Repository Pattern in .NET C#

Implement a better enhanced Repository Pattern in DotNet (.NET ) CSharp (C# ) following best practices Dependency Injection (DI) Inversion of Control (IoC)

239. Let's Explore ARK Core v3: Tooling [Part 6]

This is Part 6 of the Let’s Explore ARK Core series which documents the development of the next major release of the ARK Core Codebase alongside some tips & tricks on how to get started with contributing and building your next idea today.

240. Which Database Is Right For You? HarperDB vs. MongoDB vs. PostgreSQL

The purpose of this article is not to determine which database is the best but to help determine which is a fit for your specific project.

241. Should i Build An Analyzer for C# or .NET?

edit: Unlike the conclusion of the post below, I based the analyzer on C# CaaS and not .NET IL. Its now available to use https://devsnicket.com/eunice/#csharp. The latter doesn't preserve the order of members of a class either in the dll or pdb. Although, after looking at some open source C# projects, this capability wasn't used by default.

242. Choosing Between Enterprise Messaging and Event Streaming For Your Architecture

Comparing Enterprise messaging and event streaming across different dimensions to see how they excel at solving different but related messaging problems

243. Modularity Concept in Java and .Net

Modularity is central to modern software engineering - or may be all type of engineering not just software. We’ll explore support for modularity in Java and .Net platforms, but before that let’s first try to find answers for what and why of modularity.

244. Cache: What It Is, and How to Overcome It As A Beginner Dev

Let me set the context with this quote

245. Fully Covering I/O File Based Applications in .NET C# Using Unit Tests

How to achieve 100% coverage of I/O file based applications in DotNet (.NET) CSharp (C#) Test Driven Development (TDD) Development Software Best Practices

246. How To Outsource Software Testing For CTOs

Determining if outsourcing is best for your needs and how to find the right provider in a sea of options

247. Scale Your Data Pipelines with Airflow and Kubernetes

It doesn’t matter if you are running background tasks, preprocessing jobs or ML pipelines. Writing tasks is the easy part. The hard part is the orchestration— Managing dependencies among tasks, scheduling workflows and monitor their execution is tedious.

248. Using Rust For Monitoring 30k API Calls Per Minute

At Bearer, we are a polyglot engineering team. Both in spoken languages and programming languages. Our stack is made up of services written in Node.js, Ruby, Elixir, and a handful of others in addition to all the languages our agent library supports. Like most teams, we balance using the right tool for the job with using the right tool for the time.

249. Implementing Domain Driven Design For Microservices

Have you been finding it difficult to model boundaries of your system’s microservices? Have you been slowed down by the Technical complexity of your codebase? Has your team been stepping on each other’s toes ?

250. Adopting a Mature Engineering Organization in Startups

Have you heard of software companies struggling to go through the stages of business development? Yes, of course, all of them do. The CEO oversees the company, ensuring that there are enough funds and the team is set up to get the right things done properly. But this is not a one time phase. It is an ongoing challenge. The company must continue to develop to remain competitive and infiltrate new markets.

251. Data Loaders in a GraphQL Server

Learn how to optimize data fetching in a GraphQL server for queries, mutations and subscriptions, by using data loaders.

252. What is (wrong with) software?

Software is eating the world. Those of us who work, live and love software do not usually stop by to think about its meaning.

253. Industrial IoT and DevOps: How To Get Started

As the Industrial IoT segment is facing many challenges, DevOps for Industrial IoT is helping companies become more efficient. Here's how.

254. What is Code Refactoring? - Use Cases, Applications, and Benefits

The importance of code refactoring is immeasurable since its purpose is to simplify the code for better performance. ⚡Use all the benefits now.

255. How to Deploy a Django Application on AWS with Terraform

The final goal of this guide is to create a scalable and reproducible setup of the Django Web Application on AWS using Terraform.

256. Event Sourcing 101

In this article I will describe what is event sourcing, how it works, what are the implications, and how to make a basic implementation

257. How I Used Raspberry Pi to Detect Water Leaks in My Home

I decided to invest in a Raspberry Pi and Courier to make sure that I would get a notification any time there was even a small leak in my home.

258. Monolith vs Composite UI - Future of UI Development?

Using Composite UI in angular is one way to use a multiservice application in the backend that has a few advantages over the conventional, Monolith architecture

259. Securing Serverless Applications with Critical Logging

Serverless security: How important are logs to secure a serverless app? Here's what and how to log based on the industry best practices.

260. The Only Decoupling Checklist You Need To Know About

My team has recently successfully decoupled one of the critical business domains of the company. The initial integration had such a tough deadline that the only way to meet it was to add code to the monolith. And… The feature that went from conception to production in three weeks ended up taking almost one year to decouple.

261. Making Sense of Unbounded Data & Real-Time Processing Systems

A real-time processing architecture should have these logical components to address event ingestion & processing challenges, such as a stream processing system.

262. Optimizing Database Operations With OpenTelemetry

Learn to use OpenTelemetry to monitor and identify the database issues in your application and remediate them to optimise your database operations quickly.

263. Indebted to the Tech

Having been in software long enough to work across industries and with a variety of distributed systems, I know every system has its day. Software and systems engineers create performance requirements, latency constraints, and sweat the details on software quality. Their hard work ensures retail sites stay online through black Friday, ad campaigns survive the Superbowl, accounting systems make it through tax season, and media sites stay up to date during the election. And that’s not even counting safety critical systems we rely on each day, systems that keep our hospitals, our vehicles, and our industries humming.

264. Advantages of Using Windows VPS Hosting for Businesses

Over the past few years, companies have been provided various web hosting solutions for their business, leaving them with the question of what to choose.

265. An Analysis of Key Players in the Software Defined Storage (SDS) Market for 2022

This blog examines the top Software-Defined-Storage (SDS) market players for 2022 and highlights the importance of each one as an enterprise solution.

266. The Basics of Secure Application Architectures - Separation, Configuration, and Access

A starting point for building secure application architecture for busy developers

267. Event Sourcing: It's Easy If You Do It Smart

When and why you should not use event sourcing

268. 10 Ways to Optimize Your Database

Take these 10 steps to optimize your database.

269. Use Database Transaction Logs to Implement Observer Pattern

The best way to implement the observer pattern - using transaction logs of databases.

270. Data Privacy: Why The Existing Architecture is in Dire Need of Evolution

Data is to the 21st century what oil was for the 20th century. The importance of data in the 21st century is conspicuous. Data is behind the exponential growth witnessed in the digital age. Increased access to data, through the internet and other technologies, has made the world a global village.

271. Notifications That Don’t Suck: React Inbox and React Toast Components

We are excited to announce the availability of Courier’s newest provider, Courier Push! We have released Inbox and Toast; two open-source React components

272. Hacking PostgreSQL Internals to Deliver Push Notifications

This post dives into the internals of Postgres replication, WAL, and logical decoding. We will also write our own plugin to send push notifications.

273. 3 Things You Will Love About Micro Frontends

3 cool things that will make you love micro frontend architecture - flexibility in managing codebase, a wide choice of frameworks, and independent deployments.

274. An Overview of Load Balancing Challenges

Not all traffic can be arbitrarily routed.

275. 5 responsibilities of a Tech Lead and 17 Metrics to Track Their Performance

Tech lead, team lead, software architects, and engineering managers — as any developer already knows, naming is hard. Throughout the industry, those roles are as fuzzy as their responsibilities.

276. WTF is Commercial Open Source Software?

Open-source evolution

277. Financial Damage Caused by Software Bugs

The damage caused by software bugs is undermined. Here's a look at the issue of technical debt caused by bugs, with example cases.

278. LSTM Based Word Detectors

This article aims to provide the basics of LSTMs (Long Short Term Memory) and implements a word detector using the architecture.

279. Top 7 Software Quality Engineering Trends to Attain Positive Business Outcomes in 2023 — Part 1

It’s time to know about vital QA trends helping organizations stay ahead of competitors, enhance operational efficiency, and improve end-user satisfaction.

280. When Driving Adoption for a Low-Code Platform, Does One Target Developers or No-Coders?

Is the future of software development low-code? Or is it no code at all?

281. An Introduction to Microservice Messaging in Kubernetes

In this article, I’ll share the benefits of messaging in Kubernetes and the difficulties that can come with legacy solutions.

282. 5 Important Lessons I Learnt As A Software Engineer

Recently I completed 2 years as a full-time software engineer. I started working since December 2017 at a company name Hullo.ai which was a small 10 people startup where I had to work on a multitude of things. In my first month, I had to write a Go server and dockerize it. My learning curve for the first month was something like this.

283. 5 Main Things That Will Help You Understand Why Technology Is Important In Business

Technology in business is a phenomenon that is taking over the world. Business is certainly not going anywhere anytime soon; technology is the only way to go. Business needs to have the right tools in place to compete in a competitive corporate environment.

284. How to Use the Iterator Pattern in C#

According to Gang of Four, the iterator pattern provides a process to obtain the aggregator object without knowing its implementation.

285. Top 6 Software Development Methodologies of 2022

Here are the top 6 software development methodologies that the project manager and the team must follow throughout the software development process.

286. Crystal Programming Language is Slick Like Ruby and Fast Like C [An Overview]

In my never-ending quest to find harmony between speed of doing things (development speed) and speed of the thing (performance), I came across a project in its incubation phases which had me thinking: “This could be the one language for me.”

287. 3 Top Resources To Learn About Apache Kafka

Top 3 books and tutorials on Apache Kafka

288. How To Handle Form and Validation with React?

Overview

289. Importance and Method of Naming in Software Engineering

Having self-explanatory names can significantly improve the maintainability of a software without putting any significant effort.

290. Postman Collection for Salesforce: Mock Servers and Code Snippets

Whether you’re a longtime Salesforce developer or you’re new, Postman brings you all the tools you need to streamline the Salesforce API integration process.

291. Hexagonal Architecture: the practical guide for a clean architecture

Did you ever face problems when comes the time to upgrade the stack of your software? Are you able to distinguish your functional tests from your integration ones? Migrating your legacy means rewriting everything from scratch? Discover how the Hexagonal Architecture, a clean architecture pattern also known as Ports and Adapters, can help!

292. A Linked List Implementation for Ethereum [Deep Dive]

In this article I’ll introduce an implementation for Singly and Doubly Linked Lists, which you can reuse or modify for your own purposes. All the code is available in github or as an npm package.

293. 4 Software Engineering Principles You Should Know

Engineering principles that lead to better, robust and maintainable codebases.

294. Complete Guide to Healthcare Software HIPAA Compliance

An innovative approach to HIPAA compliant software development, using AI-based biometric solutions and advanced access control methods.

295. Difference Between Inheritance And Composition

With the introduction of OOPs, Inheritance and Composition entered our senses and still confusing us.

296. Here's How I Moved From AWS To Heroku

In the fall of 2018, I decided it was time to put my application design and development knowledge to use in order to provide a modernized solution for my mother-in-law’s small business.

297. The Secret Guide To Choosing Between Monolith And Microservices

Monolith or microservices? Both architectures have pros and cons, and each particular case should be investigated. UppLabs had a project with a concrete goal — optimization of application performance by migration from a monolithic system to the new microservices’ infrastructure. We came up with a solution that we’re happy to share with you in detail.

298. Explaining Clean Architecture in Flutter [Part 2: Practice]

Part two of an explanation on creating Clean Architecture in Flutter with the development of a simple app that works with a NASA API for a demonstration.

299. A Parable of Pricing, Processors, and Memory

At PEAK6 Capital Management we operate a variety of different systems in support of our trading teams. As we improve and evolve these systems, we sometimes run into hurdles along the way that are not all that easy to diagnose. This is the story of one of these hurdles our systems and core team ran into that came about while updating our pricing system.

300. 5 Caching Mechanisms to Speed Up Your Application

In this article, we will discuss the various Caching strategies available and how to choose the right one for your use case.

301. Application Testing In Go: Do It Right And Don't Create a Mess

Problem - How many times have we faced this problem of worrying about cleaning up after running test cases. When some of our test cases run, they might add data to our database or add files to our directory which we don’t want to worry about every time.

302. Microservices vs. Monolithic Architecture

The concept of microservices, an approach to designing a software application as a set of small services, has been around since at least 2015.Delivering benefits such as the independent deployability and scalability of components, microservices are all the rage today. This is because these microservices benefits translate into incredibly faster software development speeds. With consumers being quick to change their preferences and behaviors, microservices adopters are able to keep up. Life is now great, they say.As much as 56% of companies participating in a recent IMB survey plan to adopt a microservices approach in the next 24 months. Almost 80% of current users say their business will likely step up investment in microservices.Microservices advantages have prompted Netflix, Amazon, eBay, Twitter, and many other tech giants to migrate from monolithic to microservices architecture.But should your company use microservices?It depends on the context and if microservices pros outweigh the cons for your application.This blog provides an overview of a microservices vs. monolithic approach and five key benefits of using a microservices architecture. It also shares some of ITRex’s microservices experience and offers tips on when business should (not) use microservices. Dive in.

303. How To Use The Flexibility Of Nginx To Make Your Apps More Powerful

Open-source application diversity is both the biggest boon in the Free and Open-Source Software (FOSS) movement, and its greatest hindrance to adoption. You don’t always own the application you're consuming, and it often comes with certain opinions and limitations imposed by the software author—either intentionally or otherwise.

304. MongoDB vs. DocumentDB: Which Is A Better Choice for You?

Are you trying to decide if you should use MongoDB or DocumentDB? With the recent controversy surrounding licensing with MongoDB, it can be confusing to decide which option is right for your company or project. Amazon decided the core MongoDB code is challenging to scale while remaining highly available. Amazon wrote their implementation, which is compatible with the Apache 2.0 open source MongoDB 3.6 API. MongoDB, Inc. has also recently changed their license to make future imitations more difficult. To do this, they created an entirely new license called the Server Side Public License.

305. Developer or Engineer? Does It Make a Difference?

From the desk of a brilliant weirdo #1:

306. Model-View-Controller Architecture Pattern: Usage, Advantages, Examples

How the MVC architecture is built, how the code is structured and it can benefit your work.

307. Identifying Smart Contract Orchestration Patterns in Solidity

All but the simplest of Ethereum applications are composed of several smart contracts. This is because of a hard limit of 24KB in any deployed contract, and because your sanity will slip away as the complexity of a smart contract grows.

308. Five Architectures You Can Quickly Prototype on PaaS

Sometimes, as an architect or developer, you want to try a new architecture or technical solution but just can't seem to find the time to install, configure, debug, and figure out an entirely new concept. Experimentation is a lot of work, project deadlines come first, and new tech is often one of your last priorities.

309. Data Plane, Control Plane, and Their APIs [Service Mesh Explained]

If terms “data plane”, “control plane”, “API” and them being used in one sentence confuse you when it comes to service mesh — this article is for you.

310. In-Depth Guide to Plugin Architectures with Spring, Consul, and Camel

For the past couple of months I've been working on a data management tool I'm calling OpenDMP. As I've started adding more features, I've run into a scalability issue a bit sooner than I had expected and so I decided to tackle what is hopefully the biggest remaining piece of the project's system architecture.

311. How to Build Progressive Web Apps with Lightning Web Components [Part 2]

Earlier this year, a post came out on the Salesforce Developers Blog, entitled “How to Build Progressive Web Apps with Offline Support using Lightning Web Components.” During the post's discussion about using Lightning Web Components (LWC) to build progressive web apps, it mentioned push notifications. My interest was piqued. How simple would it be to use LWC to build an app for push notifications? It turns out — really simple.

312. A Great Way To Create A Brilliant GraphQL-Powered Blog

In this article, I'm going to explore graph databases/GraphQL by building a proof of concept blog powered by the recently launched Slash GraphQL - a hosted GraphQL backend.

313. A Comprehensive Guide to Apache Cassandra Architecture

Introduction

314. Five Big Myths Surrounding Technical Debt

In a software company, people often talk about tech debt, usually blaming it for something bad that is happening, such as

315. An Awesome Tool To Quickly Create An Amazon-Like Recommendation Engine

[TL;DR; Get started using Dgraph's Slash GraphQL product and connect to a Spring Boot application which will act as a simple RESTful recommendation service.]

316. Tutorial: Create, Host, and Deploy An LWC Open-Source Application From Scratch

In this tutorial, we’ll learn about the end-to-end process of creating an LWC open source application from scratch, hosting it on Github Pages, and deploying it to Heroku.

317. The Importance of Monitoring Big Data Analytics Pipelines

In this article, we first explain the requirements for monitoring your big data analytics pipeline and then we go into the key aspects that you need to consider to build a system that provides holistic observability.

318. Introducing DILOS Principles for JavaScript Code

The SOLID principles have been created as pillars of creating flexible, understandable and maintainable code. They can add days onto your dev time to implement them properly, and most people don't care or worry much about code quality, so I created some better ones.

319. How to Ensure the Success of Microservices-based Projects

Microservices-based projects are a great idea to deliver products in less time and with great flexibility/agility.

320. Lambda Architecture: A Comprehensive Introduction and Breakdown

Big data is on the rise, and data systems are tasked with handling it. But this begs the question: Are these systems up for the task?

321. Database Connection Pooling With pgbouncer

Introduction: The Postgres Connection Pool Problem

322. An Introduction to Micro-Frontends in Enterprise Applications (part 1)

Leverage webpack module federation to build a scalable micro-frontends architecture.

323. Software Security Primer

As a developer, when you think of security, what comes to mind? Is it clear what are different aspects that need to be handled to make a software secure? And why you need to do that?

324. An In-Depth Look at Shopify Plus: The Last E-Commerce Monolith

Platforms like Shopify Plus offer headless capabilities, but the real magic is in modular commerce technology.

325. Microservices and CQRS: Why Business Should Care

We have created this blog post for business stakeholders managing the development of a software system or product, those looking to find ways to reduce cost and time to market. This post will be useful for those whose technical background is a bit outdated or isn’t sufficient to make that judgment call. We will look at how to approach architecture planning so that the product is scalable and the money is spent wisely. Also, we will show the example of how CQRS can help in the implementation of client applications and whether microservices is indeed the panacea.

326. How to Build Progressive Web Apps with Lightning Web Components

Earlier this year, a post came out on the Salesforce Developers Blog, entitled “How to Build Progressive Web Apps with Offline Support using Lightning Web Components.” During the post's discussion about using Lightning Web Components (LWC) to build progressive web apps, it mentioned push notifications. My interest was piqued. How simple would it be to use LWC to build an app for push notifications? It turns out — really simple.

327. Digging into Postgres's Lesser Known Features

Postgres Handles More than You Think

328. Pool Architecture for Saas

Most of the startups facing scaling problems move to microservices. Inspired by cell-based architecture, it split services per function and scale only specific features. It works especially well for B2C where traffic is uniformly spread across users. However, B2B can face a different type of scaling issue where only one user is scaling. A pool architecture is a simpler yet powerful solution, used both by GAFA and fast-growing startups.

329. How to Build a Scalable Tech Stack for a Growing SaaS Product

In this article, I describe the main technical components of a SaaS product, and best practices around each one of them.

330. Software Development Life Cycle, Phases, Methodologies & Practices Explained!

The Software Development Life Cycle (SDLC) refers to a methodology with clearly defined processes for creating high-quality software.

331. Let's Automate Version Number Updates - NOT!

Say you need to update (bump) your software. It’s currently at version 1.2, all the required changes have been merged, and it’s time to publish version 1.3. That’s really easy, right? Change the version in one file, commit, tag, and push. Done!

332. Exception Handling with Examples

Exception handling is common to most programming languages, and the mechanism and behaviors are similar in most languages: try\catch\finally. It is well documented. We are not going to discuss that.

333. Road to Simplicity: Hexagonal Architecture [Part One]

Software writing taught me that: a well written software is a simple software.

334. Data Modeling in Salesforce and Heroku Data Services

This is the third article documenting what I’ve learned from a series of 10 Trailhead Live video sessions on Modern App Development on Salesforce and Heroku.

335. Step-by-Step Guide to Building and Launching your Chrome Extension

While building my first chrome extension, Foragear- Quick Search Tool, I struggled to find an article that covered the entire ideating, building, and launching process of chrome extensions. To make the lives of future chrome extension builders easier, here is an all-in-one guide to help you through the process.

336. Deep Dive Into Creating Node Project With Clean Architecture

(Photo by Bench Accounting on Unsplash)

337. The A-Z Of Email Development And Sending Emails

All email fundamentals that every developer must know. What an email consists of, how it gets from sender to recipient, and other basics.

338. Hype Driven Development: A Case For Punishing This Abomination

Disclaimer: long read. About the painful stuff, what I want to share for more than a month. Also does not claim to be complete, it is more about how I try to deal with it.

339. Destination Heroku: Changing My Tech Stack

In the "Moving Away From AWS and Onto Heroku" article, I provided an introduction of the application I wanted to migrate from Amazon's popular AWS solution to Heroku. While AWS is certainly meeting the needs of my customer (my mother-in-law), I am hoping for a solution that allows my limited time to be focused on providing business solutions instead of getting up to speed with DevOps processes.

340. How To Determine The Right HTTP Response Code For Various Situations

A collection of a few things I needed to clear up (to myself or others) about HTTP Status Codes while building a RESTful API.

341. Deepfakes: Thy Expiration Date is Nigh

Predictions that deepfake videos will keep getting better are not matched by the realities of the technology. Here's a sober look at the problems.

342. An Introduction to Web Stacks

Having recently worked with young web developers who were exposed for the first time to proper production infrastructure, I received many questions about the various components that one can find in the architecture of a "Web service". These questions clearly expressed the confusion (and sometimes the frustration) of developers who understand how to create endpoints in a high-level language such as Node.js or Python, but were never introduced to the complexity of what happens between the user's browser and their framework of choice. Most of the time they don't know why the framework itself is there in the first place.

Thank you for checking out the 342 most read stories about Software Architecture on HackerNoon.

Visit the /Learn Repo to find the most read stories about any technology.