Skills Matrix

Skills Matrix - A quick reference representing approximately four decades of software development experience.
Updated Wednesday October 23 2019
Link to FAQ:
Link to Career Page:
Link to GitHub public repositories and projects:
Link to other code samples and projects:

I have other skills as well. Experience varies based on most recent project and time. Review above links. See code samples. Ask questions. And thanks for having a look.
Term Proficiency (1-10) Years Experience Last Used Project Cross-Reference
ActiveMQ 7 1 2006 Used this JMS implementation at
Agile/SCRUM 8 11 current Used by most companies I've worked with since 2005, most notably Cisco.
Algorithms 9 35 current Depth first recursion over BTrees, etc. Of course.
To answer a common interview question, see my hashtable implementation here:
Ant 8 15 current Used in earlier Java projects.
Apache Commons 8 14 current Used on many projects.
Assembly Language 8 30 current Learned early in my career for various processors. Used on robots and other personal projects. PIC Micro most recently.
Azure (Microsoft Cloud Service) 8 1 current I have developed two cloud services running on Azure while at Walmart Labs. See also Cosmos DB, Redis Cache. Azure Web Service. Azure SQL Database.
BASH 9 15 current I maintain an Openstack based server farm and use BASH all the time.
C 7 15 1980s to mid 2000s Used in the 80s and 90s. Wrote many projects and a couple of Mac games in C. Wrote parts of the MacOS in C and C++.
C# 0 0 never Would like to use it sometime. I hear there's a version that now works in open source environments.
Objective C 5 1 2010 Tinkered around a little with it using XCode. No real projects developed under Objective C.
C++ 7 15 1990s, mid 2000s Used at Apple, Netscape, OpenCountry, Amazon. You can doanload some C++ sample code from my Code Samples site.
CDT 5 2 2005 Used the Eclipse C Developers Toolbox at Altera.
Cosmos (see Azure) 8 1 current Developed two Springboot REST services whose backend is Cosmos. Services run as Docker containers on Azure.
CSS 8 5 current Used on personal websites and other places.
CVS 8 20 2010 Used at Netscape and various other comapnies extensively. Wrote CVS manual for Hotmail and did some CVS admin.
Design Patterns 9 20 current Factory, Singleton, etc. Of course. Used many places. Purchased the original Design Patterns book when it was published in 1994.
Docker 8 3 current Built Docker containes for various projects.
Dropwizard (Java RESTful web services) 8 1 current Used at Apple e-commerce. Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services. Dropwizard pulls together stable, mature libraries from the Java ecosystem.
Eclipse 9 12 current I use Eclipse for everything. I have even written plug-ins for Eclipse. See my Github page.
Eclipse Plugin Development (PDE) 8 1 current I developed part of Cypress' new IDE for the PSoC micorprocessor. The IDE, known as ModusToolbox is based on a modified Eclipse.
I recently developed a nice Eclipse plugin and will donate it to the Eclipse Foundation (am a member). See it on Github. See project page at
Eclipse Rich Client Platform Testing Tool (RCPTT) 8 1 current I write RCPTT scripts to test our work on the Eclipse based IDE at Cypress Semiconductor. We used RCPTTRunner as part of our automated buids.
Flask (Python microframework) 7 1 2015 I used Flask at Cisco while on the MOS project. I primarily used it's REST capabilities.
GCC toolchain 7 5 2010 Set up and used on many projects under Linux. Mostly for embedded systems projects these days.
Git 9 5 current I use Git for everything including this website.
I have a Github account at:
Gnu Debugger 4 2 2005 Used off and on, under Eclipse for remote debugging.
Gradle 8 1 2016 Used recently at Cisco and NASA.
Hardware / EE 4 30 current PIC / Raspberry Pi. And associated LEDs, and power transistors to drive three phase motors. I make things that go blink in the night. :-) See PIC 3 color LED demo.
Yes. To ME, full stack means Python/Java all the way down to hardware.
Hibernate 8 2 current Used in a few recent projects.
HTML5 7 5 current Used on this website among other places.
iOS 8 1 current I've been developing a fairly complex app. App is based on the Parse database. Backend runs on managed cloud (AWS)
Java/J2EE 8 18 current I learned Java in 1998 while at Netscape and use it to this day. I know many standard Java APIs and several newer ones.
JavaScript 6 1 2000 Learned basic JavaScript years ago. Have used Node.js more recently.
JAXB (Java XML Binding) 8 6 current Used on several projects including some of my own. Preferable to old school object serialization for portability.
JAX-RS (Java RESTful API) 8 3 2015 Used on several projects including some of my own. See Jersey, Azure, Spring.
JBoss 7 1 2006 Used at Everyone uses Tomcat, Jersey these days.
Jenkins 8 6 current CI/CD system used at several places. See NASA, Walmart Labs, Apple, Cisco
Jersey 8 3 current I've used this JAX-RS implementation on a number of projects. See JAX-RS, RESTm Spring.
Jetty 8 3 current Started with Tomcat back in the day but have been using Eclipse Jetty in recent years.
JMS (Java Message Service) 7 1 2006 Used at and a couple of other places. The ActiveMQ implementation.
JNI (Java Native Interface) 8 2 2009 Used at Lab126. The graphics code I wrote for the Kindle had to communicate with a system in C called MicroWindows. Also wrote power management code that talked to DBUS via C.
JQuery 1 1 2002 Used as part of the Quicksilver project at Mediagate, with XSLT.
JSON 9 3 current Used a lot lately to pass data between Java and Python. See latest Cisco, Jersey, JAXB, Python dictonaries. Web services. REST.
JUnit 8 10 current Used a lot for automated testing and TDD (test driven development) during development. Many of my projects use JUnit.
Linux 8 20 current Used all the time on just about every project. Also maintina my own servers / private cloud.
Log4j 8 15 current Used often, many projects.
Macintosh (coding) 6 6 1998 Worked on the original MacOS. Currently working in Swift.
Maven 7 1 current Many open source projects distribute and build via Maven. Also used at Cisco, Walmsrt.
Mercurial 7 1 2013 Same as GIT. Used at DirecTV.
Micoservices 8 6 current I've developed several microservices at Cisco, Apple and most recently Walmart Labs. These are SpringBoot based and in the case of Walmart they run on Azure. REST (JAX-RS, Java Jersey SpringBoot) based.
Node.js 7 1 2016 Used at Cisco for a few months.
NoSQL (MongoDB) 7 2 current Used at Cisco and more recently on a Parse project of my own.
OOP: Object Oriented Programming 9 25 current Yes of course. I live and breathe Encapsulation, Method, Message Passing, Polymorphism, and Abstraction.
Open Source Tools 9 18 current Am femiliar with many and use all the time.
Openstack 8 2 current I run my own Openstack cloud and am a frequent contributor to Openstack-Operators. Used Openstack at Cisco and wrote code for it. See Cisco ESC project in resume.
OSGi 7 1 current I wrote an Eclipse plugin which is OSGi based. See project page at
Perl 7 2 2005 I wrote my first Perl code creating a guestbook for the Kaubki West website in 1995. Again on a couple of othre projects. But not a lot lately. I reteach myself Perl every 5 years or so.
PHP 7 2 2012 Used at OpenCountry and LinMin. You can download some PHP sample code on my site.
Python 8 5 current I've used Python on a few Cisco projects. I use it all the time on various personal projects as well. See the Pluto for Openstack project.
RabbitMQ 7 2 2016 Used at Cisco. RabbitMQ is a pretty straightforward messaging system with a decent Java interface.
RESTful API Development 8 5 current See Web Services / REST / Azure
RxJava 7 1 Current Used RxJava as part of web service under Azure at Walmart Labs. The service is largely linear, so not a lot of chance to make use of parallelization.
Spring (SpringBoot, SpringBatch, RESTful services) 8 4 Current I've been doing a lot of SpringBoot based development lately. I wrote a few services based on SpringBoot using JDBC, REST, SQL, SpringBatch, Spring JDBC repositories. There are several references to Spring in this FAQ. I have extensive Spring experience. Deployed on Azure, Openstack using Docker.
SQL 8 5 current Used on many projects, but largely thru Hibernate ORD. Currently working on a project using JDBC directly, MariaDB on Mac / Linux. See Spring CRUD Repositories.
SVN 8 6 2013 Used a lot at Amazon and DirecTV. Similar to CVS. These days we all use Git.
Swift / iOS 8 1 current I've been developing a fairly complex app. App is based on the Parse database. Backend runs on managed cloud (AWS)
Test Driven Development 8 12 current Almost all my projects involve TDD. It is a common practice.
Tomcat 9 15 2015 I have been using Tomcat ever since it was Tomkitten. First at Mediagate in 1999. Used on many recent projects. Using Jetty more often these days.
Virtualization Environments 8 10 current Started with VMWare / VShpere / ESXi. Usage mostly. Little API coding. Use Openstack for the most part these days. I run an Openstack private cloud here in Sunnyvale.
VMWare 8 10 current See Virtualization Environments
Web Services / REST 8 3 current Developed code for RESTful web services in last several positions. See above technologies. SpringBoot, Tomcat Jersey / JAX-RS / both Hibernate and direct JDBC / SQL (MariaDB) and NoSQL (MongoDB, briefly) all in Java, using Python as well. Developed on Macintosh under Eclipse and deployed on Linux. Also developed RESTful services at LinMin for Cisco Server Provisioner, 2012. See resume.
Windows 4 4 1992 Not since the early 90s. Wrote a texture mapping application for ModaCAD on both Mac and windows when Windows 3.1 first came out.
XML 9 15 current Used all the time on many projects. Started back in 2000 with xml4j (Java).
XPath 6 4 2002 Used as part of the Quicksilver project for Mediagate. Not used in a while but XPath is pretty straightforward.
XSLT 8 4 2002 Build a nice framework based on Java and XSLT for the Quicksilver project at Mediagate XSLT is the killer app for XML.
Zookeeper 6 1 2015 Worked with Zookeeper and MongoDB as part of the MOS project at Cisco. We used Zookeeper to exchange data between three nodes while running in HA mode.