Carlos Robles

103
reputation
4

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.