I'm looking for an opportunity to express myself as a craftsman, to be part of a technical community and to build professional relationships. I hope to be assigned tasks of real complexity and difficulty that will challenge me, and afford me opportunities to learn things and teach them to others. Finally, I want to be part of a team that values my contributions whether the work I do is meaningful beyond that or not.
My experience has taught me to be flexible. My technical skills are focused in application development and product design. I like to write articulate software that uses appropriate abstractions to produce an implementation that reflects its domain and is accessible to fluent developers.
Working with a client as a dedicated resource, I was responsible for helping them to complete goals on a tight schedule providing a superior level of quality in both product and process-compliance. I worked closely with the clients staff to complete a challenging initiative in a complex, in-house, legacy framework, created by senior architects who had left the company. I hit the ground running and impressed the client with my fluency and understanding of their complex application.
Working with a loosely defined goal of test-driving the consultancy's many applications, I built a tool that allowed a user to load and save a url in an iframe and record an interaction with that site. Difficult timing and other issues with working in this way eventually proved we had taken the wrong approach. Ultimately, the internal project was shut down after a pivot proved unsuccessful.
Built as a specialized application for a particular conference's schedule and attendees, this application handled a number of difficult contraints. Working on a tight budget, we had to define a limited set of features that would deliver the tool working without exhausting the client's wishlist and budget.
Already well-underway, I joined this project to help with online/offline syncing when the application lost connectivity. I worked primarily with managing inter-dependent state changes as I informed the client of each resource state change that it had missed while disconnected. I also worked to display a series of views in the client related to achievements, and other kinds of notifications that appeared as full-screen visuals. Lastly, this project afforded me an opportunity to work with a developer who was still junior as it concerned working with javaScript and single-page applications.
Originally started by a web-consultancy, this project suffered from being neglected at times and I undertook the project with a great deal of work in progress. My principal accomplishment on this project was returning the project to a good state, from a process and completion standpoint by picking up the incomplete work and pushing it over the line to release. Also, this project put me in the CSS front-end more than unusual and was a nice place to sharpen those skills.
This project was essentially a repayment on technical debt and represented a good case for technical bankruptcy. That said, we managed to bring test coverage over 80% with primarily feature tests and were able to move to a more concise code-base overall. Done for primarily non-technical clients, explaining goals and delays was a critical part of this projects ultimate success. I would say that the biggest takeaway from this project was the importance of distilling a customer's description of an implementation to that of the customer's goal so that an effective solution could be proposed that was a good fit for the customer's goal rather than their conception of how to meet that goal, in the abstract.
This project centered around a loyalty program that was sold white-label to retailers. It allowed the retailer to publish discounts, perks, and events within the app based on a complex set of groups, tags, and other end-user information. This project dealt with accounting, transactional data, and multi-tenant concerns. My Experience with this project is the basis for my preference of not using active-admin for rails projects
This project was a significant refactor of an application from one set of technologies to a distinctly other set. Moving from Rail/Sprockets/hamlc/Jasmine to grunt/requirejs/handlebars/grunt-jasmine represented one of the most challenging projects at Quick Left and the enormous scope was only a part of the difficulty with this one.
This project was maintenance work on an existing API nexus which brought together at least 4 other API services to provide access to multiple distinct document stores. Functionality was implemented in a consistent query interface provided by SDK's for each kind. This project incorporated SSO for multiple API services, Accessing a SOAP document store, A REST interface for the same store, several other Rest API's, Scraping the web interface of a document store for specific user data not presented via the normal API access points, and accessing merging in several different document schemas into a consistent JSON schema for web/mobile client delivery.
This project involved working with front-end bug-fixes on a complex process-tracking software built with Django and Backbonejs. Most work was with solving the issues that crop up with using ephemeral backbonejs views with jquery plug-ins like tipsy and select2. The plug-ins are not geared toward intelligently cleaning up zombie pop-ups when the related DOM elements are removed and must be expressly managed by the application.
Intended to help a company meet a looming deadline, this engagement became a client-developer moral building exercise. As a resourced developer tasked with working within the client's process, I focused on helping the teams developers feel confident and improve their process, add testing, and improve release process over the time while I was there.
See
Drying Your Views With DSL's
and Github/mrcasals/simple_display (by Marc Riera
The supply-side platform integration implemented a database-backed configuration system. I implemented a specified XML interchange, generated from hundreds of distinct configuration criteria. Many features of the configuration system support demand-side integration, and specific targeting criteria for campaigns, managed in a robust single-page interface.
The content delivery system was designed for delivering ad-integrated video, video playlists, and stand-alone video ad players, as a drop-in solution for a wide variety of content publishers. The system was integrated with Amazon's S3 cloud/CDN tools and imported from several kinds of media sources, including MRSS, and HTTP.
As a release manager, I handled weekly deployments of new features, bugfixes and interations. I evaluted requirements, completion, code quality, and production-readiness. I developed and documented the release process.
This product was designed to be an immersive companion for sports spectators; The concept was to improve sharing and accessibility for amateur and secondary inter-mural sports. The biggest challenge is that most spectators can't be gamified to score games.
The system took in a complex XML document, parsed values from it, presented the values, and saved the modified values back to the file on a server, using a PHP proxy; The interface was configured separately by a JSON configuration file managed in a separate interface. In spite of an unclear specification, the project was completed to a better-than- anticipated quality in a very short period of time.
This product is a content management system designed to serve political campaigns, business promoters, and service providers in creating a meaningful presence online. The system's novelty centered on a treating as equal: events, media, and items for purchase.
Built-to-order: this training program was pitched as a 'game' and turned out to be a complex training system used to train managers. A partner built a back-end, and I implemented a tightly-specified visual layout, more suited to a client application than the web. The application presented several levels of work to be completed by participants, a key-based payment verification system, and pay-pal integrated activation.
This actually represents more than one project. Most significantly, I significantly refactored the sports statistics reporting tool for varvee.com. Initially, the system was designed to provide a specific data-stream to a vendor – ultimately, the data-stream was used by a JavaScript consumer which displayed the results in a tabular format.
PortfolioPortfolio (http://mrgenixus.github.io) and Github Profile Github Profile (http://github.com/mrgenixus) represent work going back more than 10 years (though, obviously, github has not been available for so long).