Software architect Passionate about: Solving problems with clean, reusable, scalable, and easy to maintain code. Software Architecture Design Patterns Focused on: Android. Native Apps and Andengine. Web, server side: PHP (OOP), SQL and DATA modeling, ZF2, Doctrine. Custom web frameworks and ORMs. Server Admin: SSH, linux, cronjobs are your friends. Vhosts, DNS. Web Front End: JS (long time ago there wasnt frameworks), jquery, mootools. Backbone, angular. Sometimes, some desktop and OEM software in C++ Obsessed about (as you should be): Separation of concerns: A component should do one thing, and do it well. The DRY principle: Don`t repeat yourself. Single responsibility, Open/closed, Liskov substitution principle, Interface segregation , Dependency inversion (yeah, SOLID) Whatever you do, try to do it in some way so you can reuse it. Abstraction, dude. Develop the system your clients needs today, but thinking about what they could need tomorrow. Respect life cycles. One requirement at a time. New requirements in the right moment. Analyze every new requirement as if it where important. You will find always ambiguous and contradictory points. Do it well, its good for everybody, and is better for the you of the future Dirty remains long after quick has been forgotten. A small delay isn`t that important some time later, when everybody is still happy with a healthy software.
©