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.

Divide-and-Conquer: Coping with Complexity

Sometimes a problem is simply too complex for us to solve. Our only chance seems to be breaking it into smaller parts that we know how to deal with. This strategy of reducing the complexity of a problem by dividing … Continue reading →

Posted in OOD, OOP | Tagged , | 2 Comments

On Bubbles and the Value of Data

In a recent article at Newsweek, Daniel Lyons claims that: “Data, by itself, is worthless. Facebook is betting it can create software algorithms to extract value from that data—essentially to perform a kind of techno-alchemy and turn zillions of meaningless … Continue reading →

Posted in Data Mining, Recommender Systems | Tagged , | Leave a comment

Soft Skills vs. Software Skills

When building a team of software developers, it is very important to define the profile of the engineers we want to compose it: Do we want to give importance mostly to the software skills, or do we want also to … Continue reading →

Posted in Agile, Hiring | Tagged , | 3 Comments

Inheritance and the Power of Abstraction

Programming is an exercise in abstraction. If a program is intended to solve some problem, we must first be able to model this problem in an abstract way, in order to express it in a programming language. Only after the … Continue reading →

Posted in OOD, OOP | Tagged , | 3 Comments

Nothing is more effective than enthusiasm

We all know that some programmers are much more effective than others. In one study, it was shown that the best programmers are ten times more efficient than the worse programmers. This degree of difference has not been observed in … Continue reading →

Posted in Efficacy, Hiring, Psychology of Programming | Tagged , , | 9 Comments

Effective Software Reuse

For many years Software Reuse has been seen as a solution to both reduce the costs of software development and improve the quality of the systems being developed. However, in practice, most companies today have the feeling that they are … Continue reading →

Posted in OOD, Software Reuse | Tagged , | 6 Comments

Effective Remote Work

After reading the book “The 4-Hour Workweek” by Tim Ferriss, I was eager to test his concept of Mini-retirements: “To distribute recovery periods and adventures throughout life on a regular basis and recognize that inactivity is not the goal. Doing … Continue reading →

Posted in Efficacy, Yahoo! | Tagged , | 1 Comment

Identifying Anti-Patterns

In my previous post, I’ve discussed the importance of identifying domain-specific Design Patterns in an organization. Equally important is the need to identify Anti-Patterns. This is the definition of Anti-Patterns from Wikipedia: “An anti-pattern is a pattern that may be … Continue reading →

Posted in Design Patterns, OOD | Tagged , | 3 Comments

Collecting Design Patterns

Today we expect every professional Software Engineer to have a good knowledge of Design Patterns. In particular, the names of the patterns in the Gang-of-Four (GoF) book became part of the common vocabulary of software developers. Any good programmer should … Continue reading →

Posted in Design Patterns, OOD | Tagged , | 2 Comments

Effective Design Reviews

This is the definition of Design Review from Wikipedia: “A design review is a process whereby a design is tested against its requirements prior to implementation.” There are at least two problems with this definition: The first problem is that … Continue reading →

Posted in OOD, Software Architecture | Tagged , | 4 Comments