General Contractor of the Internet

I've been a CTO, VP, Sr Dev, Jr Dev, PM, Director, and all sorts of other fancy titles. None fit me more than "General Contractor of the Internet". If you are looking for a glossy experience, please visit my main site here.

Testimonials

“Marc built the first version of some crucial parts of the application, specifically the integration process with our first partner and our Analytics Suite. He was able to lay the foundation for products and processes that are still in heavy use today!”

and

“Marc's ownership over his defect-free code delivery allowed me to focus on other business and non-technical challenges while the product continued to grow. He took pride in his work, and would work late hours and weekends as needed (of his own doing) to deliver on deadlines he'd committed to.”

Get to Know Me

In 2004 I left a stable career to work on software full time. PHP was the go to flavor in the early 2000's. The next 10 years was full of top notch web work in Flash, JS, and HTML.

As a GC, building software is all about solving problems and understanding the greater environment. While many try to write tighter and tighter code (for reasons such as job security) I focus on delivering the best solution for the problem, team, and company.

My history in computers goes way back (inquire at will). The past 15 years is the most important and includes a stop in NYC working in Silicon Alley from 2013-2016. I returned to Denver to focus on building apps and remote work.

I enjoy programming more than any other money making task. Freelance, contract, and hired gun work is a big part of what I do and who I am. I aim to deliver NYC/SF quality work at local rates (Denver).

Developers are in short supply, I am grateful.

One Sentence

It turns out I like programming more than any other task in my daily ritual, especially in Python.

One Paragraph

The remote engineer is becoming more commonplace each year. I value my experience in several NYC start ups, various enterprise apps, and the occasional agency grind. I approach my work as an academic (learn, teach, repeat) but operate in a relevant and current paradigm that delivers assets to makes companies money. The balance of planning, implementation, testing, and timeline define the equation.

Primary Work

The bulk of professional experience:

Goals

Work for and with good people and continue to develop as freelancer and app creator.

Trajectory

Family in Denver, fly racing drones, and program the highest quality applications possible.

Interesting Facts

Skill Assessment

The function of this section is to provide a resource for collaboration and hiring regarding acquired skills and type of work. The Dreyfus model of skill acquisition is used as an exercise in self-assessment. Please refer to the link or legend at the bottom of this document for details.

How to read the [bracketed code]:

[{skill-/-range}:{since year}]

Making [Proficiency-Expertise:2010] read as Proficiency to Expertise {skill-/-range} introduced to this technology in 2010 {since year}.

The Stack

Full stack, LAMP server, and development environment.

Python [Proficiency-Mastery:2008]: Considerable experience with Django and Flask. The Python environment is very enjoyable and encourages me to write the best code possible.

PHP [Expertise-Mastery:2004]: General exposure and use of all elements of PHP. Original primary language and considerable professional work. All types of projects from package and library development through architecture and integration. I parted with PHP around 2013 disagreeing with the direction of the language.

Linux [Competence-Expertise:2006]: Red Hat, Debian, CentOS, and Nginx focused work. Favorite flavor Ubuntu. Set up, administration, remote management, package handling, and other tasks necessary for web development and clean operation.

MySQL [Proficiency-Expertise:2006]: Solid understanding of My/PGSQL as an administrator, architect, and programmer. Comfortable with ORM integration, less used functionality (stored procedures), large data, bulk transactions, and refactoring.

PGSQL [Proficiency-Expertise:2012]: As a great fan of Heroku PG is eclipsing MySQL in all my work. I find PG a delight and the tools are finally catching up to the MySQL environ.

GIT/SVN (SCM) [Competence-Expertise:2006]: All aspects and patterns of collaboration and project management. Responsible for setting and teaching best practice on many teams. Frequently I have implemented the first iterative code procedure for start-ups and find the native tools in Github to be exceptional for teaching scalable code management techniques.

HTML [Expertise-Mastery:1999]: HTML is really cool, and modern standards are finally opening up new possibilities. Familiar with creation of HTML as a markup language and using software to write (templates, parsers, trans-encoding)

CSS [Expertise-Mastery:2004]: Work experience includes balancing for MSIE5 and MSIE6. Skilled using modern methods and frameworks (Bootstrap is a favorite). I love clean markup, logical media query use, responsive patterns, and keeping output valid and semantically correct.

Javascript [Competence-Expertise:1999]: Generally working in JQuery and Zeptos preferring to write "OO" JS and building my own frameworks as needed.

Node and friends [Competence-Proficiency:2013]: Comfortable with installation, integration, and execution of Node tasks. I am happy to build front-end work as part of a larger project or to compensate for a lack of front-end team in small companies. I do not take full front-end roles however.

SASS/etc [Competence-Proficiency:2013]: SASS preferred when writing sustainable and efficient (final) CSS output. Experience with task-runners but I keep my own SASS compilers, usually in Python+C-binding in most projects.

NoSQL [Competence-Proficiency:2012]: Tangential experience with Mongo, considerable experience with Redis (as a queue system). Professional exposure to NoSQL patterns and usage as a means of technical debt and destructive anti-patterns.

Redis/Queue systems [Competence-Proficiency:2013]: Considerable experience in Redis+Python via various libraries as well as writing native code to create jobs in Python. Currently migrating to RabbitMQ.

Cryptography [Competence-Proficiency:2014]: In my personal and professional life, info-sec and cryptography has become a greater part of the work. Well versed on many standard approaches and actively increasing skills.

Dev-ops/Docker [Competence-Proficiency:2014]: Successfully migrated entire systems from legacy protocol to Docker. As I do not consider myself a "dev-ops person" I frequently handle all of these tasks for small teams. I have written BASH deployment scripts for many projects.

BASH/shell scripting [Competence-Proficiency:2008]: In 2008 I left windows for OSX. With OSX I finally had the *nix toolkit, especially the command line. BASH is key for many tasks throughout any project and despite the antiquated (opinion) syntax, BASH is alive and well and I enjoy these projects. Always happy to dig into shell.

TDD/Automated Tests [Competence-Expertise:2012]: My belief is that a good test should not claim "it works" but instead prove "I can not break this code". TDD, Selenium, and CI are part of my workflow including setup, generation, and automation.

Favorites

Frameworks that are enjoyable.

Django [Proficiency-Expertise:2009]: The BDFL's of Django use the right language (Python) to deliver an outstanding framework for web development. Anyone who reads and studies the history of Django should understand and agree with decisions made. Personally I consider Django's ORM to be the best choice.

Flask [Proficiency-Expertise:2009]: A personal favorite framework because of the minimalism, stability, slow rate of change, and ability to operate as the true swiss-army knife of Python web applications.

Wordpress [Mastery:2007]: Theming, extending, integration, plugins, and most any task required to do what ever is needed. WP is a delight to work with allowing frequent feats of magic.

CodeIgniter [Mastery:2009]: Before Django and RoR the go to MVC application of choice. Extensive development, extension and integration.

Ha-Ha Anti Framework [N/A]: The Ha Ha Anti-Framework (what this site uses) is an extremely minimalist application to generate static HTML sites using Git or Gists and Markdown. I did not like Octopress. The project is not abandoned, instead it just works and is in use for code documentation daily.

Services

There is more to a site than language and database.

API [Competence-Mastery:2006]: Work has focused on Application Programming Interface integration and design/deployment. Considerable RESTful work with background in SOAP/WSDL and legacy systems. XML does not scare me.

PaaS [Competence-Expertise:2007]: Heroku, AWS, GAE, Stackato, and AppFog are a few of the frequented services for PaaS. Work includes set up, configuration, migration, deployment, and management.

Social API [Competence-Mastery:2008]: Consumer of social media APIs, especially Facebook as a form of authentication, inquiry, or user insight.

SOAP/WSDL [Proficiency-Expertise:2008]: Skilled with secure, reliable, and discrete multi-system data transfer. Work in these areas impart a strong knowledge and understanding of XML and JSON formats.

RESTful Sevices [Proficiency-Expertise:2010]: The world is API driven and my experience in previous iterations has allowed me to excel and enjoy modern inter-system communication needs.

AWS [Competence-Proficiency:2009]: For almost any technological need, Amazon has a service. Considerable work on S3, permission, and Redis.

DNS [Competence-Proficiency:2006]: Those who know DNS understand the power of DNS.

Responsive/Mobile First [Competence-Proficiency:2012]: Familiar with the tools, methodology, and heartache to create modern mobile friendly crossover applications. Although this is not a core focus, front-end work is a frequent requirement and I keep abreast of the trends, libraries, and methodologies.

Scrum/Agile [Competence-Expertise:2009]: Ardent defender of pure agile (lowercase "a") methodology. Considerably versed on all aspects of programming in short and long iterations using many different systems. Commonly, but not exclusively, Agile/Scrum is the flavor chosen. I am considered a "post-agile developer" having seen the damage Agile methods have imparted on the craft software creation.

Vagrant [Proficiency-Expertise:2012]: Custom Vagrant boxes and the headless box require finesse. Each project provides more skill and knowledge needed to modify, test, and perform complex initializations maximizing the team and my workflow. Also keen to use Python Virtual Env and Docker.

Kanban [Competence-Expertise:2012]: Recent collaborations with teams and individuals have provided a great wealth of knowledge regarding the power of (an adaptive) Kanban work flow style for teams and personal life. Variants of Kanban I find to be most effective in general.

Artistic

The computer can do more than program.

CAD [Competence-Expertise:2013]: Parametric design mostly in AutoCAD and Solid Works where I design various mechanical parts and PCBs (printed circuit boards).

Illustrator [Expertise-Mastery:1999]: Vector graphics, design, technical drawing, manipulation, SVG creation (xml manipulation) are now a form of relaxation.

Adobe Creative Suite [Competence-Proficiency:2000]: Photoshop and InDesign are delightful and helpful in a pinch.

Video [Competence-Expertise:2008]: Final Cut and Premier. Able to plan, shoot, and edit multi-camera short productions.

Audio [Mastery:1985]: Audio engineering beginning with tape editing and experience on most DAW, recording in almost every format and methodology.

Legend

Summary of the Dreyfus model of skill acquisition. I have been using the DMSA for a very long time to help assess personal goals, skills, and learn new talents. As a tool this has also been valuable in assessing new hires as an interviewer and knowing how to best distribute tasks to a team.

  1. Novice: non-situational recollection, decomposed recognition, analytical decision, monitoring awareness
  2. Competence: situational recollection, decomposed recognition, analytical decision, monitoring awareness
  3. Proficiency: situational recollection, holistic recognition, analytical decision, monitoring awareness
  4. Expertise: situational recollection, holistic recognition, intuitive decision, monitoring awareness
  5. Mastery: situational recollection, holistic recognition, intuitive decision, absorbed awareness

Resume

My resume is offered in redacted format in public and on the web. For the complete not redacted version, please contact me directly. There should be sufficient information via my resume and this site to determine the next steps to take, if any.

Profile

Major Experience

04/15 to 4/4/17 Sr Developer **, NYC

04/14 to 10/14 Sr Developer **, NYC

08/13 to 02/14 Backend Developer/Project Lead ****, NYC

05/13 to 08/13 Sr Developer ****, NYC

09/08 to 04/13 Independent Contractor *****, Denver CO

12/06 to 09/08 Project and Technical Manager ****, Denver CO

Additional work history available upon request.

Education

2001 B.A. Linguistics and Anthropology

Reverse Privacy Statement

Most would expect a statement about respecting visitor privacy or a European Union style "cookie permission" declaration.

Not here.

Instead this is the Reverse Privacy Statement where I declare that my data is private.

As this site is regarding my career, how I make a living, and support my family, attention is required.

It is my campaign to assert that people and institutions treat identity and personal information with respect. The following information is available by request:

I appreciate the additional effort required by any potential collaborator, employer, or seeker of my talent to contact me in a human to human manner.

Social networks, especially LinkedIn, are a means to communicate to a larger audience but lack the discretion or respect of personal data. My professional footprint in these platforms is minimal and is not a legitimate means of contact. I am active on social media but not for career purposes.

I am a firm believer that when you don't pay for the service, you are the product.

I do not own my greatest work because I trade money for software solutions. As a result my best work is the property of others and I can not share. Any search will reveal very little interesting career data available publicly. I do maintain a library of selected work, many personal projects in private repositories available for review, and keep a collection of code exercises.

One Additional Stipulation

I operate under a strict policy of "no last name to web". If you would like more information on this decision, I encourage you to contact me directly. My logic is sound and my story is compelling and has intrigue. I do not market my person. I market my skills, company, and online handle(s).

I Know Defeat

I often describe my work as: acquisition of a task with no idea how to solve it, yet managing to meet victory every time. One time, I was indeed defeated. It was in 2015.

An application I was working on needed to handle a new integration that was on a .Net server in a default configuration (never confirmed). The data was being delivered in a 256 bit block CBC a'la Rijndael. Having already handled all of the certificates and other authentication needs, the only task left was to decrypt the data.

The project was in Python, and immediately the expected tools were configured and deployed. None of them shook off the scramble. Nothing was close to usable. Nothing matched the example data provided to build the app.

After a few days of grinding in Python, I was smelling possible defeat. So I moved into PHP and started unpacking all the tools for handling decrypted data. No luck after another day.

I remembered that all my info-sec friends love Ruby, so I pivoted over to the land of gems. Still nothing.

Anyone who has worked in this realm should know why I was failing, a lesson I now understand all too clear. The problem was an underlying reliance on OpenSSH library from the operating system that did not support the configuration of the files we had to pull.

I am the first to admit when I am over my head in math. I can hang with some serious stuff having worked with Harvard statisticians, but this was over my head and there was no fix in sight as the reading and math was a big investment.

I was defeated.

We solved it by finding a Russian who wrote about 50 lines of Python for $200. It took him 4 hours. That dude has my respect.

Post Script

With all of my will, power, grace, and constitution I support an undying dedication to the Oxford comma.