home
  
  
   
      
    (draft) Holiday Coding Topic List
This is a list of topics I consider for the Holiday Coding sessions. Let me know if you’re particularly (dis)interested in a topic.
Some topics are big. Some topics are small. All of them are ideas.
Do Repeat Yourself
- Make things look the same to keep them easy.
    
- Order of functions in a file
 - Name of files and directories easily predictable by a quick file search.
 - handleXYZ or XYZhandle.
 - snake_case or CamelCase
 - writeOutVariablesInFull or x,i,z?
 
 
Toolmaking
- Makefile / Rakefile
 - Making your own CLI
 - The art of “one-off” scripts.
 - Helper functions in testing setups. (createEvent)
 - CLI basics - creating shell scripts.
 - Making your own (mini) DSL
    
- This includes e.g. defining custom layouts and components in front-end.
 - Things like custom chaining functions in the backend.
 
 
Know your Tools
- Package.json
 - ts/jsconfig
 - Loggers and Log Levels
 - eslint / prettier
 - GIT
 - Basic CLI - find, grep, head, tail, sort, uniq, xargs
 - Test Tooling:
    
- Playwright -> pages / storageState / loggedInState
 - JEST -> how to use variables in each test case?
 
 
Use your tools
- Github
 - Sentry
 - Amplitude
 - Slack (notifications)
 
AWS Specific (Power) Tooling
- Cloudwatch (and structured logging)
    
- Queries
 - Tailing
 - Custom Metrics & Alarms
 
 - SQS
 - DynamoDB
 - Lambda
 - Step Function
 
The spectrum from code to infra (AWS)
- Step Functions
 - DynamoDB
    
- Streams
 - TTL
 
 - SQS + Dead Letter Queue
 - SES
 
Don’t break the Internet
aka: Know your standards
- HTTP
    
- HTTP Response codes.
 - HTTP (custom) Headers
 - HTTP Tags and their attributes
 
 - CSS & data selectors
    
- For prototyping & testing
 - For analytics & tracking (icw e.g. Google Tag Manager)
 
 - Template Languages
    
- HBS
 - ERB
 
 - DNS and (local) subdomain control.
 - DMARC / SPF
 
Software Architecture Patterns
- Startegies for Mapper(s)
 - IF statements
    
- Treating If statements as a code smell, especially when nested.
        
- Not because they are inherently bad. But because the smell leads us to areas we can likely improve.
 - The deeper the if structure, the bigger the smell.
 - The more if statements in a single function, or object for that matter, the bigger the smell.
 
 - Various Strategies of dealing with if statements.
        
- Push if’s to the outside
            
- Can you return early?
 - Can you skip the if, if you make it somebody else’s problem?
 - Swallowing functionality with Objects.
 - default values as arguments vs ifs
 - value objects vs ifs
 - single vs multiple return paths.
 - using functions in your statements instead of just statements.
 
 - Switch / Case statements to clarify the process.
            
- Especially when implementing external protocols (e.g. authorization flows)
 
 - Duck typed objects / Value Objects
 - Placing conditions outside or inside a function.
            
- Is it your problem or not?
 
 
 - Push if’s to the outside
            
 
 - Treating If statements as a code smell, especially when nested.
        
 
System Architecture Patterns
- SQS vs Direct handling of Lambdas
 - API Gateway with Lambda
 - Benefits of Idempotent design
 - Don’t wake me up at night & defensive coding.
 
Observability & Cleanliness
It’s easier to hold the 0 line than to judge the mess.
- CloudWatch
 - Local Logs
 - Keeping Console.log open