A Full Stack Developer is someone with familiarity in each layer, if not mastery in many and a genuine interest in all software technology. Good developers who are familiar with the entire stack know how to make life easier for those around them.
1. Server, Network, and Hosting Environment. 2. Data Modeling 3. Business Logic 4. API layer / Action Layer / MVC 5. User Interfaces implementing a good visual design is key 6. User Experience 7. Understanding what the customer and the business need
1. Ability to write quality unit tests. 2. Understanding of repeatable automated processes for building the application, testing it, documenting it, and deploying it at scale. 3. An awareness of security concerns is important, as each layer presents its own possible valnerabilities.
I’m not sure you can call yourself a full stack developer until you have worked in multiple languages, platforms, and even industries in your professional career. Full stack goes beyond a 'senior engineer', as it is along the same lines as a polyglot programmer but with a higher view of all the connecting pieces. Note that on my list, only items 3-5 involve writing code.
1. 为了达到自己的某个目标，能够主动的分析问题，尽力设计出较实现方案。 2. 如果需要去学习新的技能和知识时，也能积极主动的去学习。 这就需要有一定的甄别能力，哪个是真正需要的，哪个是更合适的。 3. Full Stack并不意味着work alone，重点应该是get things done. 如果有更合适的更优秀的人，会愿意与他合作。 4. Full stack不是为了工作本身，而是为了实现自己的Dream。