A database offers the organized storage of data. The most common operations with a database are retrieving and writing. Applications put some data there and later access it. The ratio between reading and writing operations may vary. However, the purpose remains the same.
With more and more requests hitting the database, the issue of data consistency is raised. But if your solution is following the ACID principles (Atomicity, Consistency, Isolation, Durability), it will not be a problem.
Let’s explore the world of data consistency and its best practices.
Before digging into the topic of how transactions work, we first have…
Every software engineer progresses over time. Their programming skills get better and more solid solutions are shipped. At some point, developers start looking for more and more technical challenges. Unfortunately, not all of them are able to fulfill this need, and as a result, they jump between different companies.
Changing jobs does not always lead to satisfaction. Challenging yourself through learning is a more practical way to keep growing as a professional. In this article, I will provide a list of technical books that every senior software engineer should read. …
These days, Python has become one of the most favored programming languages. It has a clear and simple syntax and the learning curve is reasonable. Python can be used in fields like data science, statistics, analytics, web development, and automation through scripts. The community is strong, so there is already a good number of libraries and tools for solving common problems.
All of that makes Python a demanding language. There are certainly a few advanced concepts to consider. If you are already familiar with Python’s basics, check out the following features. …
A database features the organized storage of data. The storage has a specific structure for where the data is being placed. Each database type has its own format for storing data. They are adjusted and optimized for specific use cases. In the example below, we have a database with information about cars:
In computer science courses we learn many data structures. It all starts with how data organized and saved on machines. Then we discover more complex structures such as graphs. Some specializations even offer an entire course about graph theory.
The variety of data structures shows us how many problems are out there. But the majority of engineering tasks can be resolved only with a few types of data structures. Unless you are building a new database engine, a navigation system, or software for a spaceship.
If you apply them efficiently, you will reach a good performance of your solution. And…
Being a developer at the beginning of your career can be challenging. I remember myself back in 2011, when I started my first full-time job. I was overwhelmed by the number of technologies I had to catch up with: HTTP protocol, Git, asynchronous programming, design patterns, to name only a few.
That can be exciting as well as exhausting. Some days you are just stuck and can’t solve a problem for a few hours; it simply doesn’t work as you thought it would. Even senior engineers can face such kinds of issues. …
It is normal to change a job. We may have a different motivation for that: new challenges, higher salary, more responsibilities, bigger or smaller team. Companies established their hiring processes and usually one of them is to check the technical skills of the candidate.
No matter if it is a whiteboard task, home assignment, or a discussion during the interview. In the end, the hiring team is looking for a way to justify your skills and experience.
Despite the everyday work as a software engineer, you have to prepare for it. With the following programming techniques, you will be able…
In some situations, we need to do a simple and fast deployment yet follow best engineering and security practices such as load balancing, using private networks, or autoscaling. Here comes to the scene the service Elastic Beanstalk from AWS.
“AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS.” — AWS Elastic Beanstalk
In other words, Elastic Beanstalk is a platform with the main purpose of simplifying the deployment of web applications. It supports…
Some time ago I started exploring available options for a side hustle. In the beginning, I was thinking about doing something interesting after work and learn new technologies. After some time I started thinking if it is possible to monetize it. You have an app, users all around the world are using it, making purchases and you become rich just like Warren Buffett said once.
If you don’t find a way to make money while you sleep, you will work until you die.
― Warren Buffett
I started building apps for different mobile platforms. It was fun, new technologies were…
How many times did you catch yourself doing some routine? Each of us has to do something repetitive every day. Working in the software development industry gives us a chance to automate many work-related processes. We need to be able to recognize repeating actions and propose a way to automate them.
I will always choose a lazy person to do a difficult job because a lazy person will find an easy way to do it.
Frank B. Gilbreth Sr.
Unfortunately, not everybody can find good candidates for automation straight away. …