Product Management Technology & Business

The importance of proper communications in Software Development
Product Management

The importance of proper communications in Software Development

This post explains the importance of proper communications in Software Development, how to master it and how to avoid its disasters. The software development life cycle goes through several distinct stages; requirements analysis, software design, coding integration, testing, delivery, and maintenance. The most common approach that many companies unconsciously follow is the old waterfall approach. …

Distributed Database Systems

Distributed Database Systems

This post explains the basics of distributed systems, defines what a distributed database system is, and demonstrates its three main types: mirroring, replication, and fragmentation. This post also concludes with a simple example of a real-life distributed database system that we use every day. Distributed Systems The first thing that comes to mind, when discussing …

stack and queue

Computer data structures: Stacks and Queues

Stacks and Queues are common computer data structures in almost all operating systems, if not all computer programs heavily rely on at least one of them. In abstract, both are a type of linked-lists; a linked list is a dynamic data structure, unlike arrays that have limited capacity and few inefficient data manipulation techniques. The linked …

Top programming languages on GitHub
Code Technology

The best programming language

“What’s the best programming language?” is a very common argument between developers that can go back forever. Each claim his/her programming language performs the best. For example, even though Java and C# have a lot in common; both are object-oriented languages, both are compiled to an intermediate language then interpreted with a just in time …