Dev Tip 🔥: Should you learn that next hot technology? Everyone's talking about it!

Will it really **transform** the way you make software and solve customer problems?

Sad news: Nope. Not _that_ much.

(Keeping reading for 30+ things that do! 👇)
We are obsessed with learning about more tools and languages!

If your architecture is bad, you're solving the wrong problems, your client doesn't understand when you try to explain things... then shiny tools don't help.

And these are fundamental to your business' success!
Imagine, someone who's mediocre at archery. Should they get a new expensive bow? Will it make them shoot better? Sure. A little bit.

Will it make them a professional? Nope.

OK... then, what will?
✔Learning and mastering the fundamentals of archery
✔Learning how the pros. do it and applying those techniques
✔Practice a lot
✔Figure out what techniques you use that are actually hindering from getting to the "next level"
Sure, modern tooling can make things easier. But, the best use of your time is to master programming fundamentals and techniques.

These are concepts and techniques that can be used in any programming language, regardless of tooling.
Examples:

✔ SOLID
✔ Design patterns and what problems they solve
✔ Knowing how to refactoring
✔ Knowing how to debug
✔ Understanding inheritance and the benefits + pitfalls of it
✔ Encapsulation
✔ Message passing techniques
✔ Data structures (when/how to use)
✔ Understanding functional programming techniques
✔ Architecture and systems design
✔ How to organize your code
✔ How to estimate well
✔ How to plan a software project well
✔ How to communicate well with co-workers
✔ How to communicate well with non-programmers
✔ How to recover a failing project
✔ How to deploy software
✔ How to use and configure automated builds
✔ How to make proper unit tests
✔ How to make proper integration tests
✔ Asynchronous code
✔ Discovering how business processes actually work for your business
✔ Placing boundaries around code modules
✔ Relational database design
✔ Graph database design
✔ Document database design
✔ When to use relational vs. graph vs. document?
✔ How to modularize monoliths?
✔ How to know what product features are necessary
✔ How to know what product features are unnecessary
✔ Understanding the industry your business solves for
✔ How to write documentation well
✔ How to present well
✔ How to hire other developers
✔ How to teach other developers
✔ How to "level-up" an entire team
✔ How to decipher whether a "new" concept in the industry is actually an old one with a different name
✔ Etc.
Any more you can think of? Leave a comment!
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to James Hickey 🇨🇦👨‍💻
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


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

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

Become Premium

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

Donate via Paypal Become our Patreon

Thank you for your support!