Author Archives: Hayim Makabee

Unknown's avatar

About Hayim Makabee

Veteran software developer, enthusiastic programmer, author of a book on Object-Oriented Programming, co-founder and CEO at KashKlik, an innovative Influencer Marketing platform.

The Psychology of Reviews: Distinction Bias, Evaluability Hypothesis and the Framing Effect

Design Reviews are one of the most important activities in the software development process. If a bad design is approved and implemented, it is very expensive to correct that afterwards. Therefore, we want to have high confidence in our decisions … Continue reading →

Posted in Efficacy, Psychology of Programming, Software Architecture | Tagged , , | 10 Comments

Illusory Superiority: Are you a good programmer?

Programmers are known to be proud of their work. Some developers even feel that writing elegant code is a form of art, and thus they call themselves “software craftsmen”. I am sure that the desire to perform outstanding work is … Continue reading →

Posted in Agile, Efficacy, Psychology of Programming | Tagged , , | 11 Comments

Continuous Learning: Keeping up-to-date and acquiring new skills

According to the Bible, after Adam sinned and ate the forbidden fruit, God said to him: “By the sweat of your face you shall eat bread” (Genesis 3:19). Hard work has been the reality of humanity during known history, however … Continue reading →

Posted in Efficacy, Social Networks | Tagged , | 19 Comments

Four Myths of Software Evolution

As software developers, we know that our systems will evolve with time. We must understand the forces that drive this evolution, in order to design systems that are easily evolvable. Unfortunately, many programmers have misconceptions about the real drivers of … Continue reading →

Posted in Requirements Specification, Software Evolution | Tagged , | 9 Comments

Planning Poker: Avoiding Fallacies in Effort Estimates

Many years ago I was working as a software developer in a team with three other programmers. We once had a meeting in which our Team Leader said: “You are late again! All of you are late! Actually, you are … Continue reading →

Posted in Agile, Efficacy, Psychology of Programming | Tagged , , | 20 Comments

Industrial Projects at the Technion

The faculty of Computer Sciences at the Technion has an Industrial Projects initiative in which undergraduate students work under the supervision of software professionals. I think this is a great idea, a real win-win situation: The students have the opportunity … Continue reading →

Posted in Yahoo! | Tagged | 6 Comments

An Event-Driven Approach for the Separation of Concerns

Last week I presented a paper at the International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE 2012), at Wroclaw, Poland. Title: “An Event-Driven Approach for the Separation of Concerns” Abstract: “This paper presents an event-driven approach for … Continue reading →

Posted in AOP, OOD, OOP, Research | Tagged , , , | 4 Comments

Self-meetings: Avoiding distractions in the workplace

In the modern workplace, in which we are always connected, there are simply too many distractions. You need lots of discipline to really use your time effectively, besides the capacity to clearly define your priorities. You must be able to … Continue reading →

Posted in Efficacy | Tagged | 4 Comments

The Seven Rules of Effective Communication

In every professional environment, it is essential to communicate effectively with your peers. This is particularly true during meetings, in which people expect to discuss a subject, reach conclusions and make related decisions in a short time. Here are seven … Continue reading →

Posted in Efficacy, Jewish Sources, Psychology of Programming | Tagged , , | 4 Comments

Code Swarm: Visualizing the Evolution of Software Systems

Software systems grow over time. They evolve through additions, extensions and modifications. A successful application is not one that satisfies all the original requirements and then is delivered to its users and remains unchanged. If people are using a system, … Continue reading →

Posted in Software Evolution | Tagged | 2 Comments