Software Engineering - 5 Core Aspects

The followings are five core aspects about software development or engineering .

  1. Technology - language, methods and techniques, best practice, trends
  2. Architecture - best practice, analysis, creativity, trends
  3. Concept - best practice, creativity, experience, visualization
  4. Design - experience, best practice, visualization, creativity, EQ
  5. Logic - maths, analysis, IQ

You will always have to keep up with technology and always research for new and better techniques. Database, frameworks are all part of technology.

Architecture is like client-server, mobile platform, thin-client, stateless connection and etc.

Concept is like object-oriented, normalization and etc. It is more about big picture and is the direct opposite of logic. Just like macro and micro economy where the former is concept and latter is logic.

Design is design. If are you good with arts, it will help. You can improve on this area by performing drawings, photography and anything which cultivates sentimental and emotional characteristics.

Logic is the algorithm; the if-else. If you are good in maths, it will help. You can improve one this area by playing games, especially computer games.  Find out why here. Reading and getting familiar with numbers will also help.