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
| Skill |
Proficiency |
| 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.