Skip to content

Instantly share code, notes, and snippets.

@stevebrownlee
Created December 5, 2023 22:17
Show Gist options
  • Save stevebrownlee/0e135d83c8aef29811edf30427e08fc3 to your computer and use it in GitHub Desktop.
Save stevebrownlee/0e135d83c8aef29811edf30427e08fc3 to your computer and use it in GitHub Desktop.
Program Goals

Level 1 Competencies

Write and explain readable code

Modular

Functional

DRY

Within defined scope

Model a database

Resources

Relationships

Types

Debug code

Understand exception

Use debugging toolset

Understand cause

Implement solution

Write basic integration tests

Think effectively

Analysis and task definition

Algorithm development

Work on a team

Communication

Version control basics

Github workflow

Documentation (issues/PRs)

Learn effectively

Web search

Documentation

Ask questions

AI querying

Evaluate and understand answers

Navigate and manipulate file system

Create and delete files

Create and delete directories

Run terminal applications

Level 2 Competencies

Use the full powers of development tools

Browser tools

IDE

Debugging

Proficient with configuration and automation in Linux

Services

Monitoring

Bash scripts

Environment variables

Aliases & Functions

Nginx

Communicate effectively with non-technical teammates

Status updates

Requirement clarification

Empathy

Learn with efficiency

Evaluate what needs to be learned

Utilize correct tools for learning

Communicate learning progress

Cloud Basics

Github Actions

Elastic Beanstalk

DigitalOcean Apps

VPS/SSL

Utilize caching to increase performance

Application caching

Algorithmic caching

Cache headers

Database views

Understand benefits and drawbacks of virtual machines and containers

vagrant

docker

Level 4 Competencies

Implement app-level & distributed caching solution

Telemetry

Logging

Tracking

Reporting

Alerting

Metrics

Communicate with technical, and non-technical teammates about evaluating and defending technology decisions

Provide opportunities for, and mentor growing developers

Implement a frictionless CI/CD strategy

Containerization

Automation

Provisioning

Testing

Ensure that new teammates can be onboarded quickly and painlessly

Evaluate needed efforts and target high-value work

Modern Cloud Architecture

API Gateway

“Serverless” Functions

Using CDNs

Level 3 Competencies

Understand and implement techniques for uncoupled applications and systems

Events

Serverless*

Queues

Understand and use components of CI/CD pipeline

Have test suite that must pass before build

Deploying to non-production environment/domain

Automation of deployment when build completes (e.g. Actions)

Implement basic security for software features

Permissions

Tokens

Encryption

Authentication and Authorization

OAuth

IAM

User Security

Automate infrastructure creation and configuration with tools like Terraform or CloudFront

Deep knowledge of language fundamentals

Data structures

Class-based vs prototypal inheritance

Deliver simple, maintainable solutions

Reliable choices

Documentation

Objective evaluation of tools

Implement common software patterns

Repository

Factory

Observer

Builder

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment