For those of you looking to find out what will be good to learn in this new year, it would be OK to believe that computing fundamentals has become more important than ever before and it would be good to learn the same in 2014 rather than any of the programming languages such as java, .NET, or languages belonging to open-source stack.
Following are some key computing fundamentals to focus upon in the coming year:
- Performance Engineering: As every business is planning to move their applications to cloud for various different reasons including cost-cutting measures, it has become much more important to write efficient application which makes the optimized usage of the resources including CPU, memory etc. Thus, one should focus on learning the performance engineering fundamentals.
- Application Security: Given the fact that applications could be accessed using different front-ends such as Web, Mobile etc, the attack vectors have increased. There are many ways in which hackers could break-entry into the application. That said, traditional approach of applying perimeter security for applications may not prove enough. It is high time that a holistic approach should be taken towards the application development that includes threat modeling during design phase, secured coding practices, security code review, and security testing. This is why it would be good to learn the fundamentals around application security. One could start learning security basics from http://www.owasp.org.
- API management: Given the fact that business have started offering their services through different channels including web, mobile devices, POS, APIs etc, it is becoming a key architecture and design strategy to expose APIs which could be accessed from different front ends. Thus, one would want to learn the basics of designing and developing APIs.
- Business Process Management (Workflow) Concepts: Given the fact that many business are looking to find ways to align IT with business and at the same time innovate solutions to remain competitive, they are moving to BPM based workflow to offer solutions created on top of existing monolithic applications by making use of workflow and APIs. This is where it would be important for developers to become aware of concepts around workflow, APIs etc. In this relation, it would be also good to know SOA architecture style and design patterns. One may also want to learn web service architecture style such as REST.
- Cloud Computing Fundamentals: As the business is gearing up to adopt Cloud by moving their applications to cloud and offering their business service offerings from Cloud, it is important that developers understand the cloud computing concepts such as key characteristics (resource pooling, elasticity), service models (SAAS, PAAS, IAAS) and cloud classifications (private, public, hybrid, community). More importantly, from developers’ perspective, it would be good to learn Software-as-a-Service (SAAS) where key concept is multi-tenancy.