Blog>>Software development

BLOG / Software development

details

Software development is the process of creating software applications, encompassing various stages such as planning, coding, testing, and deployment. It includes fields like programming languages, software design patterns, version control, and collaboration tools to deliver high-quality software products that meet user needs and requirements.

Thumbnail of an article about How memory types affect DPDK application performance — case study
SOFTWARE DEVELOPMENT

How memory types affect DPDK application performance — case study

In this blog post, I will describe a problem encountered while working on a project involving GPU usage in network traffic processing (knowledge of GPU programming won’t be required as it will quickly become apparent that the problem is more general and the GPU can be eliminated). I will describe the steps that helped me in locating and fixing the problem – practical methods used for DPDK profiling and debugging. Also, I will describe some low-level internal DPDK mechanisms (e.g. packet processing, IOMMU, hugepages usage and impact) that helped in understanding the issue.
Thumbnail of an article about  What is a proof of concept and why do you need one?
SOFTWARE DEVELOPMENT

What is a proof of concept and why do you need one?

A proof of concept (PoC) is sometimes seen as an unnecessary waste of budget. And this is a great mistake that can cost you big time. Even the most brilliant idea needs to be reviewed, and a PoC is a perfect, cheap solution for that. In this article, you will find more information on why a PoC deserves your time and attention and how it can help you save time and money before you start to spend big. A proof of concept is the first step in the software development process after the product’s general idea is developed.
Thumbnail of an article about Rust projects — why large IT companies use Rust?
SOFTWARE DEVELOPMENT

Rust projects — why large IT companies use Rust?

Choosing the right technology for the project is not an easy decision and depends on many factors. If a programming language does not meet the application’s requirements, the project can fail. Nobody wants to lose time and money because of a rash decision. More and more, Rust is an option on the table, but many enterprises prefer to keep it at arm’s length. Why? This technology is younger than well-known, older veterans like C and C++ and has not had enough time to prove itself. Read the article to check out what is Rust used for in IT and how other large IT companies use Rust lang in production and why you also should be ready for it.
Thumbnail of an article about MobX in React — Scalable State Management
SOFTWARE DEVELOPMENT

MobX in React — Scalable State Management

MobX in React – using the MobX library in React-based applications – was the first part of our tech talk in which our principal frontend engineer covered the basics. This first video covered topics like what MobX is, how it works, how to use it outside React, and how MobX can be integrated with React components. The next episode focuses on reviewing types of states in Single Page Application (SPA), how to scale SPA using dependency injection with the react-ioc library and what benefits it offers, and points out the areas for MobX.Everything to provide you with knowledge about the best state management for React, and scalable state management in MobX.
Thumbnail of an article about Rust vs Go —  what do you need to know about these programming languages?
SOFTWARE DEVELOPMENT

Rust vs Go — what do you need to know about these programming languages?

According to the Stack Overflow Development Survey 2021, both Rust and Go (known also as Golang) have a special place in developers' hearts. According to the survey, these programming languages are loved by almost 87% and 63% of the respondents, respectively. This score puts Rust at the top of the list. However, does Rust deserve to be the developers' blue-eyed boy? In this article, I will compare these two popular solutions, covering aspects like memory management, concurrency, tools, performance, learnability, and more – to give a big picture view of Rust and Go.
Thumbnail of an article about What is Domain-Driven Design and how can it benefit your product development?
SOFTWARE DEVELOPMENT

What is Domain-Driven Design and how can it benefit your product development?

Developing high-quality software products requires a good strategy. There is no room for fortuity or reading the tea leaves. Domain-driven design can be a possible solution that helps map out a development path and provide good practices in the process. This article gives an overview of this concept, including the important advantages of using DDD, and highlights the possible challenges connected with the topic. Domain-driven design (DDD) is an approach to software development focusing on the area that the product references or operates within as the center of every action taken.
Thumbnail of an article about Developer experience: what is DX and why you should care
SOFTWARE DEVELOPMENT

Developer experience: what is DX and why you should care

If you are a product owner or product manager, you have lots of things to consider while planning the success of your product. There are many obvious things but… most businesses still forget about an area that can be crucial: developer experience. Briefly speaking, developer experience, or DX, describes how developers feel about a system while working on it. In this article, we will cover more about what DX is and why good DX matters. Let’s start with an explanation of what can affect developer experience to show why good DX can be crucial for the overall success of your software product.
Thumbnail of an article about Generics in Go — everything you should know before you start
SOFTWARE DEVELOPMENT

Generics in Go — everything you should know before you start

Go 1.18 introduces a new mechanism for generic programming – type parameters. This long-awaited feature finally sees daylight in the officially accepted proposal. This article focuses on a complex description of how type parameters work – everything you need to know about Go generics, with examples, in one place. Are you interested in more information about the language itself? Check out our previous articles for a Go overview and how it is different from Python. It is common knowledge that Go is a statically-typed programming language.
Thumbnail of an article about What is technical debt and how much is acceptable?
SOFTWARE DEVELOPMENT

What is technical debt and how much is acceptable?

For most businesses in the software industry, the concept of technical debt has come up at some point. According to a report, 23- 42% of the average organization's development time is wasted because of technical debt. Constant competition, the need to meet more and more customer expectations, adding new features to software products – there are many technological choices that can lead to budget losses and disruption of productivity. Some of them cause a so-called technical debt. Here we give a technical debt definition and discuss what the best techniques of technical debt management are.
arrow

Get your project estimate

For businesses that need support in their software or network engineering projects, please fill in the form and we’ll get back to you within one business day.

For businesses that need support in their software or network engineering projects, please fill in the form and we’ll get back to you within one business day.

We guarantee 100% privacy.

Trusted by leaders:

Cisco Systems
Palo Alto Services
Equinix
Jupiter Networks
Nutanix