Ovidiu Deac Software consultant
The Problem of Side Effects

Known under the acronym OOP, the Object Oriented Programming was introduced in the ‘60s with the language Simula67. It's the paradigm used by most of the software shops. It is supported by the mainstream programming languages like Java, C#, C++, Python, Ruby. OOP is an imperative paradigm which means that the program describes the way the system state is changed during the execution. The system is modeled through classes of objects. Each class describes the state variables of its instances, their properties and the actions that we can run on them. Through encapsulation we hide the implementation details and this way the user of the class is only interested in the interface exposed by that class. This way we can model the world around us. It seems like a very natural approach but still there are a few major problems. The problems start from the fact that, except for the constant methods, all the member functions produce side effects because they change the state of the object on which they are called or the states of other objects they have access to. Most of the object-oriented code is written this way.

Flaviu Mățan Principal Software Engineer
Performance of .NET Applications

Modern dynamics of software development with focus on frequent deliveries of working code makes performance an often overlooked aspect. Although approaches such as “Make it work first and refactor it later” have demonstrated advantages like easy and quick adaptation to changes of requirements, they often open the door to poorly written routines that affect performance in a negative way. Whether included in the development cycle from the very beginning, or caused by circumstances such as the discovery of very slow operation or abrupt performance degradation in certain scenarios (e.g. increasing the number of entry points such as the number of users that use a system etc.) or as a step prior to a scalability task, the measurement of application performance is a very important step in the lifetime of an application.


Marius Mornea Software Engineer and Mintaka Research founder
StartUp - Mintaka Research

Researchers are often perceived as lonely individuals spending their whole lives closed in laboratories and working with complicated instruments or formulas. However a little research will prove that most famous researchers collaborated, interacted and debated with their peers and were public figures frequently. Even Albert Einstein, thought by many to simply have appeared out of the blue and completely revolutionized Physics, gathered Maurice Solovine, a Romanian student, and Conrad Habicht, a Swiss mathematician, to form Olympia Academy, an informal group that had regular meeting and discussed latest scientific discoveries, own work and even philosophy and literature two years before his “miracle year”. Innovation and discoveries come as much from dedicated solitary work, as from collaborative research and exchange of ideas and findings.

Ioana Fane HR Specialist
Creative compensation

The basic concept of the compensation management is quite simple: employees perform duties for their employers and companies pay salaries according to the fulfilled objectives. Therefore, compensation is an exchange or a transaction from which both parties - employer and employee - can benefit: both sides receive something for offering another thing. However, the benefits involve much more than a simple transaction. From the employer's point of view, compensation is a matter of accessibility and motivation of the employees. The crisis period began in early 2009, when most IT companies made the transition from providing a more attractive fixed salary, to developing and establishing more appealing compensation and benefits packages, in order to attract the external resources market, but also designed to maintain current employees motivated.


Welcome to our first issue of Today Software Magazine. The initial idea of having this magazine came up from the need to connect software engineers, project managers, HR specialists and create a virtual community that promotes new ideas and good practices based on people experience. Most software engineers get the news from global portals, specific websites or from inside their companies. There are few ways to find out what others like you are doing, most of the time we are reading guides, APIs or books.

Read more




  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • Yardi
  • P3 group
  • Ing Hubs
  • Colors in projects