SOLID DRY KISS What does it mean?

Photo by Tim Foster on Unsplash

By the definition, software engineering is known as a systematic and procedural approach to software development.

It usually consists of collecting and documenting requirements from the users, designing and outlining the platform structure, coding or application development, user and developer testing, as well as after launch operations and maintenance support.

Just like any other branch of science and engineering, there are some basic principles governing good software engineering, of which three popular ones are described below:

The “Keep It Simple, Stupid” principle reminds us that all software or applications design and deployment should be done as simple as possible with…


When and How to Configure a Read Replica Database in Django

Image by Petrebels on Unsplash

When and How to Configure a Read Replica Database in Django

In software engineering, one of the most crucial steps is the choice of architecture, so much so that any error in the choice may result in malfunctioning of the website that can adversely affect the business performance.

Usually, the issues related to system performance, especially for large and complex systems, are critical to maintain and diagnose since they may be related to distinct software environments. These issues may arise from multiple factors including — hardware, software, or network related issues.

The following article will discuss issues related to database performance and approaches that can be adopted to mitigate them using…


Deriving benefits from outsourced software development team.

Photo by Mimi Thian on Unsplash

There’s no doubt that the software market today is rapidly growing as outsourcing has aided multiple companies across the world to minimize the hunt, recruitment, and human resource management expenses. Many organizations across the globe outsource their software development teams for multiple reasons — have a variety of technological expertise, reduce operational expenses, and also to ensure a dedicated team for a given project.

So, in order to understand how an enterprise can be truly benefited from an outsourced software development team, let’s first clearly understand how the business model works.

Understanding the Dedicated Team Model

Clearly the term dedicated indicates that the team is…


7 factors that can help minimize risks.

Photo by Proxyclick Visitor Management System on Unsplash

Outsourcing the software development team has been adopted by multiple companies across the globe seeking multi-disciplinary talents. This has been practiced all the more due to multiple successful projects within the IT domain executed though offshore support as they ensure significant optimization of time & cost, access to globally talented resources, enhanced scalability opportunity, and many more conveniences. Although the benefits outnumber the risks, it should never be considered to be a flawless approach. Multiple factors contribute to the risks related with outsourcing your software development team. These may include one of the following:

  • Operational risks
  • Lack of control
  • Heavy…


Why should we choose hybrid applications?

Photo by Tran Mau Tri Tam on Unsplash

In recent years, due to the massive dependencies of mobile and web applications, various approaches are being explored to have faster and more robust platforms for app development. Usually the two most popular types are the Native and Mobile Web apps. However, hybrid apps are now becoming popular due to their ability to combine the features of the two. These hybrid apps are considered to be the future of app development as they bring along multiple advantages in the overall development process.

Hybrid apps have dual features — just like the native apps, they can be downloaded from app stores…


As of 2021, there is no better time to learn JavaScript.

Photo by JESHOOTS.COM on Unsplash


According to the Stack Overflow developer survey, JavaScript was the most popular programming language of 2019. It has rapidly evolved and is not even close to the language it was five years ago. Almost everything has changed for the better — from where it can run to the actual syntax of the language. As of 2020, there is no better time to learn this dynamic language and hence, today we will talk about the simplest approach to learning JavaScript.


There is huge competition between Python developers from around the globe.

Photo by Austin Distel on Unsplash

There is a huge competition between Python developers within the markets of Europe and North America as more companies are seeking to hire Python development companies from across the globe. As a result, Eastern European countries like Ukraine, have become quite a popular choice for outsourced Python development works. Ukraine is known to be the home to numerous software engineers with brilliant Python development skills and experience in multi-disciplinary domains. …


In machine learning, the perceptron is an algorithm for supervised learning of binary classifiers.

Photo by Joel Filipe on Unsplash

A binary classifier is a function that has the potential to determine whether an input, portrayed by a vector of numbers, could be a part of some given class. It can be considered as a type of linear classifier. This is often defined as a classification of algorithms which has the capability of predicting based on linear predictor function, together with a set of weights along with a feature vector.

In the field of machine learning, an algorithm utilized for supervised learning of binary classifiers is entitled as a perceptron.


In recent times, the perceptron is used as an algorithm…


How efficient is your algorithm?

Image credit: Wikimedia

It’s indispensable to have a clear understanding of basic algorithms before attending a programming interview. In order to understand algorithms, it’s also important to know to measure the efficiency of an algorithm. This is done with a concept, called the Big O. There exists a common question that pops up on an algorithm interview as to “How efficient is your algorithm?”. So, unless you can come up with this from scratch and measure it, rather than memorizing it for different problems, it may cause your interview to drift away from a successful one.

In this article, we’ll try to simplify…

Valentin Podkamennyi

Co-founder and CTO at Datamart, Ex-Googler, specializes in Analytics, Software Development and Architecture Design.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store