- Focus on building up a language of "higher concepts" that are relevant to your system.
- As your system progresses into later stages of development the hope is that you will be able to begin to spend more time applying the "higher concepts" you built in earlier stages.
- Naming, Modularization, and Code Organization should not be under estimated.
- Giving modules a well defined purpose and exporting a public interface is crucial. While it may not affect how the the code works it allows you to think at a higher level and keep less information in your brain at once. KISS
- The eventual goal is to build software that is "product ready", in other words you want to be able to release the software and leave it alone.
- If you have to hire a big IT team to support your software maybe you can improve your code to be more self sufficient.
Tuesday, July 16, 2013
Software Engineering Points
I have tried to distill some knowledge that has come from building a few green field projects. These are the three points that have come about from this experience.