Chris Dielschnieder
SOFTWARE DEVELOPER
SKILLS AND PROFICIENCY
TOP LANGUAGES AND FRAMEWORKS
FIRST TIER
My Professional Toolbox
| Tech | Years |
|---|---|
| JavaScript/TypeScript | 5+ |
| Python/Flask | 5+ |
| C/C++ | 5+ |
| React | 5+ |
| Vue | 3 |
| SQL/Postgres | 5+ |
SECOND TIER
Useful, but I'd Need the Docs
| Tech | Years |
|---|---|
| C#/.NET | 2 |
| Elixir/Phoenix | 2 |
| Ruby/Rails | 1 |
| Bash | 3 |
THIRD TIER
Used Before and Could Again
| Tech | Years |
|---|---|
| NoSQL/MongoDB | 2 |
| Firebase | 1 |
| OpenGL/WebGL | 1 |
| Scheme/Lisp/Racket | 1 |
| PowerShell | 1 |
TOP SKILLS
-
Fulfilling Project Requirements
- Delivering software that matches requirements and operates as expected
-
Creative Problem Solving
- Extracting important requirements when details are limited
- Constructing designs through stories and dialogue
- Delivering shippable solutions on schedule
- Creating automation for repetitive or lengthy tasks
- Patching libraries, versions, and environments at unexpected failure points
-
Architecting and Designing
- Starting with design documents, diagramming, and wireframing
- Researching the best tools and structures to match requirements
- Considering factors like deployment, security, operating system, production environment, and distribution in design choices
- Keeping naming and folder structure consistent
- Using software design patterns such as observer, factory, and decorator
-
Clean Coding
-
Obsessing over:
- Making code as readable as possible
- Making code as concise as possible, without sacrificing readability
- Making code design consistent app-wide
- Reusing and keeping things DRY
-
Obsessing over:
-
Language Agnosticism
- Working across languages and paradigms
- Experimenting with different tools
-
Documenting
- Tracking progress and tasks across a project
- Keeping logs of key design and technical details for reference
- Notating tasks in detail for historical clarity
- Building API docs using Swagger
-
Working in Ambuguity
- Capable of producing positive outcomes from ambigious directions
- Filling in the blanks for lacking or missing requirements
- Public Speaking/Writing/Presenting
ADDITIONAL AREAS OF INTEREST
- Functional Programming
- Hardware and Robotics
- Cryptography
- Networks and Protocols
- Computer Graphics
- Mobile Development
- MIPS Assembly