software engineering 👩‍💻 💯
By putting the database changes inside of a transaction, we can ensure that we either get all of the records or none of the records. We call that an atomic transaction: it happens completely or not at all.
Execute Program
Dec. 19 • Advice for new software devs who've read all those other advice essays
Don’t compare yourself to others, compare yourself to where you were in the past.
Ólafur Waage • Advice to new Programmers
Software engineers never escape the skill-change vortex, even many years into their careers. Experienced engineers must learn and adopt technologies that didn't even exist when they started out. Developers must constantly retool themselves, even well after their formal education ends.
Nnamdi Iregbulem • Why We Will Never Have Enough Software Developers
Bad code gives you feedback, perfect code doesn’t. Err on the side of writing bad code
It’s really easy to write terrible code. But it’s also really easy to write code that follows absolutely every best practice, which has been unit, integration, fuzz, and mutation-tested for good measure – your startup will just run out of money before you finish.... See more
It’s really easy to write terrible code. But it’s also really easy to write code that follows absolutely every best practice, which has been unit, integration, fuzz, and mutation-tested for good measure – your startup will just run out of money before you finish.... See more
Marcus • Marcus' Blog
Don’t underestimate the value of digging into history to investigate some bugs
I’ve always been pretty good at debugging weird issues, with the usual toolkit of println and the debugger. So I never really looked at git much to figure out the history of a bug. But for some bugs it’s crucial.
I recently had an issue with my server where it was leaking... See more
I’ve always been pretty good at debugging weird issues, with the usual toolkit of println and the debugger. So I never really looked at git much to figure out the history of a bug. But for some bugs it’s crucial.
I recently had an issue with my server where it was leaking... See more
Marcus • Marcus' Blog
This pattern (set up, do work, clean up) is common across many different problem domains, so Python has a language feature to help with it. Context managers, defined using the with keyword, manage the setup and cleanup processes. Python's file objects support them, as do most database libraries.
Execute Program
Dec. 19 • Advice for new software devs who've read all those other advice essays
Spending time sharpening the axe is almost always worth it
You’re going to be renaming things, going to type definitions, finding references, etc a lot ; you should be fast at this. You should know all the major shortcuts in your editor. You should be a confident and fast typist. You should know your OS well. You should be proficient in the shell.... See more
You’re going to be renaming things, going to type definitions, finding references, etc a lot ; you should be fast at this. You should know all the major shortcuts in your editor. You should be a confident and fast typist. You should know your OS well. You should be proficient in the shell.... See more