Intro

The main purpose of these materials is to provide a bird’s-eye view of the software development industry from an engineering point of view and answer the following questions: How do typical software companies organize their work from an engineering perspective? What are the established standards and best practices? What fundamental knowledge do software engineers need to gain to take on the industry and become competent professionals?

Here I do not claim any copyright for these materials. All copyrights belong to their rightful owners. My main work here has been to extract, restructure and synthesize the important (that I thought) knowledge and information given in the sources (I mention them appropriately at the beginning of each section) in order to achieve the purpose of this work. Of course, I added my own sauce here and there, but I was too lazy to mention them specifically or give proper citations. Therefore, you may assume that all materials are copyrighted by the authors of these sources, and if you wish to share or distribute such materials, you acknowledge that you do so at your own risk.

I also wanted to point out that all the standards and best practices have given here do not reflect how UZINFOCOM (I have been working here for 8 years) organizes or conducts its processes one hundred percent (they do not reflect one hundred percent of the processes of other companies, for that matter), but they constitute simply an ideal to which everyone should strive and which my company certainly does.

TIP: Materials give many important terminology and concepts, that one should be familiar with and which are very important, but without further definition. So further Googling for deeper insights is expected from your side.

Sekhrob Ibrokhimov, April 2022