Jeremy Daly Profile picture
Nov 4, 2021 25 tweets 5 min read Read on X
Yesterday I turned 43 and realized I've been in #tech for 24 years (I got paid to create my first "professional" website in 1997). Here's 24 things I've learned over the past 24 years. Perhaps you'll find them useful on your journey. 🧵
24. Plan work around your life, not life around your work - I worked 70+ hr weeks in my 20s & early 30s. While I'm sure there's a correlation between that & my "successes", there's also a lot of regret for missed time with family & friends.
23. Be a T-shaped human - There are 3 types of knowledge: the shit you know, the shit you know you don't know, and the shit you don't know you don't know. Specialize in a few things, and gain wisdom by learning the basics of many others.
22. Don't explain it to me like I'm a 5 year old - Most people in business/tech are smart, educated professionals that could talk circles around you on their topics of expertise. Find ways to communicate complexity without patronizing them.
21. Non-technical knowledge is more important than you think - Some of the most amazing technologists I've worked with started off as lawyers, accountants, & teachers. Use the domain expertise you (and others) have, & bring it to the table.
20. Diversity is crucial - Challenge your worldviews, your perceptions, and, most importantly, the status quo. Race, geography, gender, age, and socioeconomic status affect how we interact with technology. Ignore them at everyone's peril.
19. Take the first step, even if you don't know everything yet - Learn by doing, make mistakes, learn from them, and continue to grow. I've spent lifetimes watching courses & reading documentation, but nothing sticks until you apply it.
18. Code is a liability, not an asset - Code needs to be tested, documented, and maintained - all at a significant cost. Build the things that differentiate you from your competitors and buy the rest.
17. Everything that's old is new again - Chances are whatever you're doing has already been done before. Study and learn the lessons from those that have been there, synthesize the knowledge, and apply it to your current technology.
16. There's nothing more important than your data - Interfaces and infrastructures come and go, but your data is the historical record and the ultimate source of truth. Backup often and protect its integrity at all costs.
15. Understand your value - It took me awhile to figure out that trading time for money is a fool's errand (time is finite). This is likely unavoidable early in your career, but as you build expertise, decouple time from the value provided.
14. KISS - Keep It Simple Stupid. Every time you add complexity to a process or system it becomes harder to manage, harder to find the right people to maintain it, and harder to get users to participate. Lose the cruft, and seek simplicity.
13. Microservices aren't always the answer - I've built 100s of monolithic apps, SOAs, microservices, and #serverless apps. There's a time and place for microservices, but if you're starting something new, this is likely not it.
12. Security should always be top of mind - I still have nightmares about a SQL injection attack from 2007. A dev didn't escape one input and a hacker bot injected scripts on every product page. The OWASP Top 10 are my new commandments.
11. Fail fast, often, and with grace - I've failed more than I've succeeded, but every failure is an opportunity to learn & grow. The faster we fail, the faster we learn. Accept failure as part of the process, own it, & do it with humility.
10. The best laid plans of mice and tech teams - Projects will go awry, interruptions will happen, strategy changes will come down from management or the client. The only constant is change. Accept it, and do the best with what you've got.
9. Learn how to manage stress - Tech is frustrating and developer burnout is real. Take time off, exercise, find a non-tech related hobby. Too many times stress has pushed me to almost stop pursuing my passion. Don't let it happen to you.
8. Multi-tasking is a myth - Context switching has cost me thousands of hours of productivity. Block your calendar and defend it with every ounce of your being. For me, anything less than a 3 hour block of "maker" time is almost pointless.
7. Those that matter don't mind, and those that mind don't matter - Haters gonna hate. You will face criticism, some justified, most probably not. Find your tribe, be a good human, treat others with respect, and do your best work.
6. Everything takes time - A while back I switched to a "progress" mindset to tackle my impossibly long TODO list. Success won't happen overnight, but consistency of effort, continuous investment, and long term commitments will up the odds.
5. Learn by communicating - There's no better way to clarify your thinking than by trying to articulate it. Write blogs and documentation, speak at conferences or company meetings, and have conversations with others in your field.
4. There's a good chance you're wrong - Start with the assumption that your perception is limited by your experiences and that there's a good chance you're missing something. Others are likely wrong too. Disagree, commit, and test ideas.
3. Always ask questions - You should NEVER be afraid to ask questions! Whether it's a clarifying question, asking to decode an unfamiliar acronym, or simply asking "why?", you'll increase the odds of project success by removing confusion.
2. There's no shortcut for experience - Be humble, take advice from mentors, recognize the limits of your own abilities, and realize that taking a course or reading a book does not make you an expert. Expertise comes with (lots of) time.
1. People are people, treat them like it - Whether they're app users, colleagues, or Twitter critics, they're all unique individuals having a human experience. Be kind, be empathetic, embrace diversity of thought, and be a force for good.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Jeremy Daly

Jeremy Daly Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @jeremy_daly

Apr 22, 2022
There are two major problems with Serverless Aurora v2 that fundamentally miss the mark of true #serverless(ness). One is the inability to auto-pause (as Mike mentions), and the other is the missing Data API. These might make it unusable (for now). ☹️ Some thoughts… 🧵
Let’s start with the “scale to zero” bit. I think it’s unreasonable to expect a production cluster of Aurora to scale to zero and then be instantly accessible following a short cold start. However, this feature is crucial to development and preview environments.
One of the greatest features of #serverless apps is the ability to create “isolated stacks” that mirror production environments. Serverless apps should be as disposable as @QuinnyPig tweets. Spin ‘em up, tear ‘em down, and then move on to the next experiment.
Read 9 tweets
Jan 13, 2022
The responses to Kelsey's tweet illustrate a fascinating disconnect between traditional and #serverless mindsets. If you approach "serverless" like any other compute platform, you're going to be disappointed. Here's why… 🧵
Let me start by clarifying what I mean by a "traditional" mindset. I don't mean "legacy", and I certainly don't mean "wrong". I think of it as the encapsulation and orchestration of compute processes within a single execution stack. This includes both VMs and containers.
The traditional mindset assumes some measure of vertical scaling (e.g. concurrency) within an environment, often relying on some form of statefulness/stickiness, and then graduating to horizontal scaling to achieve higher throughput. Again, nothing wrong with this approach.
Read 18 tweets
Jan 1, 2022
Here is my Ode to the Cloud 2021. Happy New Year, everyone! 🍾🥂🎆 #cloud #serverless
Two thousand twenty-one, a strange year we have seen,
Mixed with lots of highs and lows, and bags of in between.
And even though, most of us, just want to scream out loud,
Plenty of interesting things, did happen in the #cloud.
Jassy went to Amazon 'cause Bezos went to space,
And all without missing a beat, Selipsky took his place.
Munns decided startups, is where his help should aim,
So Talia, James, and others, all stepped up their game.
Read 28 tweets
Dec 23, 2021
Great thread by @loujaybee! The @awscloud strategy has always been "build the primitives and let the ecosystem fill in the rest." But now that we have *most* of the primitives we need, what should AWS focus on next? 🤔 I don't think it's building better dev experiences. A 🧵 1/
Something very interesting happened at this year's @AWSreInvent. For the first time, all the announcements seemed "incremental" as opposed to "transformative." No new service like Lambda, EventBridge, or Step Functions, just upgrades. To me, this signals one thing: maturity. 2/
It's not as though there's nothing left to build, but we're at a point where the foundational pieces not only exist, but are also nearly 100% managed for you. The next frontier (and one of the hardest things with distributed systems) is finding the best way to connect them. 3/
Read 26 tweets
Oct 1, 2021
Everyone got so excited about Graviton2 Lambda functions & Step Functions AWS-SDK integration yesterday that you might have missed this one about triggering Lambda functions from SQS queues in *different* accounts. This is important, a short 🧵 #serverless aws.amazon.com/about-aws/what…
Having multiple AWS accounts to handle different parts of your application (from both a lifecycle and service perspective) isn't just good practice, it's also AWS recommended. 👍 2/9
This is because AWS account separation is the best isolation model for security, scalability, regional controls, service limit management, billing 👈, and much more. 3/9
Read 9 tweets
Dec 2, 2020
Very cool #reInvent session by @sliedigaws about building out distributed applications using different #EventBridge patterns. Let's recap this quickly to see how we can use them to build out our #serverless apps. 🧵
The "single-bus, single-account" pattern is a super simple way to get started, especially if you have a small team. Create logical service boundaries and use a single event bus to decouple the services. This is one of my favorite ways to prototype #serverless applications.
The "single-bus, multi-account" pattern is my go-to for larger apps, and works great for multi-team orgs w/ service-level ownership reqs. Create a *global* event bus, grant access to service accounts for putEvents, and forward events to service-owned buses for rules & routing. 👍
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(