Archive for the ‘Software Development’ Category

From Silicon Wadi to Silicon Valley

June 7, 2013
Zionism in the Negev

Zionism in the Negev

During the last two years I had the pleasure of participating in a team that built a new engineering center for EMC in Beer Sheva.

Beer Sheva is only 116.5 kilometers from Tel Aviv, but had five Hi-Tech companies , compared with around 3,000 in the greater tel Aviv area.

The beginning was not easy. There are 500 graduates from Ben Gurion University who are potential software developers. However, because of the lack of employment, many relocate to Tel Aviv after graduation.

Excellent software developers are a rare resource, As I once wrote, great international software products are developed only in five countries out of 196 .

The Beginning

The Beginning

This was a Catch-22 problem. Without potential employees, there are no Hi-Tech companies and without Hi-Tech companies there would be no employees.

To break this cycle, EMC and the Israeli government have decided to create a plan to change the momentum . The idea is to create a great innovation center, that would allow smart, motivated employees to generate a great product in the south of Israel.

Temporary Office

Temporary Office

There were quite a few challenges to deal with :

* Lack of the common infrastructure that exists in the  center of Israel.For example,  recruiting companies, IT professionals, catering services a training.

* Missile attacks 😦 . We had probably one of the very few software development centers in the world that had a missile attack targeted at their city every 4-6 months.

An interesting anecdote is that our employees actually felt they have the best physical security in all of the global offices.

* A relatively small pool of mid level and senior level managers.

First Aid Training

First Aid Training

The reason for success lies first and for most in the great employees we recruited and the support of the University, the local Mayor and EMC headquarters.

The employees in Beer Sheva created a great sense of community and belonging from the very beginning.

Employees

Employees

Our strategy , unlike previous “outsourcing” concepts, was to treat the center equally to the main office in “Herzelia“.

We offered the same high profile projects and set the same high bar for recruiting, but also offered similar compensation.

The results were wonderful : an amazing acceptance rate for job offers, very fast recruiting and motivated top talent showing fast results.

New Building with Laptops

With the assistance of local community leaders were able to promote a Hi-Tech environment around us as well:

* Multiple research projects with Ben Gurion University, focused on Big Data, Storage and High-End Performance

* First “Start-Up” weekend in Beer Sheva

* “Software in the Negev” meetup group

* Consulting and contribution to MOD move to the south os Israel

At the professional level we focused on few domains:

* High Availability

* Flash Technology and Products

* Data Science and machine learning

* Applied Research in High Performance storage

It was important to focus on few areas, on one hand, and create some diversity on the other hand.

After two years the center has far exceeded it’s original goals in capacity and quality.

It is a core anchor to the Hi-Tech in the south. On July it would be moving to the first company new Hi-Tech park.

The first building has been sold out , and has completely modern “Herzelia\Palo Alto” level of facilities.

I’m moving to a new adventure about 16,000 miles away ,but will keep watching as Maya,Orna,Niva, Oz, Nir  and the rest of the team make it  much better, bigger  and successful!

It was one of the most enjoyable projects I worked in and I’m very proud to have been part of the great team of people.

Beer Sheva Leaders

Beer Sheva Leaders

Advertisements

Software Development Team Optimal Size

September 15, 2012

The Ideal size for a software development team is 3.5 people.

In a team of three people , everyone is always working hard , the team leader is still writing lots of code and synchronization is easy.

However, there is always a feeling that we are scarifying long term efficiency for short term results. If only we had one  more person in the team !

In a team of four people , there is one guy who is not fully utilized because he is waiting for others, or because he is not feeling the pressure.

The team leader writes less code, as he spends more time on administration and coaching.

As a result, It is easy to conclude the ideal team has 3.5 developers. However, splitting programmers and getting some output  is quite hard.

A good compromise is to have three seasoned developers and one fresh out-of-college developer.

The experienced members realize they still carry most of the weight, while the young developer has to prove herself.

This combination also allows the team to work on refactoring and important long term missions,while ongoing bugs are done by the fresh coder.

Why Great Software Developers Should not do Porn and AlgoTrading

June 9, 2012

Product Manager – Backgammon, Company unspecified, Gibraltar

The world’s leading online gaming company, requires an innovative Product Manager to own, develop and manage the company’s suite of Backgammon products. This dynamic role will see you developing and owning the product roadmap for Backgammon, generating new product ideas and driving successful product rollouts.

I believe it is a shame when some of the top intellectual minds of our times devote their 12 hours work days to algorithmic trading, on-line gambling, “casual” gaming, search engine optimization  , on-line porn, search diversion through “Freeware\Malware” and so on.

Of course, these ultra smart developers are not using these services (at least not all of them:) ). They are the brains that run the software and algorithms to operate the questionable services.

I’m not passing judgment on the need for the services , although I’m quite sure Algo Trading has no economical benefit to the world :). I do think that being a “Product manager for backgammon” is less important and satisfactory than “Product manager for diabetes cure” .

I see too many brilliant friends who want to make easy money by finding a loop-hole in the global financial system. While I can’t commit that I would never work in such company, I prefer not to do it, as long as I can.

Interestingly enough, these services are somewhat related. For example, a lot of the real good money in SEO is from references to gambling and porn sites . Forex trading is not really different from a legal(?) form of gambling and “casual gaming” ,IMO, is quite the same.

It just seems that developing the Google search engine is more productive than algorithms that create fake content that only seems real to Google, but no real person would ever want to read.

Our civilization moves forward from innovation like Bioinformatics and Wikipedia, even Facebook and Twitter. But it seems that we can leave SEO to the average  developers….

Who Moved my Espresso Machine?

March 29, 2012
Hi-Tech Office Espresso Machine

Our Hi-Tech Office Espresso Machine

Background –  our office occupied half of the floor and due to exceptional growth in Beer Sheva we added the second half of the floor. The distance between the two parts is about six meters.

 A short water cooler talk with one of my employees, lets call him Dean.
Dean: “When will we have an espresso machine in our side of the floor?”
Me: “Never”
Dean: “Why, are they better than us?”
Me: “Yes”
Dean: Silence.
.
If you ask stupid questions, you’ll get stupid answers :). To be honest, I’m also located in the side without an expresso machine.
While I agree on the  importance of gourme food in software development , walking 15 second to get a top notch espresso is easy enough, even for our semi spoiled industry.

HR should not Give Job Offers

March 3, 2012
Herzelia Beach

Herzelia Beach

  1. A Job offer is a beginning of a relationship. The relationship is with the hiring manager and the organization, not with the HR department. Starting a relationship by delegation is wrong.
  2. Money is not a “dirty” thing. Hiring managers should be able to negotiate and understand financial aspects of their work. On one position ,as a candidate, I got the final offer from a relatively junior HR associate. I felt uneasy negotiating with her as   “she did not have the power” and it was “unfair” to push her. A company is a for-profit organization.
  3. Hiring managers must be aware of equal opportunity, non discrimination laws and social benefits their employees are entitled to. These are important from ethics perspective and (in good companies) reflect the overall vision and culture of the company.
  4. A Job offer is a selling process. Selling and marketing are key managerial capabilities, in any role.The hiring manager has more credit as he describes his own professional and personal opinion, since he is “hands on”.
  5. This is a great,last opportunity, to set expectations before the commitment. The contract is a (good?) way to define minimum expectations in a legal document. But it is up to the manager to define his expectations for the specific role. “How many hours a day”, “How much travel?”, define “Work Hard”, define “Excellent”.
It is perfectly OK for the HR partner to be present during the offer. It is great if they join the selling process and add their views and authentic opinion. They can also help in training hiring managers on process and assit in the more administrative or professional details. However, the leadership and accountability has to be owned by the manager.

Are all the software products created in just five Countries?

August 19, 2011

It seems that software products are only created in very few countries around the world : United States, Israel , United Kingdom , Canada and Texas :).

There are 196 countries in the world, but most seem to have better things to do than to write software.

This is a critical piece of information because “Software is Eating the World.”

India has  plenty of IT projects outsourcing companies , Japan has 200 video games companies while China has many hardware companies.

However, there seem to be very few software products companies In non English speaking countries (I count both  Canada and Israel as English speaking countries for in this blog context).

Germany has SAP and Software AG. France used to have Business Objects, but now it belongs to SAP so it is left with Dassau. Japan has Trend Micro, but that’s about it. China is not in a much much better situation with total of 29 companies listed in Wikipedia.

Try to think about a famous Spanish Software Company ( Hint : Anti virus that looks like a bear).

I’m not sure why this is the case , but can suggest a few ideas:

  • There are a lots of software companies in other countries, but they are local to their markets an don’t bother to become international and big
  • Since programming languages are in English, there is a huge advantage to English speaking countries
  • Software development started form universities and the leading Computer Science universities are in the same countries
  • Software development product companies have consolidated to a very few big companies and most are American
  • Software products require a unique combination of strong engineering and “immature” first versions

Does anyone else have any explanation or counter data?

Any maybe it is less important these days. Our industry is moving into Software as a Service model in many use cases.

Fresh Look – Dozen Interesting Israeli Start-Ups

April 7, 2011
    Fresh Paint Balfour Street Tel Aviv

    Fresh Paint Balfour Street Tel Aviv

    I have assembled a pseudo-arbitrary list of interesting Israeli start-ups. These are mostly companies whose product I got to try and whose team I met. Some bias to companies with real intellectual property in algorithms or products. They may have much in common,and there are many more around, but worth watching.

  1. ToTango – Simple Idea. Wide Appeal. “New Wave” solution.
  2. Contendo – Speed of Light is constant. Akamai is Too Expensive. DNS too Crucial.
  3. Xtremio– SSD can be a game changer.
  4. ZeRTO – Smart guys. Track record. Stealth Mode.
  5. TakaDu – Smart guys. Strong Algorithms. Strong Need. Out of the box.
  6. Panaya – Strong Algorithms. Pure Israeli. Sales 2.0. Sharing knowledge. Proven Results.
  7. WatchDox. A Nobel approach to managing document and security.
  8. WorkLight – Portable Mobile Apps Make great sense. CEO.
  9. PrimeSense – Great Algorithms. Awesome product. Huge Potential.
  10. Plimus – Money has a wide appeal :). Great alignment for SaaS. Good API. Stands out in a confusing world.
  11. Kampyle – Simple product, wide appeal. Responsive to Customers. In the good sense.
  12. Snaptu – They were on the list before their exit 🙂 Same for Sentrigo
Orange and Carrot Juice in Tel Aviv

Orange and Carrot Juice in Tel Aviv

Can product management be scientific?

March 12, 2011

I know a spell
That would make you well
Write about love, it could be in any tense, but it must make sense

Belle & Sebastian – Write About Love

Some companies believe that product management can be reduced to scientific experiments.Instead of using intuition and customers interaction one should run experiments and measure results.

While I have great faith in measurable product management , I think that the dream of product management without the human factor is wrong and dangerous.

Everyone seriously involved in pattern recognition and data mining knows that one can’t just throw tons of raw data into an algorithm and expect to gain (artificial) intelligence.

In most cases it is hard to build a large data set to train the algorithm. Once such data set is built , the raw size is too big for any algorithm to train on. As a result ,the raw data needs to be reduced through feature extraction. For example, if we want to build a face recognition algorithm in a video stream we can help the algorithm by removing the soundtrack. While in theory the soundtrack can add information to the algorithm, we guess it is not very helpful.

The process of feature selection and even dataset selection involved intuition and domain knowledge. This is similar to the generic scientific model.

In 2008 wired magazine claimed scientific method is obsolete  in “The End of Theory: The Data Deluge Makes the Scientific Method Obsolete“. The article claims that models are not needed anymore, as data is stronger than models.

However, even the first example is wrong

Google’s founding philosophy is that we don’t know why this page is better than that one: If the statistics of incoming links say it is, that’s good enough

But Google’s early  success was  not just because of the algorithm. The clean UI,text only ads and great performance were crucial. I’m confident it was intuition\product management that led into these decisions. Moreover, the statistics for incoming links  from fraud (link farms) are also very high. The algorithms needs “help” on the features that identify fraud.

Google Suggest brings another example. It is a great feature which interactively “guesses” the search term for the end-user.

For example, typing the word “Robert” suggests the following :

Google Suggest For Robert

Google Suggest For Robert

But looking for the word “Naked” brings no results at all:

Google Suggest For Naked

Google Suggest For Naked

But “Nak”still shows some alternatives:

Google Suggest For Nak

Google Suggest For Nak

Does anyone think the algorithm decided on this feature based on statistics 🙂 ?

Obviously, someone decided that following the real statistics of the human mind would be too dangerous.

I’m very much in flavor of usability research and detailed numerical specs. But in most scenarios, the psychology, human interaction and models are crucial for a building a great product.

New Version Every Other Week for Three Years?

February 16, 2011

I get up every morning determined to both change the world and have one hell of a good time. Sometimes this makes planning my day difficult.

E. B. White
US author & humorist (1899 – 1985)

Releasing a working version to customers every two weeks is fun.

  • It is fun for customers who use the features instead of watching fictitious  “product road maps”.
  • It is fun for developers who see their work is actually used.
  • It is fun for the executives who can change the business priorities quickly.
  • If is fun for product managers who can measure actual usage.
  • It is fun for the R&D manager ,as the problems can not be hidden for long.

In my company,  we delivered 72 versions to customers  in three years.

Programming in the large and programming in th...

Image via Wikipedia

Here is one way to do it:

  • Hire top talent for development , QA , IT and operations.
  • Deliver the product as a Service (SaaS). Upgrading one instance is much easier than upgrading 10,000.
  • Bi weekly synchronization meetings on Monday and Thursday. Monday is just team leaders and Thursday is all of R&D.
  • Invest early in QA automation. We invested $20,000 in Automation infrastructure at a very early stage.
  • Invest in Unit-Testing as much as possible.
  • Avoid branching. Branches are evil. Merges are Yikes. One branch is good, two is max.
  • Invest in the “Ugly stuff”. Deployment scripts, upgrade scripts, database consistency.
  • Constructive dictatorship. Every code change  has a ticket. Every. No exceptions.Really.
  • First week is for coding. Than it is feature freeze. Three days for QA and bug fixes.Code freeze. Two days for final QA and critical fixes only. Release on Sunday.

In the next post I’ll try to answer the tricky questions: What about longer features? How not to scare the customers? and more.

High School and Hi-Tech in Israel

February 10, 2011

I was going through some old documents and found my High School final projects presentation agenda from 1991. It’s almost 20 years old.

It is interesting to look back and remember some of the roots for Israeli Hi-Tech predate the army background.

The projects are quite impressive, given it was  1991 and they were developed by high school after hours.

  • Drawing with Robots
  • Hebrew Optical Character Recognition Engine ( That’s mine with Roy :), It didn’t work very well, but it’s a hard problem )
  • Robot and Algorithm to Solve Rubic’s Cube (Not the video from youtube which is much newer)
  • An Internet Terminal connection  over RS232
  • 8088 simulator
  • Russian-Hebrew-English Dictionary
  • Course-ware for Firefighters
  • Sound Sampler for IBM PC
  • An expert system to prove Theorems in Euclidean Geometry

Looking back at the technology is also fun. Lot’s of Robotics, Prolog,”Expert Systems“,  EGA, Turbo Pascal and 8088.

It’s true my school was not a standard in the Israeli education system. The principal used to show a map of the Silicon valley superimposed over Tel Aviv back in 1988, in order to present a vision to new candidates. But it was definitely not the only school encouraging technical innovation.

Naturally, I have not stayed in touch with most of the people. Random samples suggests that quite a few are leaders in various positions in Universities and in the Hi-Tech industry.

Israeli High School Final Project Day One

Israeli High School Final Project Day One

High School Final Projects Day Two

High School Final Projects Day Two

High School Final Projects Day Three

High School Final Projects Day Three

Israeli High School Final Projects Day Four

Israeli High School Final Projects Day Four