Sign in

Software engineer & technologies enthusiast. Author of the book “Unlock the Code”.
Person standing in front of blackboard
Photo by Max Fischer from Pexels

Every software engineer goes on a common path in their professional life. They study in college and are curious about technologies. They are thrilled to get their first job after tons of rejections. And they are embarrassed after causing an outage of the production system. Yet all of these activities are connected with programming.

What if I tell you that programming these days is not like it was 20 years ago? The number of frameworks and libraries is huge. It is hard to imagine a solution without utilizing an open source project. They simplify engineer’s life and at the same…

Apple all-in-one
Photo by Quaritsch Photography on Unsplash

With the growth of cloud systems, a new trend was established in software engineering. Cloud providers have not only storage capabilities but also computational. These days we don’t need to have physical servers to run our applications. Everything is available in the cloud.

If you need more powerful servers, just pay more, and only in a few minutes, you get the entire fleet of machines. The worries — like the electricity go down or servers got stolen — are the history. Your solutions will keep running. Along with the increased security and resilience, it becomes way more convenient.

Amazon Web…

Photo by Ivan Samkov from Pexels

A few days ago, several big publications wrote an article about employees who work on two full-time jobs. The entire discussion started around the web portal People share their tips and advice about how to work successfully on a few full-time jobs at the same time. The spicy thing around all this movement is that none of the employers knows about that.

This situation became possible due to massive remote work, primarily in digital businesses. Companies had to sent workers home and realized that their business didn’t collapse as they worried. At the same time, employees learned to manage…

Train tracks going into the distance
Photo by David Herron on Unsplash

I spent almost a decade with statically-typed programming languages. I love C++ and am a big fan of C#. I was inspired to learn Kotlin and to apply it every day. They are great, and I never understood how it is possible to build software with a dynamically typed language. Until I tried Ruby. Then my world changed.

Right now I’m using Ruby on an everyday basis. But what is more important is the framework. In the end, a language is just a tool. It could be the case when a great language is used for building a terrible framework…

Lock on door
Photo by Life Of Pix from Pexels

Encryption remains a hot topic these days. Every year, security breaches are found in various algorithms. Then stronger and even more secured algorithms are being developed. Until the next breach.

Amazon Web Services (AWS) invested a lot in security. You want to make sure that your data in a cloud system has solid protection. One of the ways to achieve it is to encrypt your data. We can encode the data before allocating them to AWS.

At the same time, AWS offers a few options to encrypt the data when it receives them. And vice versa, the data will be…

Multicolored sticks
Photo by Meghan Rodgers on Unsplash

In 2006, AWS launched its first services. Simple Storage Service (known these days as S3) was one of them along with others. But unlike the rest of the services, this one was indeed simple. Its main purpose was storing objects: various files, archives, backups, even websites. Drop a file there, and in a few minutes, it is available in the cloud system. What can be simpler?

Over time, more and more features were added to this service. They made it resilient and durable. Yet not everyone knows about this. It remains a place to drop files and access them when…

Photo by CHUTTERSNAP on Unsplash

Nobody is perfect. Humans tend to make mistakes. We can’t avoid all of them. But we can learn and try to prevent them next time. The greatest examples of learning from mistakes are present in medicine development or security in civil aviation. Having mistakes is bitter, but this is the only way to progress.

Mistakes are the portals of discovery.

— James Joyce

The same relates to the software development industry. Engineers are not superhumans and make slips here and there. Some of them are edge cases as a coincidence of several events. But some of them are really naughty…

light bulb against a background of a thought bubble chalked on a blackboard
Photo by Pixabay from Pexels

Amazon Aurora is a relational database built by Amazon. It received recognition for being a cost-effective and efficient database. Shortly after the success of the Aurora, AWS announced Aurora Serverless. According to the official documentation:

“Amazon Aurora Serverless is an on-demand, auto-scaling configuration for Amazon Aurora. It automatically starts up, shuts down, and scales capacity up or down based on your application’s needs. It enables you to run your database in the cloud without managing any database capacity.”

That all sounds like an option to consider. We don’t have to worry anymore about scaling and updating the database. But hold…

Street signs
Photo by Gunnar Bengtsson on Unsplash.

It has been over a decade since iOS and Android were introduced. More and more developers are stepping into the engineering applications for these platforms. It is exciting to see the results right away on our smartphones.

Meanwhile, the operating systems keep growing and getting more features. When you compare the current state of Android and iOS to ten years ago, you barely find any similarities. However, if you had spotted the trends developed in mobile platforms back then, you could have prepared your apps to avoid big and unnecessary refactoring.

Let’s explore the mobile platform trends in 2021 and…

Photo by William Felker on Unsplash

Every developer knows what is a database. This is a common concept to store some data. In some cases relatively small, but in other cases a massive amount. The more data gets into a database, the bigger impact can be on the performance. There are various practices available and are successfully already applied to improve the situation. The most popular among them are indexing and replication. They serve the needs very well.

However, those techniques don’t resolve all possible issues. For example, when databases are huge, having a replica might not be enough to improve access speed. The possible solution…

Dmytro Khmelenko

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