Skills
This page lists my various skills around software languages, frameworks, technologies, design, practices, and applications.
I have paired each skill with a relative self-assessment.
JVM
Skill |
Proficiency |
Java (1.8+) |
Practiced |
Spring |
Practiced |
Spring Boot |
Practiced |
Spring Cloud |
Practiced |
Spring Security |
Practiced |
Spring Data JPA |
Practiced |
Spring Integration |
Effective |
Kotlin |
Practiced |
Gradle |
Practiced |
Groovy |
Competent |
Scala |
Competent |
JUnit (4+) |
Practiced |
Spring Boot Test |
Practiced |
JavaScript
Skill |
Proficiency |
JavaScript (ES6+) |
Practiced |
Node (6+) |
Practiced |
TypeScript (2+) |
Practiced |
React (0.14+) |
Practiced |
React Native |
Effective |
Redux |
Practiced |
SSR (Gatsby/Next) |
Competent |
Vue (2+) |
Competent |
Angular |
Familiar |
Express |
Effective |
Jest |
Practiced |
Jasmine |
Practiced |
Mocha/Chai/Sinon |
Practiced |
Testing Library |
Practiced |
Cypress |
Effective |
Codecept |
Effective |
Other programming languages
Skill |
Proficiency |
Go |
Competent |
Ruby |
Competent |
Python (3+) |
Effective |
C# |
Familiar |
C++ |
Competent |
Rust |
Familiar |
Swift |
Competent |
Markdown |
Practiced |
HTML |
Effective |
CSS |
Effective |
Data
Skill |
Proficiency |
Postgres |
Competent |
MySQL |
Competent |
ORM |
Effective |
JSON |
Practiced |
YAML |
Practiced |
MongoDB |
Competent |
S3 |
Competent |
Redis |
Competent |
gRPC |
Effective |
GraphQL |
Familiar |
RabbitMQ |
Effective |
Kafka |
Effective |
Software Architecture
REST |
Effective |
Domain-driven design |
Practiced |
Object-oriented programming (OOP) |
Practiced |
Functional programming (FP) |
Effective |
Microservice design |
Practiced |
Site Reliability Engineering |
Competent |
Event-driven architecture |
Practiced |
Event sourcing / CQRS |
Competent |
Security
Skill |
Proficiency |
OAuth2 |
Effective |
TLS |
Competent |
Threat Modeling |
Competent |
Fortify |
Competent |
OWASP |
Competent |
SonarQube |
Competent |
DevOps
Skill |
Proficiency |
Bash/Zsh |
Practiced |
Git |
Practiced |
Concourse CI |
Practiced |
Bamboo |
Effective |
CircleCI |
Familiar |
Jenkins |
Competent |
GitHub Actions |
Competent |
Auto DevOps |
Competent |
Airflow |
Competent |
PCF / TAS |
Practiced |
OpenShift |
Effective |
Bosh |
Competent |
Docker / OCI |
Practiced |
Kubernetes |
Effective |
GCP |
Competent |
AWS |
Effective |
Terraform |
Effective |
Practices
Skill |
Proficiency |
Test-driven development |
Practiced |
Acceptance testing |
Practiced |
Pair programming |
Practiced |
Refactoring |
Practiced |
Workstation setup |
Practiced |
Applications
Skill |
Proficiency |
MS Office |
Practiced |
G-Suite |
Practiced |
JetBrains IDEs |
Practiced |
Vim |
Effective |
Visual Studio Code |
Effective |
Postman |
Effective |
Eclipse / STS |
Competent |
JIRA |
Competent |
Pivotal Tracker |
Practiced |
Definitions
Practiced
- I can employ this skill fully independently if needed.
- I consider myself a peer to other practitioners.
- I can mentor new learners toward effectiveness.
Effective
- I can employ this skill mostly independently if needed.
- I would usually defer to the strong opinions of practitioners.
- I can mentor new learners toward competency.
Competent
- I can employ this skill somewhat independently if needed.
- I would actively seek strong opinions of other practitioners.
- I can mentor new learners toward familiarity.
Familiar
- I’m dependent on others to employ this skill.
- I actively seek strong opinions of practitioners.
- I can offer little to no mentorship.