Marco Cabrera

 

How would you ideally build a new project?

  1. Agile Process
    1. By having short iterations, it forces the team to:
      1. Communicate more frequently.
      2. Think in more depth about each small piece of the functionality.
      3. Reflect upon the work and process frequently and adjust accordingly.
    2. Allows each team member to learn different aspects of the application allowing more developers to work more fluidly in and out of the team.
    3. Affords developers time to review their code so constant growth is built in to the process.
    4. Refactoring is essential, not a bad word within the project.
  2. Test-Driven Development
    1. By thinking about your test first:
      1. You will write less code for the product
      2. Your code is more usable to a greater group of applications
      3. Your code is more independent which makes it more portable.
    2. Using Data providers, you can use your test to account for any possibility you can think of, for very little extra effort.
    3. You can refactor code with less concern of a ripple effect if there are tests written.
  3. Think of the structure of the database, the server-side scripting language, and the user experience as 3 areas that work with each other but are independent of one another.
    1. Why let the limitations of the database, hinder your organization in your code, when you could create a data abstraction layer and have your code and database work independently?
    2. Your code needs to be written in a way that it can be maintained without worrying about the database or the user.
    3. The User neither cars about the internal structure of your office, nor the folder structure of your web server.

How would you ideally modify or maintain an existing project?

  1. Self preparation
    1. Accept and honor the work and decisions that went into the current code base, but look forward from that place to see where we could be with the right efforts.
    2. Think beyond the requirements, think beyond the current limitations, if your code base can adapt, or move to a new location, you have the ability to add functionality without destroying a workflow.
    3. Be humble, you never know what you don't know. Even in a language I know "inside and out", I respect that even a beginner has something to teach me. If nothing more than the way they phrase questions, that can cause me to see a different connection that I might not have had before.
    4. Accept that we all make mistakes, but our merit is only a reflection of how they handle them.
  2. Study the Database
  3. Study pre-existing code
  4. Speak with team members
  5. Learn any existing processes
  6. Move forward, as possible, with steps for a new project.
 

Downloadable

Resume PDF

Recommendations

Marco was a fantastic guy to work with, and to work for. He supervised me for a relatively short time, but it was the most critical time of the project, and his knowledge, responsibility, and management skills were essential to the success of the project. In addition, Marco was a fun and personable co-worker, a respected coder, and an valued mentor.
— Andrew Benson
Marco is an excellent developer to work with. He is always open to discussing various ways of solving a problem and exploring various options to determining which method would be best. Marco is a pleasure to work with.
— Ben Schleis
I worked with Marco both on application creation and on database management for several years. I was impressed with his willingness to jump in on a project and listen and gain an understanding of what was needed to find a solution to an issue. This is a critical skill for developers to gain and Marco uses it well.
— Maurine Lee
Marco is a tremendously creative solution-oriented developer. His contributions to projects both large and small are incredibly valuable. He is highly collaborative and helps bring out the best in the teammates he works with.
— Brandon Trenz
Marco Cabrera is an articulate, friendly, and enthusiastic individual. He's very knowledgeable and experienced in designing websites and general web programming. He's also a great instructor for web languages. He goes above and beyond to ensure that each of his students understands the concepts. He's easy to contact and responsive. I've attended one of his classes and found it easy to follow along and the projects we worked on were well structured. He is perfect for any web instruction or web programming job you have in mind.
— Melanie Bell
Marco was one of the more agile developers on staff. His "can do" attitude and willingness to explore new possibilities is hard to find in most developers. He is very personable, easy to get along with and a good collaborator.
— Chris Hanna
Marc is an all around great guy. He is easy to work with and a great asset to any team. He is very intelligent and brings a great vision to every project. He is a true team player, and any team would be lucky to have him.
— Jayme Sloan Hennel