Skip to main content
Ryan Orban

Ryan Orban

Subject
33 entries

Software Engineering

Bookmarks

  1. How to Read Deep Learning Papers as a Software Engineer

    A YouTube guide for software engineers on reading deep learning papers — framing the paper-reading skill as an engineering competency rather than a research one, with practical strategies for extracting implementation-relevant understanding from dense notation.

  2. HN Top 40 Books of 2023

    The Hacker News Top 40 most-recommended books of 2023, compiled from community discussion. SICP and DDIA top the list; the pattern across 40 books reveals HN's bias toward CS fundamentals, mathematical rigor, and timeless over trendy.

  3. How to Fix Low-Code: With More Code

    Airplane's argument that low-code platforms fail because they try to eliminate code entirely rather than eliminating the wrong kinds of code — proposing a hybrid model where code handles logic while low-code handles layout and permissions. An honest critique from a developer tools company with skin in the game.

  4. Goodbye, Data Science

    A practitioner's exit essay arguing that 'data science' as a job title is broken — structurally positioned between engineering and analysis in a way that makes it chronically undervalued and poorly defined. Resonated widely in the data community in late 2022.

  5. SE-ML: Software Engineering Practices for Machine Learning

    SE-ML is a catalog of software engineering practices adapted for machine learning systems — covering data management, model training, deployment, and monitoring. A structured reference for treating ML development with the same rigor as traditional software engineering.

  6. Programming in the Apocalypse

    Mat Duggan's essay on what software engineering looks like when the tech industry's golden decade is over — slower hiring, tighter budgets, and the shift from 'move fast' to 'keep the lights on.' A realistic recalibration for developers who only knew the boom years.

  7. Python Decorators for Data Scientists

    Marton Trencseni's survey of Python decorators useful for data scientists — covering retry logic, timing, caching, and type checking patterns that bridge the gap between exploratory notebook code and production pipelines. Good reference for DS engineers who want production-grade patterns without abandoning Pythonic style.

  8. Modeling Vocabulary for Big Code Machine Learning

    An empirical study of vocabulary modeling decisions for machine learning systems on source code, evaluated across 14,436 projects. It matters because the choices made when tokenizing and preprocessing code vocabularies have an outsized impact on neural language model accuracy, yet were poorly documented before this work.

  9. Transformers for Software Engineers

    Nelson Elhage's explainer on transformers pitched at software engineers — treats the architecture as a data structure rather than mysterious ML magic. Grounding for anyone who codes but hasn't internalized what attention actually does.

  10. What You Give Up When Moving Into Engineering Management

    Stack Overflow blog post on what engineers actually give up when they move into management — technical depth, maker's schedule, direct contribution. Honest about the tradeoffs rather than cheerleading the transition.

  11. MutableAI: AI-Powered Code Generation

    MutableAI is an early AI coding assistant that offered automatic code completion and refactoring — a 2022-era precursor to what Copilot and Cursor would become. Interesting artifact of the early AI coding tools moment.

  12. A Career Ending Mistake

    John Arundel argues the career-ending mistake for software engineers is treating their career as a thing that just happens rather than something to deliberately design. Uses the irony that engineers plan meticulously for computers but rarely apply the same rigor to their own professional trajectory.

  13. hirethePIVOT: Second Career Developer Job Board

    hirethePIVOT is a job board for second-career developers — people who switched into software from other fields. The hypothesis: career-changers bring real-world domain expertise, motivation, and maturity that traditional CS grads often lack.

  14. The Twelve-Factor App

    The Twelve-Factor App is a methodology for building cloud-native SaaS applications, synthesized from Heroku's experience with hundreds of deployed apps. Canonical reference for why config should live in env vars, why logs should be streams, and why stateless processes matter.

  15. Hidden Technical Debt in Machine Learning Systems

    Sculley, Holt, Golovin et al. at Google extend the software engineering concept of technical debt to ML systems, identifying ML-specific forms that accumulate invisibly at the system level: boundary erosion, entanglement, hidden feedback loops, undeclared consumers, and data dependencies. The canonical paper explaining why ML systems are uniquely expensive to maintain.

  16. Hacker Laws: Laws, Theories, Principles, and Patterns for Developers

    Dave Kerr's curated reference of laws, principles, and patterns that recur in software development and technology organizations, covering everything from Brooks' Law to Conway's Law to the Pareto Principle. A useful mental model library for recognizing why projects, teams, and systems behave the way they do.

  17. A Taxonomy of Software Consultants

    Erik Dietrich's taxonomy categorizes software consultants by how they create value — from pure staff augmentation through deep specialization to productized expertise. A useful map for thinking about career trajectories in technical consulting.

  18. Machine Learning Engineering for the Real World

    A practical guide to ML engineering as a discipline — applying software engineering processes (agile, simplicity, iterative development) to ML projects from scoping through production. Makes the case that ML projects fail not from algorithmic complexity but from lack of engineering discipline around planning, experimentation, and deployment.

  19. Don't End The Week With Nothing

    Patrick McKenzie's essay on building career capital through artifact creation — every week should produce something permanent: a blog post, open-source contribution, or piece of writing that compounds over time. Companion to his salary negotiation essay.

  20. Effective Testing for Machine Learning Systems

    Jeremy Jordan's framework for testing machine learning systems — pre-train checks, invariance tests, directional expectation tests, and minimum functionality tests. Organizes tests around model 'skills' rather than code structure.

  21. What I Learned from Doing 60+ Technical Interviews in 30 Days

    Emmanuel Okafor's post-mortem on doing 60+ technical interviews in 30 days — 13 lessons grouped into pre-interview, during-interview, and post-interview phases. One of the most data-rich personal accounts of systematic technical interview practice.

  22. Hiring Without Whiteboards

    The Airtable-based Hiring Without Whiteboards list — companies that use practical, work-sample interviews instead of algorithmic puzzles. A valuable reference for engineers who find whiteboard interviews a poor signal for the actual job.

  23. The Perilous World of ML: Pipeline Jungles and Hidden Feedback Loops

    John Foreman on the hidden technical debt in ML systems — pipeline jungles and feedback loops that make production ML fragile in ways that pure model metrics never reveal. Anticipates the 'Hidden Technical Debt in Machine Learning Systems' Google paper by months.

  24. You Are NOT a Software Engineer

    Chris Aitchison's essay arguing that 'software engineer' is the wrong metaphor — programmers are more like gardeners than engineers. The gardening metaphor has implications for how we think about code maintenance, refactoring, and organic system growth.

  25. How to Be a Programmer: A Short, Comprehensive, and Personal Summary

    Robert Read's comprehensive guide to being a programmer — covering debugging, communication, teamwork, and judgment that textbooks leave out. Unusually honest about the human and organizational side of software development.

  26. How to Implement an Algorithm from a Scientific Paper

    Emmanuel Goossaert's guide to the specific challenges of implementing an algorithm from a research paper — reading notation, handling undefined edge cases, bridging the gap between mathematical description and working code. Practical advice for a surprisingly common problem.

  27. Don't Waste Your Time in Crappy Startup Jobs

    Michael O. Church's argument that most startup jobs are bad deals for engineers — low salary, equity that rarely pays out, and false promises of learning opportunities. Counterintuitive at the peak of startup mania in 2012.

  28. Get That Job at Google

    Steve Yegge's definitive guide on how to prepare for and pass Google software engineering interviews, written in 2008 and widely read through the 2010s. The advice is brutally practical: most candidates fail because they stopped practicing algorithms and data structures after college.

  29. Mars Curiosity Rover: 2.5 Million Lines of Embedded C

    Stack Exchange answer explaining that the Mars Curiosity rover runs on 2.5 million lines of embedded C, using a real-time operating system called VxWorks. An eye-opening look at mission-critical embedded software at its most demanding.

  30. Freelancing: A 6-Month Retrospective

    Mike Rooney's honest retrospective on his first six months of freelancing as a software engineer in 2012 — what worked, what didn't, and the unexpected realities of self-directed work. Useful as a primary document from the early independent-worker wave before 'digital nomad' became a cliché.

  31. Three Tips to Succeed as a Programmer

    Facebook Engineering's post on three principles for succeeding as a programmer — written at a moment when Facebook was the most visible example of what high-performing engineering culture could produce. Likely covers ownership, breadth vs depth, and learning from code review.

  32. Life's Too Short to Write Shitty Software

    Adzerk's engineering blog post on software craftsmanship — arguing that quality standards aren't a luxury but a prerequisite for sustainable development speed. A statement of engineering values from a small company establishing its culture.

  33. Coding Is Priority Number Five

    Benjamin Pollack's counterintuitive argument that for startup engineers, writing code ranks fifth among actual priorities — behind understanding users, solving the right problem, shipping iteratively, and learning from feedback. A corrective to the engineering-centric startup mythology.

All bookmarks