My name is Moran Danieli-Cohen and I'm a Technical Leader at Cellebrite. During 7 years of programming I had the privilege to experience different aspects of software development:
- — I was one of the firsts employees in a small startup which grew from 20 people to 350 people, and was aquired by IBM.
- — I got to build systems for a certain scale and then rebuild them a few years afterwards when the scale was much bigger. On the other hand, I got to develop systems that last for 7 years with increasing scale.
- – I got to work with large SQL databses, NoSql databses and just some really weired databases (who said Tokyo Cabinet?).
- — I worked in many Waterfall projects but also led a big Scrum project as the Scrum Master.
- — I develop in Java, Ruby, Lua and Bash.
Through the years I was a software engineer and later a team leader, I learned a few key lessons the hard way. By sharing these lessons, I hope to help engineers to succeed with less pain. The source of information which gives me the highest added value is books and I hope to encourage others reading books through this website.
To me, there is no such thing as “Java Software Engineer” or “C++ Software Engineer”, there is simply “Software Engineer” and a good software engineer can study every language within two weeks. This is why I chose not to present subjects or technologies which are language specific, but to present subjects and technologies which are the building blocks of every good engineer, and therefore relevant to all types of engineers. The concepts which guide me are lean software development, scrum product development strategy, and finding the balance between the "perfect software" and "software which simply works".
I developed and designed this website without any external platform. Instead, I used Rails, CSS and a MySQL database.