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 | 1 |
| Rails/Ruby | 2 |
| Bash Script | 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, versioning, environments at unexpected failure points
-
Architecting and Designing
- Initiating with design documents, diagramming, and wireframing
- Researching best tools/structures to match requirements
- Considering factors like deployment, security, operating system, production environment, and distribution in design choice
- Keeping naming and foldering consistent
- Using software design patterns such as observer, factory, decorator
-
Clean Coding
-
Obsessing over:
- Making code as readable as possible
- Making code as concise as possible, without sacrificing readability
- Making code design app-wide as consistent as possible
- 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
- Public Speaking/Writing/Presenting
ADDITIONAL AREAS OF INTEREST
- Functional Programming
- Hardware and Robotics
- Cryptography
- Networks and Protocols
- Computer Graphics
- Mobile Development
- Assembly and MIPS