Home » Author Archives: Aviran Mordo

Author Archives: Aviran Mordo

Aviran Mordo
Aviran Mordo has over 20 years of experience in the software industry. He has been in many engineering roles and leading positions in start-ups and large corporations. Aviran is a tech-savvy and a technology blogger since the year 2000, with vast knowledge of the internet and software development.

Sustainable Software Deliverability with Timelines

software-development-2-logo

In my previous post “Kill the Deadlines” I rant about how (fake) deadlines are demotivating, reduce quality and burn development teams. But if you think about why people use deadlines, is to deliver a software project in a timely manner. While I’m not a proponent of using fake deadlines as a way to push developers, in a product development process ...

Read More »

Why Should You Do Microservices (or maybe you shouldn’t)

software-development-2-logo

Microservices architecture is really hyped these days (I should know, I have been talking about it in many conferences), however not many have been written about the actual reason for doing microservies in the first place. In the stories I tell in my public talks I try to explain that microserves architecture comes to solve a problem, and the main ...

Read More »

Safe Database Migration Pattern Without Downtime

software-development-2-logo

I’ve been doing a continuous delivery talk for a while now and during my talk I describe a pattern of how to safely migrating one database to another database without downtime. Since many people contacted me and asked for more details about it, I will describe it here in more details as promised. You can use this pattern to migrate ...

Read More »

Why I don’t like to hire team leads

agile-logo

Every company has its own culture that it wants to preserve. As a company grows it becomes harder to preserve its culture as you as a manager need (and should) give up control to team leads and to people you manage. Good company has a set of values, best practices and culture. When you hire a new person to the ...

Read More »

MySQL Is a Great NoSQL

mysql-logo

NoSQL is a set of database technologies built to handle massive amounts of data or specific data structures foreign to relational databases. However, the choice to use a NoSQL database is often based on hype, or a wrong assumption that relational databases cannot perform as well as a NoSQL database. Operational cost is often overlooked by engineers when it comes ...

Read More »

Building a Scalable and Resilient Architecture

software-development-2-logo

This article is a summery of my DevoxxUK talk about microservices. Like many startups before us, Wix.com started as a monolith application, which was the best architectural solution when we had no scalability and availability concerns. But as time went by and our small startup grew and gained success, it was time to change the architecture from a monolith—which experienced ...

Read More »

Continuous Delivery – Part 6 – Backward & Forward Compatibility

software-development-2-logo

Previous Chapter: Startup – Self Test One very important mind set developers will have to adopt and practice is backward and forward compatibility. Most production system do not consist on just one server, but a cluster of servers. When deploying new piece of code, you do not deploy it to all the servers at once because part of Continuous deployment ...

Read More »

Continuous Delivery – Part 5 – Startup – Self Test

software-development-2-logo

Previous Chapter: A/B Testing So far we discussed Feature Toggle and A/B testing. These two methods enable safe guards that your code does not harm your system. Feature toggles enable to gradually use new features and gradually expose it to users, while monitoring that the system behaves as expected. A/B testing on the other hand let you test how your ...

Read More »

Continuous Delivery – Part 4 – A/B Testing

software-development-2-logo

Previous chapter: Continuous Delivery – Part 3 – Feature Toggles From Wikipedia: In web development and marketing, as well as in more traditional forms of advertising, A/B testing or split testing is an experimental approach to web design (especially user experience design), which aims to identify changes to web pages that increase or maximize an outcome of interest (e.g., click-through ...

Read More »

Continuous Delivery – Part 3 – Feature Toggles

software-development-2-logo

Previous chapter: The Road To Continuous Delivery – Part 2 – Visibility One of the key elements in Continuous Delivery is the fact that you stop working with feature branches in your VCS repository; everybody works on the MASTER branch. During our transition to Continuous Deployment we switched from SVN to Git, which handles code merges much better, and has ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns