So what is Animus design?
Animus is latin and has two common translations, soul and heart. It is also the masucline form, the feminine being Anima. With those two items we come up with the following.
- Heartful Design
- Soulful Design
I have been a big proponent of software as craft. Combining this with my artistic nature. I feel there is a bit of heart and soul in the software we write. It is something we should be proud of, but not base our egos on. Below is my manifesto I follow for software.
- Be humble, we don't know what we don't know. Speak as a pauper not of an aristocrat.
- Listen for the change, but do not rush headlong into folly.
- Craft software, delivering now, but looking at the future without sacrificing expedience.
- Resilience and reliability but not at the cost of complexity.
- Do not over engineer, but leave a malleable base.
- Limit tribal knowledge and ease onboarding.
- Your code is a city, with infrastructure and denziens. Never let a borough rot.
- The project you deliver is a story. Do not leave the reader guessing.
- Follow the reactive manifest.
- Development operations is the transit your code runs on, invest in it.
- Aim for continous integration and deployment. Your code should not be bridled in bureaucracy.
- We believe in co-exsistence being language agnostic. Looking at the best end to end experience. From developers to deployment to monitoring.
- Automate the minutia, leaving time for the tea garden collective.
- Be vocal of changes, we can always filter communication.
- Let your code talk, monitors should tell you what's wrong.
- Starting at a high level and working down to the lowest level.
- Leave proper blue prints, so people can see why it was designed that way, not having to reason about it.
- Empower your reliability staff, have clear detailed instructions on how to fix issues.
- Never shirk from failure, analyze and make a plan on how to avoid it in the future.
Ok you went half latin, did you drop out of college?
Well kind of, I'm self taught. But there is no top level domain for consilio.
I have a passion and love for technology. I have been working with computers since I was five years old. It is a drive that has continued with me through my life. I started as a system architect. Designing highly scalable systems for a web hosting company. I migrated to a software engineer focus. Crafting not just the infrastructure of my service but the software as well. I'm a polyglot developer and believe in the best language for the job, that enables my development team. I like exploring new languages to learn different paradigms and ways to crack the proverbial nut. I work as a full stack from bare metal up to front-end development. The finished product of core infrastructure to presentation of data for a customer in a meaningful manner is what drives me forward.
Outside of work I have a wide array of interests. I balance working logistically throughout the day by dabbling in arts. I write, and almost always have a note book with me. I work on poetry, short stories, and novels. I'm also dabbling in music, DJing and learning production. Trying to combine my writing and music interest. Love dance, theater, improv and professional wrestling. Then top it all off with a home made meal.
I'm looking for either a technical lead or architect position. Where I get to help set the pace for a project. Listening to a customer's needs, breaking that into tasks, and figuring out the optimal way to provide benefit to our customers. I would love to help a team transition to Kotlin.
My target platform is.
- Kotlin - Backend with Vert.x, Jooby or Spring
- REST and GraphQL API Layer.
- Python - Scripts and automation
- CI/CD - Jenkins / Gitlab / TeamCity
- Artifact Server - Artifactory / Nexus
- Monitoring - Data Dog / Prometheus + Grafana / CloudWatch
- Frontend - React with SCSS
- Mobile - React Native / Kotlin Android with Swift + Kotlin iOS
- A pragmatic approach to agile targeting Kanbana methodology.
Virtustream: Senior Software Engineer August 2018 to Present
- Development of test scripts to verify service functionality.
- Developed Sonar Qube plugin to provide test coverage, via coverlet, and lint
analysis via FSharpLint. Plugin was developed in Kotlin.
- Patched FSharpLint to work with DotNet Core.
Equinox: Tech Lead April 2018 to August 2018
- Development of python standards for team.
- Developed quick proof of concept systems in Kotlin, showing full multiplatform design scope.
- Developed internal questionnaire and content management system for personal trainers.
- Assist in standardizing build, artifact, release and change management, and api documentation. Via continuous integration.
- Developed ansible playbooks for deploying jenkins and configuring build system.
- Developed proof of concept demonstrating graphql for internal use.
- Developed standard design template package for react.
- Built workout generation application for customers.
- Design fitness portal, with tracking and recommendations for clients.
Amazon: System Development Engineer December 2016 to March 2018
- Development of canary testing system. To test and monitor ancillary software services. Providing overall health indicators of services.
- Development and implementation of monitoring and alarming standards.
- Development of on boarding system for services. Providing automatic deployment of development to production environment. Through a domain specific language. Targeting AWS services, providing infrastructure, monitoring, and dashboards.
- Mentoring of team members on ideal development and project management practices.
- Centralization of common scripts and tasks into a custom modular plugin driven tool.
- Documentation of ideal development and continuous integration practices.
- Providing resources for new developers and people using our services.
- Implemented software as craft bringing several project up to 90% documentation and test coverage.
- Documented API standards to provide a common predictable API interface for services. Worked on call schedule to assist with high severity items.
Comcast: Tech Lead January 2016 to October 2016
- Work with openstack foundation to test new upstream features.
- Work with openstack developing plugins to help automate automatic tasks for internal infrastructure.
- Develop an automation dashboard to allow for ease of deployment. Tracking of versions in regions, and allow rollbacks.
- Develop custom ansible plugins to ease automation.
- Develop ansible playbooks to automate common tasks.
- Work with customers to determine best way to assist and automate daily tasks. Work with vendors to test new features, and automate new deployments. Maintain test lab. Racking, building and maintaining inventory of servers.
- Maintain project, assigning tasks and keeping projects in an agile structure. Mentor team members on new technologies and architecture.
- Worked with sibling teams to determine other tasks we can automate.
NRG: Tech Lead April 2015 to October 2015
- Develop core Pricing Engine for the billing system. This will calculate the current commodity price, and billing cycle.
- Develop a web site to manage and view records relating to pricing engine. This included customer, product, and utility data. As well as means to view pricing engine runs, and which history records were used in pricing the customer.
- Developed modifications to Django for an immutable core. Allowing a strong audit trail, providing a log of how the customer was priced, and delta change log.
- Developed Django models extension for detecting delta changes on rows/data and providing a json structure of the changes. Also supported version and creation time.
- Developed modular normalization layer, that allowed gathering customer data from a number of systems, that was then normalized into a Postgres database. Used Celery for distributed workload, and scheduled tasks.
- Developed phase two RabbitMQ implementation, that provided a message bus. For a publish/subscribe design. Allowing broadcasting and receipt of a variety of pricing events.
- Lead documentation standard, using sphinx for both api and end user level documentation. Lead unit testing, ensuring at least 90% test coverage.
- Worked with project managers, to plan sprints, epics, stories and tasks. To closely adhere to an agile standard.
- Assisted in interpreting business requirements, into software tasks.
- Lead other software engineers providing guidance on tasks, and workflow. Ran weekly code katas to review new and upcoming tools and languages.
- Ran customer interface meetings. Monitoring how customers used our products, allowing for us to tailor changes to better assist them.
- Led internal python training for data analysis, using Jupyter.
- Worked with project managers, to build and run the agile road map.
- Built common library, reducing duplicate common code between teams.
- Integrated with AWS using Jenkins to run a continuous integration and deployment stack.
Comcast: Senior Software Developer May 2014 to April 2015
- Develop RESTful web service that abstracts the Python Flask framework, and allows writing of simple plugins to retrieve data from a variety of systems, and easy expansion to support other purposes. This has acted as the core data collector for my teams projects,
- Wrote several systems to cache central repositories that hold names or IDs for items, for example IP Addresses or cable hardware. Allowing reporting or queries to use a common name, which can be compounded by disparate naming schemes.
- Developed auto documentation system to automatically document the aforementioned REST service.
- Using Flask and Bootstrap, presenting available methods, responses, status codes, etc. in one easy to access place.
- Developed web interface to manage web services (track responses, logs, configuration, etc.) in Spring MVC running on JBoss.
- Documented the above items, providing easy point of reference for coming to terms with the projects. Developed package system for pushing configuration suites to servers. Including a build, test system, repository, and release process.
- Developed build tool system to post (to wiki) and email release notes. Generate API documentation
- JavaDoc and Python Sphinx.Manager python build process gather dependencies, run tests, and distribute packages to artifact server.
- Administered virtual infrastructure and deployed software. JBoss, nginx, mongodb, and Jenkins.
- Assisted in initial setup of the software.
- Developed Windows Service in C# to automate installation of python packaged and custom package system, on a vendor server.
- Wrote several profiling programs in F#, providing metrics from WMI, and reading a configuration file for processes to actively monitor. Processes list was polled every minute, to track any newly created processes.
- Developed system in F# to interface with a C# vendor solution and profile code, and test for various errors.
- Developed F# web service that interfaces with C# vendor solution providing service alerts, when a service unexpectedly stopped.
- Reverse engineered C# vendor solution, to find bugs that affected a python wrapper library. Then developed patches to the python library that circumvented exceptions in the C# solution.
- Utilized Windows Xperf, and python profiling to provide a root cause analysis explaining python processes continually utilizing over 90% on several vendor servers.
- Implemented Spring Security layer authenticating against active directory, and extracting common user metadata from active directory.
- Implemented Servlet 3.0 web fragment feature, modularizing the Spring MVC application into several common components that were utilized across multiple applications.
- Tracked user login and access metrics to database, through a Hibernate ORM layer.
- Implemented dynatrace to provide an overview of hotspots in java applications, and helped determine ways to preemptively improve performance of Java applications. Implemented a code review process using phabricator.
- Implemented ticketing system through phabricator, for providing a detailed tracking of issues and correlating resolution to SVN commits.
- Maintained release process ensuring all components were actively documented, tested, reviewed, and approved for a release.
- Deployed Saltstack to actively maintain core virtual machines and vendor servers. Keeping configuration in line across all platforms.
- Developed integration of python into Artifactory to have a team central PIP repository. Providing nightly builds and released builds into a central repository.
- Developed unit test reporting system, providing a central dashboard for overview of test results, and a nightly email. The email denoted unit test pass percentage, and other build information.
- Developed proof of concept ZeroMq integration into Flask. Adding polyglot support to the aforementioned REST modules. Also allowing modules to be deployed on multiple hosts and report through one front end. Utilized with vendor system which was Windows based and reported back to a central REST front end.
SevOne: Partner Software Engineer May 2013 to March 2014
- Architect custom integration programs with vendor and customer products, allowing support of devices not integrated into the core product. Third party vendors include Alcatel Lucent, Ericsson, and Nokia Siemens.
- Design package management system for easier building and deployment, ensuring consistent deployment and updating.
- Design repository server to easily track packages and revision history, and allow easy uploading of compiled packages.
- Provide training on integration programs, allowing other teams to work with the custom integration. Work with sales to determine scope of work, and how to best address customer needs.
HostMySite: Platform System Administrator July 2011 to May 2013
- Developed PXE deployment service, interfacing with puppet. Allowing automatic switching of a host type, by adjusting VLAN on a network switch.
- Determined baseline performance metrics of mail servers through custom developed mail performance monitoring system. Providing an overview of weekly traffic, and notifying of high load servers and recommending migration options.
- Established central configuration management for mail servers through custom developed configuration system.
- Reduced failed backups by 70% using statistics ascertained from a developed auditing tool.
- Automated manual backup procedure, for backups that consecutively failed over four days. Allowing for dynamic growth through logical volume groups, and easy addition of extra storage servers.
- Performed root cause analysis of Linux servers including database, web, and authentication.
- Automated deactivation of Linux services, including apache, cron, ldap user, database and ftp, through a custom tool set.
- Designed update configuration and scripts utilizing puppet, and custom developed scripts and factors to report and aggregate information regarding update procedure.
- Maintained Virtual infrastructure including VMWare, Virutozzo, and Hyperv.
- Delegated second level issues to appropriate support technicians, and provide training on new tools.
- Established baseline configuration of Windows server through deployment of SCCM Including update, package, group, and deployment management.
- Ensured rapid deployment of new servers through a custom developed front end to SCCM PXE deployment.
- Administered active directory including hierarchy and GPO design.