Before proceeding further every embedded programmers has to learn two anthems.
Developer Anthem:-
There are people in the project other than me. i.e., we have to develop the code such that it has to be understood by every team member.
Project Anthem:-
Project requirements can change at any time. i.e., we have to code in such a way that abstraction has to be achieved