As a software engineer, it is important to keep updating your skillsets by learning the latest programming-elements (includes paradigms, patterns, languages, tools and frameworks). This becomes a bit easy if you already working on the cutting edge of something. Even then, it is possible to go too deep and loose breadth.
I've taken upon myself to do a tech refresher every year. The intent is to read, experiment and understand these elements by spending anywhere between 4 days to 4 weeks. The ultimate goal is: "do I know most that I need to know to build a planet-scale backend tech-stack ground up"
I'll write up my learnings in posts to help myself (and maybe others) refer it.
Here is the initial list I'm thinking about:
- MySQL, GraphQL
- Aurora, Mesos, Kubernetes
- Cadence, SWS
- Cassandra, MangoDB, NoSQL, MySQL, Spanner, S<, DynDB
- Flink, Storm, Samza, Spark
- Hadoop HDFS, Yarn, MapReduce
- Hive, HBase
- Kafka, Zookeeper
- NW: http, Tcp, thrift, grpc, yarpc,
- Terraform, uCapacity
- Linux kernal
They are no particular order although there might be some meaning in their grouping.
I'll keep expanding / contracting this as we go ahead.