Programming Awesome

For many years these 2 words have guided my work, a search for awesome! 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 awesome solution is one that works, can be recycled, is documented well, sockets into testing, and respects the unique needs of each SDLC.

One Sentence

I am a lifelong technology advocate whose work evolved into a programming career focused on web applications and skills that progressive companies want and need.

One Paragraph

My digital exploration began in 1978 while programming in basic and building kit computers as a kid. Fast forward to the late 1990's... Flash was getting boring while PHP and the Apache stack offered career advancement. Now I focus on Python and all of the associated technology required to build in-demand web applications and services.

Primary Work

The bulk of professional experience:

Secondary Work

Skills on the decline or not emphasized:

Bonus Skills

Goals

Work life balance, fly drones more, enjoy what I do and get paid a appropriately.

Trajectory

Academic projects in programming and hacking audio*. Drone design and piloting.

Interesting Facts

Skill Assessment

The function of this section is to provide a resource for collaboration and hiring regarding acquired skills and trajectory 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 [Competence-Expertise:2008]: Majority experience via Django creating web applications. Well versed in libraries and protocols needed for web development with substantial experience in parsing, scraping, and social APIs.

PHP [Expertise-Mastery:2004]: General exposure and use of all elements of PHP. Primary language and majority of professional work. All types of projects from package and library development through architecture and integration.

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/PGSQL [Proficiency-Expertise:2006]: Solid understanding of My/PGSQL as an administrator, architect, and programmer. Majority work in MySQL, able to crossover to PGSQL, comfortable with ORM integration, SP, large data, bulk transactions, and refactoring.

GIT/SVN (SCM) [Competence-Expertise:2006]: GIT preferred, SVN accepted. All aspects and patterns of collaboration and project management. Responsible for setting and teaching best practice on many teams.

HTML [Expertise-Mastery:1999]: All flavors of HTML including HTML5 and XHTML. Deep and habitual understanding of application and intent of HTML as a markup language and the DOM.

CSS [Expertise-Mastery:2004]: CSS2 and CSS3 work with original experience balancing for MSIE5 and MSIE6. Skilled using modern methods such as media queries, responsive methodology, and keeping output valid and semantically correct.

Javascript [Competence-Expertise:1999]: Generally working in JQuery and Zeptos the core ECMA language is well understood with the ability to swap libraries and write native. Very skilled in classless and prototypical patterns despite a general dislike of this programming style.

SASS/SCSS [Competence-Proficiency:2013]: SCSS preferred when writing sustainable and efficient (final) CSS output including Grunt/taskrunners as needed. See note in Node.js

Node.js/V8 derivatives [Competence-Proficiency:2013]: Comfortable with installation, integration, and execution of Node tasks. Node.js work is focused in the context of Grunt.js and Node-Webkit (NWJS).

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.

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 will understand and agree with decisions made.

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.

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.

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

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

Other

A few of the many peripheral day to day practices.

Crypto: [Competence-Proficiency:2015]: A number of projects required intense decryption. Various work in PHP, Python, Ruby, and other languages. Crypto is my growing fascination and becoming a requirement for tech work.

Deployment/Dev-Ops: [Competence-Expertise:2009]: Each year new trends and better methods are introduced for deploying code and applications. Bash scripts, Fabric (Python), automated services, and GIT based strategies are all part of a collection of SDLC strategies for deployment.

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.

TDD [Competence-Proficiency:2013]: Test Driven Development has been key to building and maintaining larger systems and applications. Most of my software follows TDD or a similar pattern generating better code in less time.

Bash / Shell scripting [Competence-Proficiency:2010]: Applications such as Vagrant, OSX, various Linux, and deployment strategies have only increased my need to script actions and gain a solid grasp of what this critical aspect of programing has to offer.

Kaban [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.

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 proficient. 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:

  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

04/15 to Present 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 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 Final Notice

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).

Post Script

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