Saturday 27 April 2019

The Quality of your Product is related to the Quality of communication in your Team

Most bugs, careless included, are failures of communication.

In software, the best practice is to review each other's code. 

Careless mistake

This is an honest mistake on the part of the individual. 
As reviewer, you should be there to test it. To gauge the level of communication and test it.
Well-written code also means well-tested code. If careless mistakes slip through despite testing, it means your tests are likely inadequate. It means that your tests do not adequately cover exactly what you want the software to do.

Lack of Tests

Others will not know what to expect when they use, run your code. 
Or worse, they think they know, but you know, there are always those cases on the margins that will stump you up.

Style Problem

The purpose of style is to communicate one's ideas better. If there are style problems, there is a problem in communication. 
This could be unaligned style - that the team does not have consensus regarding communication standard, or not having a tool to automate style checking.

Not following Design Patterns or Non-Idiomatic Code

"I did it my way"

When you are developing a product, it's not directly about you. It's not that you are secondary in a hierarchical sense, it means you try to do the best for the product.

When one does not follow conventions, or invents a new one without telling anyone, it imposes an additional cost on others to understand it. 

The Quality of your Life is the Quality of your Communication!

I don't care how intelligent you are (although intelligence helps), or whatever personality you have.

This principle almost always works.

Failing an exam?
Failing job interview?
Can't get into desired program?
Program has a big?

Quality of life, material aspects being equal, is all about relationships. And relationships are all about communication. In fact, if you have parties that are very far apart, or very different, communication becomes the one thing one can really control.

And there's also communication with yourself. How do you negotiate with yourself so that you can do the things you don't want to do but end up needing to, without hard feelings?

Up next: I explain why most engineering problems are fundamentally due to communication.

Saturday 6 April 2019

What is the purpose of memory?

The purpose of memory is not to "remember the past".
The purpose of memory is to ensure you do better, or you react better the next time, so that you survive and breed the next generation.