Engineering Manager โ€ข Software Developer โ€ข Cyclist โ€ข Father

Joined June 2016
248 Photos and videos
Facts ๐Ÿ‘‡๐Ÿผ
Someone builds a project management tool with Claude Code over a weekend. Ships it. Tweets "just replaced Jira." The app works. One user, happy path, localhost. Then two people edit the same record simultaneously, and the data is silently corrupted. They don't know what an optimistic lock is. They never needed to before. The prototype is maybe 1% of what makes software actually work. The other 99% is what you find after real users show up: race conditions, failed transactions, sessions expiring at the wrong moment, a payment webhook that fires twice and charges someone double. AI didn't cover any of that. It built exactly what you asked for. And the confidence is the worst part. "Just need to adjust a few things before we go live." The few things you need to adjust are the product. That's like laying a foundation and telling people you basically built the house. Vibe coding works. For personal tools, throwaway scripts, and prototypes you'll never put in front of paying users, it's genuinely fast and good enough. I use it. But there's a hard ceiling, and it shows up the moment the stakes get real. Agentic engineering is a different discipline. You're not prompting for code. You're decomposing problems, designing system boundaries, writing specs precise enough that the agent doesn't go sideways. You review everything it builds, because it will make mistakes that only look wrong if you know what correct looks like. You guide it. You catch what it misses. If you don't know what a distributed transaction is, the agent won't save you. It'll generate something broken with complete confidence, and you won't know until production. The hard part of software was never writing the first 200 lines. It never was.
1
36
Vibe coding. The new doomscrolling
15
J o s h | G r a y retweeted
Just start.
2
17
138
11,250
J o s h | G r a y retweeted
ASP .NET Core Best Practices ๐Ÿ’ก #dotnet Nice article providing guidelines from Microsoft for maximizing performance and reliability of ASP .NET Core apps. Which of these techniques are you using in your apps right now? Link in 2nd tweet below.
8
59
353
21,903
J o s h | G r a y retweeted
๐—•๐—ผ๐—ผ๐—ธ๐˜€ ๐—˜๐˜ƒ๐—ฒ๐—ฟ๐˜† ๐—ฆ๐—ผ๐—ณ๐˜๐˜„๐—ฎ๐—ฟ๐—ฒ ๐—˜๐—ป๐—ด๐—ถ๐—ป๐—ฒ๐—ฒ๐—ฟ ๐— ๐˜‚๐˜€๐˜ ๐—ฅ๐—ฒ๐—ฎ๐—ฑ ๐—ถ๐—ป ๐Ÿฎ๐Ÿฌ๐Ÿฎ๐Ÿฑ. You probably already noticed that I'm a big fan of reading. You can learn from knowledgeable people by working directly with them or reading what they have written. The first option is the best, yet it is often impossible. We have books written by people who were probably the best at this in the world at the time of writing. If we look at the software engineering world, there are many gems here, but I will recommend the best books per area of work. These books will help you not only to become good at specific technology but to become a great software engineer overall. ๐Ÿญ. ๐—š๐—ฒ๐—ป๐—ฒ๐—ฟ๐—ฎ๐—น: ๐Ÿ”น The Pragmatic Programmer by David Thomas and Andrew Hunt (amzn.to/3KzpVwj) ๐Ÿ”น Code Complete: A Practical Handbook of Software Construction (amzn.to/3xbRF5O) ๐Ÿ”น Modern Software Engineering by David Farley (amzn.to/3kqZaQ6) ๐Ÿ”น Software Engineering at Google (abseil.io/resources/swe-book) ๐Ÿฎ. ๐—–๐—ผ๐—ฑ๐—ถ๐—ป๐—ด ๐—ฝ๐—ฟ๐—ฎ๐—ฐ๐˜๐—ถ๐—ฐ๐—ฒ๐˜€: ๐Ÿ”น Clean Code by Uncle Bob Martin (amzn.to/3KyVoyV) ๐Ÿ”น Head First Design Patterns by Eric Freeman (amzn.to/3Kzq2YX) ๐Ÿ”น Refactoring by Martin Fowler (amzn.to/3m8bAgo) ๐Ÿฏ. ๐——๐—ฎ๐˜๐—ฎ ๐˜€๐˜๐—ฟ๐˜‚๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ๐˜€ ๐—ฎ๐—ป๐—ฑ ๐—ฎ๐—น๐—ด๐—ผ๐—ฟ๐—ถ๐˜๐—ต๐—บ๐˜€: ๐Ÿ”น Grokking Algorithms (amzn.to/3ksUw4e) ๐Ÿฐ. ๐——๐—ฎ๐˜๐—ฎ: ๐Ÿ”น Learning SQL by Alan Beaulieu (Free - r-5.org/files/books/computerโ€ฆ) ๐Ÿฑ. ๐—ง๐—ฒ๐˜€๐˜๐—ถ๐—ป๐—ด: ๐Ÿ”น Growing OO Software by Tests by Steve Freeman (amzn.to/3xRVaeB) ๐Ÿ”น TDD by Example by Kent Beck (amzn.to/3EEHwiC) ๐Ÿ”น Unit Testing Principles, Practices, and Patterns by Vladimir Khorikov (amzn.to/3ZBZYAJ) ๐Ÿ”น The Art of Unit Testing by Roy Osherove (amzn.to/3kr7m2K) ๐Ÿฒ. ๐—”๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ: ๐Ÿ”น Fundamentals Of Software Architecture by Mark Richards and Neil Ford (amzn.to/3xQ1EuD) ๐Ÿ”น A Philosophy of Software Design by John Ousterhout (amzn.to/3IopUZm) ๐Ÿ”น Clean Architecture by Uncle Bob Martin (amzn.to/3ERwsPw) ๐Ÿ”น Domain-Driven Design Distilled by Vaughn Vernon (amzn.to/41slJoo) ๐Ÿ”น Software Architecture the Hard Parts (amzn.to/3Zmg15r) ๐Ÿณ. ๐——๐—ถ๐˜€๐˜๐—ฟ๐—ถ๐—ฏ๐˜‚๐˜๐—ฒ๐—ฑ ๐˜€๐˜†๐˜€๐˜๐—ฒ๐—บ๐˜€: ๐Ÿ”น Understanding Distributed Systems by Roberto Vitillo (amzn.to/3XZOFkG) ๐Ÿ”น Designing Data-Intensive Applications by Martin Kleppman (amzn.to/41uO65o) ๐Ÿด. ๐——๐—ฒ๐˜ƒ๐—ข๐—ฝ๐˜€: ๐Ÿ”น DevOps Handbook by Gene Kim (amzn.to/3m4iJ16) ๐Ÿ”น Continuous Delivery by Jez Humble and David Farley (amzn.to/3ECoVUo) ๐Ÿ”น Accelerate by Nicole Forsgren (amzn.to/3StOug6) ๐Ÿต. ๐— ๐—ฎ๐—ฐ๐—ต๐—ถ๐—ป๐—ฒ ๐—น๐—ฒ๐—ฎ๐—ฟ๐—ป๐—ถ๐—ป๐—ด: ๐Ÿ”น The Hundred-Page Machine Learning Book (amzn.to/3Y1SIwN) ๐Ÿ”น Designing Machine Learning Systems (amzn.to/4cw5FHM) #softwareengineering #programming #learning
13
150
982
67,550
J o s h | G r a y retweeted
11 Jan 2025
My Favorite 10 Books for Software Developers General Advice 1 - The Pragmatic Programmer by Andrew Hunt and David Thomas 2 - Code Complete by Steve McConnell: Often considered a bible for software developers, this comprehensive book covers all aspects of software development, from design and coding to testing and maintenance. Coding 1 - Clean Code by Robert C. Martin 2 - Refactoring by Martin Fowler Software Architecture 1 - Designing Data-Intensive Applications by Martin Kleppmann 2 - System Design Interview (our own book :)) Design Patterns 1 - Design Patterns by Eric Gamma and Others 2 - Domain-Driven Design by Eric Evans Data Structures and Algorithms 1 - Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein 2 - Cracking the Coding Interview by Gayle Laakmann McDowell Over to you: What is your favorite book? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/bbg-social
14
205
1,014
90,796
J o s h | G r a y retweeted
๐—ง๐—ต๐—ฒ ๐—•๐—ฒ๐˜€๐˜ ๐—˜๐—ป๐—ด๐—ถ๐—ป๐—ฒ๐—ฒ๐—ฟ๐—ถ๐—ป๐—ด ๐—•๐—น๐—ผ๐—ด๐˜€ ๐—ง๐—ผ ๐—™๐—ผ๐—น๐—น๐—ผ๐˜„ ๐—ถ๐—ป ๐Ÿฎ๐Ÿฌ๐Ÿฎ๐Ÿฑ. Here is the list of software engineering blogs I follow regularly to upgrade my engineering skills: 1. LinkedIn Engineering: engineering.linkedin.com/ 2. Engineering at Meta: engineering.fb.com/ 3. Dropbox Tech Blog: dropbox.tech/ 4. Spotify Engineering: engineering.atspotify.com/ 5. Netflix Tech Blog: netflixtechblog.com/ 6. GitHub Engineering: github.blog/engineering/ 7. Stripe Blog: stripe.com/blog 8. Uber Engineering Blog: uber.com/en-RS/blog/engineerโ€ฆ 9. Slack Engineering Blog: slack.engineering/ 10. Engineering@Microsoft: devblogs.microsoft.com/enginโ€ฆ 11. Airbnb Tech Blog: medium.com/airbnb-engineerinโ€ฆ 12. AWS Architecture: aws.amazon.com/blogs/architeโ€ฆ 13. Discord Blog: discord.com/blog 14. Figma Engineering: figma.com/blog/engineering/ 15. Instagram Engineering: instagram-engineering.com/ 16. Pinterest Engineering: medium.com/pinterest-engineeโ€ฆ 17. StackOverflow Engineering: stackoverflow.blog/engineeriโ€ฆ 18. Twitter Blog: blog.x.com/engineering/en_us 19. Notion Tools: notion.com/blog/topic/tech 20. Discord Blog: discord.com/blog What should be added to this list?
2
17
62
3,954
J o s h | G r a y retweeted
Using .NET Keyed Services with Strategy pattern #dotnet I posted a strategy pattern example yesterday and someone on LinkedIn suggested using Keyed Services in .NET could simplify things. Hadn't really considered this, but using Keyed Services seems to negate the need for the context class we see in traditional implementations of the strategy pattern. Two examples below โฌ‡๏ธ One using Enums for strong typing and the other using plain strings for simplicity. What do you think?
23
39
186
15,071
Visiting Cape Town from Ireland for the Christmas/New Year holidays. Thought my euros would go far here. They didnโ€™t. Cannot believe how expensive this place has gotten in less than 2yrs.
28
J o s h | G r a y retweeted
Today we got banned by GitHub. The rate of new repos and commits created by our users was putting too much strain on their infra. A single AI codegen startup generating so much code that it makes Github struggle is an early indication of how much software that AI will produce from here on out.
Community note
The repo in question, Lovable, was banned from Github due to violating their Terms of Service, not because they โ€œput too much strain on their infraโ€ x.com/lovable_dev/stโ€ฆ
91
136
2,225
485,037
J o s h | G r a y retweeted
Want to level up as a software engineer? My 4 predictions for 2025. 1. Become best friends with AI tools. Not just using them but also understanding their strengths and limitations. Spend time learning prompt engineering and when NOT to use AI. Cursor Claude Sonnet are my go-to AI coding tools. GitHub Copilot is catching up quickly (keep an eye on it). 2. Master the art of learning in public. Share your debugging journeys, document your failures, and build in the open. The best engineers I know aren't just building - they're bringing others along through detailed technical blogs and thoughtful code reviews. Almost no one is doing this, so it's an easy way to stand out. 3. Develop your systems thinking muscle. Modern engineering isn't about individual services anymore. Whether you're dealing with distributed systems or simple APIs, understanding how everything connects (and fails!) is crucial. Observability and monitoring will be even more important. 4. Prioritize sustainable development (not what you think). This means writing maintainable code, yes, but also maintaining YOUR sustainability. Regular breaks, deep work sessions, and knowing when to step back are crucial engineering skills. What would you add to this list? P.S. Stay awesome!
3
15
104
6,999
Somebody over at CrowdStrike is having a very stressful day
52
J o s h | G r a y retweeted
๐—ฆ๐˜‚๐—ฐ๐—ฐ๐—ฒ๐˜€๐˜€ ๐—ถ๐˜€ ๐˜„๐—ผ๐—ฟ๐—ธ๐—ฒ๐—ฑ ๐—ผ๐—ป! Which quote resonates for you? In any case, to succeed is to want, try, fail, and try again to succeed finally! You need a winning mindset! I wish you a great week ahead ๐Ÿ‘‹! #leadership #personaldevelopment #success #careers #techworldwithmilan
7
21
5,601
Accurate!
Staff engineers after they become engineering managers.
1
27
J o s h | G r a y retweeted
1/2 masters thesis help needed: If youโ€™ve completed a Cycling Ireland coaching course and are currently coaching at the grassroots level, Iโ€™d love to connect with you. Unexpectedly, some participants have had to withdraw
2
10
6
5,043
True story!
The longer you spend in tech, the stronger the urge to buy a farm and never touch a computer again in your life
1
30
J o s h | G r a y retweeted
Registration for #TheDES24 now open. Closing Friday 22nd March 9pm. Early entry would be appreciated by our organising committee. ๐Ÿ‘‡eventmaster.ie/event/vvercPoโ€ฆ
2
1
236