What are some top programming books you can really recommend?

In the earliest days of my dev career, I was lucky to be shown these programming books and they have helped me a long way.

Sharing here with hope you can skyrocket your dev career 🧵
📚 Code Complete: A Practical Handbook of Software Construction

Written by Steve McConnell in 1993, this book is considered one of the best practical guides to programming. Learn about optimal coding styles, integration, testing, and craftmanship.

amazon.com/Code-Complete-…
📚 The Pragmatic Programmer: From Journeyman to Master

Have you read about the broken windows theory? Or the story of the stone soup? Or the boiling frog?

Throughout the stories in the book, you will learn many development methodologies and caveats

amazon.com/Pragmatic-Prog…
📚 Head First Design Patterns

Software design pattern is a general, reusable solution to a commonly occurring problem.

The first chapter with Bird inheritance example that leads to Strategy pattern hooked me right away.

amazon.com/Head-First-Des…
📚 Agile Principles, Patterns, and Practices in C#

Do you know what Agile really is? After reading this book, I understand principles in Agile methodology, together with techniques like TDD, UML, and effective Pair Programming.

amazon.com/Agile-Principl…
📚 The Art of Unit Testing

Written by Roy Osherove, one of my favorite authors about testing, refactoring, and leadership.

This helps me understand the true benefit of testing, together with many practical techniques about unit and integration tests.

amazon.com/Art-Unit-Testi…
📚 Refactoring to Patterns

This has been from 1994, but its catalog of 27 pattern-directed refactorings, featuring real-world code examples are never old.

Do you struggle with refactoring? You can even find multiple implementations of the same pattern.

amazon.com/Refactoring-Pa…
📚 Effective Java

Although this book is about Java, I've learned and applied many of the best practices in this book in my day-to-day work with Swift.

amazon.com/Effective-Java…
📚 Eloquent Javascript

Some may dislike Javascript, but we can't deny that it is a fundamental language you can't ignore, either in Web, Backend, or even embedded WebKit. Great to learn the fundamental of Js in a good way.

eloquentjavascript.net
📚 Learn You a Haskell

Functional programming is the art of applying and composing functions. I've learned a great deal from this book about data type and pure functions, and some advanced concepts like monads.

learnyouahaskell.com
Hope you find these books useful as I do. What are some other books you can recommend?

If you like this thread, please consider

❤️ Like
🔁 Retweet for others to see.
👋 Follow me @onmyway133 for more sharing about tech.

• • •

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

Keep Current with Khoa 🔥

Khoa 🔥 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 @onmyway133

2 Aug
Recently I've started reviewing system design and algorithms. While this is not for interview purposes, I find that this knowledge helps in both daily job and indie projects.

Below are a few resources that I've learned and I highly recommend. Thread 👇
1) System Design

System design is about defining architecture and modules interface to satisfy requirements. Whether you're working in a team or solo, clarifying requirements on what you want to do and what is exactly the problem, is most important.
2) System Design concepts

You don't need a CS degree to get started, but by reviewing system design, you know these concepts, which you need everywhere you go

📦 Database: SQL vs NoSQL
🗃 Cache
🥊 Scaling
🗳 CND, Load Balancing, Proxying
🎻 Connection: TCP, Polling, Socket
Read 10 tweets
2 Jul
SwiftUI ViewBuilder is resultBuilder, and from Swift 5.3 you can declare if let, if case, multiple if statements, switch, ... pretty much like a normal block function.

ViewBuilder is recommended to leverage SwiftUI type system to ensure performance. Here are a few examples 👇
Local variables.

Pretty much like a normal function, you can declare local variables and return View at last.
Mix if and switch statements

This is handy when you want to show modal or overlay of different Views
Read 6 tweets
6 May
What are some essential online tools that help you in your day-to-day development tasks?

Here are the tools I can't live without

Thread 👇
⌨️ Quick Type by @quicktypeio

Convert JSON into gorgeous, typesafe code in any language. I use this a lot to quickly generate Swift models from server JSON response. It generates very elegant enum handling and optiona

quicktype.io
👨‍🍳 CyberChef by GCHQ

The app is open-source and contains lots and lots of tools to convert texts, images, and formats languages

Great to have al things in 1 place

gchq.github.io/CyberChef/
Read 9 tweets
3 May
"Software developers are the most likely to get divorced"

This is something my professor said during a lecture at university, and it's a lesson I always remember

It's not just about developers, but for anyone who values work above all things, who only care about themselves
We tend to focus mostly on computer programs that are either 0 or 1. Life has more shades than that.

How many millionaires and billionaires have you seen that have a failed marriage, or neglected home life?
Family is not for everyone. It's a lot of work. It requires your ultimate responsibility and caring.

If your marriage falls apart then all your hard work gets wasted. You will be miserable and distracted by the negative things that come with divorce.
Read 6 tweets
29 Apr
How to make your apps stand out on the @AppStore?

Besides coming up with a good idea and building the app, there are many other things you can do to boost your apps' visibility #iosdev

Thread 👇
🧑‍🎨 Apple Human Interface Guidelines

HIG provides in-depth information and resources to design great apps. Not only you learn the fundamental of colors and fonts, you also learn how elements are used in Apple own apps as best practices

developer.apple.com/design/human-i…
🏆 Apple Design Award

My most favorite session every WWDC is watching Apple Design Award. Learn how awesome apps demo design, innovation, and technology on Apple platforms, and why @Apple decide they deserve the price

developer.apple.com/design/awards/
Read 26 tweets
10 Feb
I've done some #SwiftUI lately for @pushheroapp @PastePalApp , and amazed by how easy and fun it is to make apps. If you want to get into SwiftUI but don't know where to start, here are my recommended resources #iosdev

Thread 👇
1) First thing first is @Apple official guides. Apple has done a stunning job to make SwiftUI tutorials fun and interactive

- Introducing SwiftUI developer.apple.com/tutorials/swif…
- Develop Apps with SwiftUI developer.apple.com/tutorials/app-…
- Creating a macOS App developer.apple.com/tutorials/swif…
2) Next is a mini-series focusing on fundamental blocks which are Stack and ScrollView

- Creating Performant Scrollable Stacks developer.apple.com/documentation/…
- Aligning Views Across Stacks developer.apple.com/documentation/…
- Building Layouts with Stack Views developer.apple.com/documentation/…
Read 18 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

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!

Follow Us on Twitter!

:(