Scope of IT consulting
I am an IT consultant focussing on following type of projects:
- Hard to solve problem even with state-of-the-art approaches
Problem arising primarily from incidental versus intrinsic complexity in large source code bases (including the related knowledge, bug tracking and planing ecosystem, complex or disconnected data schema, deployment dynamics etc)
Incidental complexity is the unneeded complexity arising in a source code base because the challenge to solve cannot be solved beautifully. It is the noise in the source code base. I believe the incidental complexity to be in the range of 10-1000 times larger then the intrinsic complexity in most code bases. (this statement cannot be proven or backed by facts. I can however explain in detail why I am making this statement)
- JVM-based languages preferred
- Very large Cassandra cluster, both in term of data schema complexity as in term of the cost of the deployed hardware infrastructure Reasoning: while using Cassandra a very high level of synchronicity must be kept between the application layer and the deployed data on the cluster.
- Disconnected critical systems like CAD/CAM systems and surrounding IT ecosystem in mechanical engineering companies Reasoning: a massive amount of knowledge is “lost” when engineering complex machines. Lost means that the knowledge is not embedded in the design itself but is residing in secondary documents or in the brains of the engineers.
- Extensive micro-service architecture with many different computer languages and databases used Reasoning: in micro-service architecture with a large source code base in many languages, a high synchronicity is needed between the many services. Actual approaches to enforces such synchronicity are creating a lot of cognitive load on the programmers.