architecture

Key Terms and Concepts in Software

An architect needs to have a good breadth and depth of technical knowledge. While depth is your expertise in certain area, breadth is the knowledge or exposure to a variety of different technologies and practices. This book will contain quick definitions to important technical terms and concepts that an aspirant software architect needs to know, which will help you to improve your breadth of knowledge. You may follow the links to learn deeper if you want.

Breadth and Depth of Technical Knowledge for an Architect

An architect should have a very good depth and breadth of technologies. Depth denotes the expertise in some technologies and breadth denotes the exposure to a wide variety of technologies and processes.

Depth or expertise in certain technologies or processes will allow you to design and develop quality systems that is scalable, secure and perform well. This will also allow you to be a better leader or mentor, and also to guide the team better in the area of your expertise.

Tips and Tricks on Software Architecture

These are some tips and tricks I could gather (and continuing to gather) as part of my journey to be a good software architect.

  1. Important things to look for while creating an architecture are extensibility, maintainability, agility, performance, scalability, standards based and feasibility.

  2. Worlds best architectures are not the perfect ones, but the feasible ones. The architecture should be feasible enough to get implemented within the time and budget.

Tips and Tricks for a Software Architect

These are some tips and tricks I could gather (and continuing to gather) as part of my journey to be a good software architect:

  1. An architect should analyze technology and market trends and keep updated with the latest trends.

  2. An architect should analyze the current technology environment and recommend solutions for improvement. 

  3. An architect should analyze the current processes, including continous delivery, agile etc. and recommend solutions for improvement.