| Hey So I view Software Engineering as a multidimensional optimization surface where you have to optimize for a goal by choosing an axis and playing with those axis until you get a desired result. Mastering the language but understanding why the language was developed what problems it looked to address. Reducing the cognitive load of the design using the language. Understanding the fundamentals of the types of applications you will be building.
SCRUD Architecture Apps Streaming Architecture Apps and Games which are usually a combination of both. Software Systems from first principles are read and write systems. How do you represent that as a program and reduce the complexity? How you view software engineering ? and explain it to others what is the method of representation you use to encode software as plumbing? is it text based? time flow graph node based? stack based ? binary based ? Software engineering as a team sport, how do you get a bunch of developers to reduce the cognitive load manage the relationships and data in the code and how do you measure that like a science. I am also sure there is a lot of valid advice here as well. This is how. I see it from a mathematical / science perspective that pushes pragmatic narrative. |