Bookmarks tagged with "software-development"

  • Stripe's monorepo developer environment

    I worked at Stripe for about seven years, from 2012 to 2019. Over that time, I used and contributed to many generations of Stripe’s developer environment – the tools that engineers used daily to write and test code. I think Stripe did a pretty good job designing and building that developer experience, and since leaving, I’ve found myself repeatedly describing features of that environment to friends and colleagues. This post is an attempt to record the salient features of that environment as I re...

  • GitHub Repositories Every Software Engineer Should Know

    Finally, after a long time, I am realizing my desire to write articles to help other software engineers advance their careers. With this, I intend to help them improve their knowledge while allowing myself to learn and grow during the process. In my first article, I present to you a compilation of interesting repositories for all software engineers who seek to stay updated and improve their skills whenever possible, regardless of their level or position. Let's get straight to it, organized by ca...

  • Individual efficiency vs administrative efficiency

    source Everyone has their own favorite note-taking app: Notion versus Google Docs versus Apple Notes versus OneNote versus Obsidian. Dropbox Paper shrieking “what about me?” into the void. I wrote this article in source From the individual’s point of view, the optimal company policy is to allow everyone to use whatever app they like. It’s both From the team’s point of view, however, this is a bad policy. I don’t want to learn how pseudo-database-table-thingies work in Notion, but Bear doesn’t ...

  • How I program in 2024

    Jul 31, 2024 How I program in 2024 I talk a lot here about I just spent After mulling it over for a few days, I think my current synthesis on In my case, tests and versions actively hindered getting to the end of this evolution. Tests let me forget concerns. Version control kept me attached to the past. Both were counter-productive. It took a major reorientation to let go of them. All the software I've written in my life — and all my Freewheeling Apps so far — are at level 6 in this trajector...

  • Laziness is the source of Innovation and Creativity

    A few days ago, I posted the following on Twitter. Lazy people innovate. The one who invented multiplication did not want to add numbers all life. I truly believe that this is true. The answer boils down to the fact that by doing all of that, we commit less mistakes and hence we have a more bug free code. Our job as programmers is not to churn out huge chunks of code everyday. Our job is to think innovative ways to solve a problem. Code is not the main product we are looking for. Code is not wha...

  • How to create software quality.

    I’ve been reading Steven Sinofsky’s If I wrote that in an internal memo, I imagine the engineering team would mutiny, but software quality is certainly an interesting topic where I continue to refine my thinking. There are so many software quality playbooks out there, and I increasingly believe that all these playbooks work For example, pretty much every startup has someone on an infrastructure team who believes that all quality problems can be solved with a sufficiently nuanced automated rol...

  • Don’t fix it just because it’s technical debt.

    Many kinds of problems get classified as technical debt. Most generally it’s problems where: Engineers hate waste. Waste makes us want to barf. So it’s obvious to us that technical debt must be faced head-on and At least #1 is internally consistent. #2 is scatter-brained. Why should we only spend part of our time doing work that maximizes value, and the rest of our time doing other, less optimal work? A realistic manager would say, “If you have a proposed improvement that’ll reduce wasted effor...

  • Understanding How the Brain Reads Code Versus Language - learnhub

    While both programming and reading a natural language involve deciphering symbols and instructions, recent research indicates that our brains process these tasks differently. This distinction sheds light on the unique cognitive demands of coding and offers insights into how programming should be taught. Research by neuroscientists at MIT reveals that reading computer code does not engage the brain’s language centers. Instead, it activates the multiple demand network, which is involved in complex...

  • The Forensics Of React Server Components (RSCs) — Smashing Magazine

    Lazar Nikolov is a Web Performance Developer Advocate at Your (smashing) email Weekly tips on front-end & UX We love client-side rendering for the way it relieves the server of taxing operations, but serving an empty HTML page often leads to taxing user experiences during the initial page load. We love server-side rendering because it allows us to serve static assets on speedy CDNs, but they’re unfit for large-scale projects with dynamic content. React Server Components (RSCs) combine the best ...

  • Writing commit messages

    [Simon Tatham, 2024-05-19] This is my personal guide to writing good commit messages, in Git or other version control systems. Of course, there are lots of guides to commit messages already. Why am I bothering to write Mostly because, when I’ve looked at other guides, they don’t seem to be focusing on the most important things. The one that first started me making notes towards this article consisted of a 7-point list of guidelines, To my way of thinking, that’s focusing on the trivial and neg...