On-call Engineer

Whatever you need to know about software development

gRPC vs GraphQL: What are the differences?

2023-03-20 3 min read general
gRPC and GraphQL are both popular technologies used for building APIs (Application Programming Interfaces) that allow different systems to communicate with each other. While they may seem similar at first glance, they have some key differences that make them more suitable for different use cases. gRPC is a remote procedure call (RPC) framework that uses protocol buffers (protobufs) as the underlying data serialization format. It was developed by Google and is used in many of their internal services. Continue reading

Difficulties that software developers have

2023-03-17 3 min read general
Being a software developer can be a challenging and rewarding career, but it is not without its difficulties. From technical challenges and tight deadlines to communication and collaboration issues, software developers face a range of obstacles in their work. Here are some of the common difficulties that software developers encounter and how to overcome them. One of the biggest challenges that software developers face is managing complexity. Software development involves creating complex systems that are made up of many interdependent components, and ensuring that all of these components work together smoothly can be a daunting task. Continue reading

Mutex Lock vs Semaphore Lock

2023-03-14 3 min read general
If you’re working on a concurrent or parallel programming project, you may have come across the terms mutex lock and semaphore. These are both synchronization mechanisms that can be used to protect shared resources and prevent race conditions. In this post, we’ll discuss the differences between mutex locks and semaphores and when you might use each one. At a high level, both mutex locks and semaphores are used to control access to shared resources in a concurrent or parallel program. Continue reading

Why do the software developers earn more than average?

2023-03-12 2 min read general
Software developers are among the highest-paid professionals in the world, with an average salary that is significantly higher than the average for all occupations. There are several reasons for this, including the growing demand for software developers, the complex and challenging nature of the work, and the high level of skill and expertise required to excel in the field. One major reason why software developers earn more than average is the increasing demand for their skills. Continue reading

Here are some things that junior software developers should know

2023-03-10 2 min read general
As a junior software developer, there are many things that you should know in order to be successful in your career. While the specifics may vary depending on the technologies and environments that you work with, there are some key concepts and skills that are essential for any junior software developer. One important thing that junior software developers should know is how to write clean and efficient code. This means writing code that is easy to read, understand, and maintain, as well as code that is efficient and performs well. Continue reading

What is GraphQL and how it works with sample schema snippets

2023-03-06 2 min read general
GraphQL is a query language for APIs that provides a more efficient and flexible alternative to traditional REST-based API architectures. Developed and open-sourced by Facebook in 2015, GraphQL is quickly becoming the de-facto standard for building modern, data-driven applications. At its core, GraphQL is a declarative language that allows clients to specify exactly the data they need from an API. Instead of multiple endpoints that return fixed data structures, a GraphQL API only has a single endpoint that accepts queries. Continue reading

10 hobbies that software developers can have

2023-03-01 2 min read general
1. Writing code for personal projects One hobby that many software developers enjoy is writing code for personal projects. This can be anything from a simple app or game to a more complex piece of software. Personal projects can be a great way to learn new skills and technologies, as well as to challenge oneself and develop one’s abilities as a software developer. 2. Participating in coding challenges and competitions Many software developers enjoy participating in coding challenges and competitions, such as hackathons or coding contests. Continue reading