I had a great conversation with a very well known and good CTO in the industry. This is what I learned:
He usually separates developers in 2 categories, the Features people and the Platform people. The features people don’t need to be super good, as mostly they implement. The platform people are the smartest ones… and usually 20% of the tech team. These he keeps very close to himself. These are at another level because they need to know also hardware… they need to solve a lot of very hard problems which in many cases are not very obvious from the outside (For example making a process faster…).
Architecture has 3 components. System, Hardware and Software. On the hardware side one needs to decide how many processors to use, kind of storage etc etc. Software has to do with the kind of languages and frameworks one use. A very important concept is the one of MVC (Model – View – Controller). The Model is related with data, how do you store it, where etc… View is what can be seen, the UI/UX, the frontend etc… and Controller is all the logic behind the lines. PHP – Zend or Cake, Python – Django or Ruby – Rails… are common MVC’s.
A NONSQL table doesn’t follow the usual rules like a relational database. In a NONSQL table, each row might have different columns! One example would be Mongo DB. Usually one starts with a relational like MySQL (GB’s), but then once it gets so big, one can migrate to Mongo DG (100GB plus) and if it getes even bigger (Petabytes) then HBASE is used. HIVE is basically a way to query an HBASE database.
Tableau or Quickview is a software that allows you not only to query but also to display the queried data in nice graphs etc. That’s why it is used!
He suggests that I should go pretty deep into Database side of things, mediom to low level in algorythms and mediom to low in OS.
C is very close to the machine hence more high performant than a python, which is text that then needs to be converted into a form the computer can understand. He uses Golang, which seems even better than JAVA (which is more high performant than python), but very easy to use and he likes it a lot. I need to check it out for sure :).