1

What are some of good resources to learn basic concurrency and design patterns using them?

Profile picture
Senior Software Engineer at Taro Community23 days ago

I have been an Android engineer for over 5 years and have used the tools and frameworks provided by the OS - like Intents, Executors, Threads and even Kotlin Coroutines. I have been working on some large scale designs involving both frontend and backend and I feel like a novice when it comes to concurrency.

There are ton's of resources to learn but based on your real world experience, whats the best way to learn these design patterns?

24
2

Discussion

(2 comments)
  • 0
    Profile picture
    Tech Lead/Manager at Meta, Pinterest, Kosei
    19 days ago

    I worked as an Android developer in larger companies like Pinterest and Meta, both of which had well-defined patterns for handling asynchronous/concurrent work. So I didn't get much of a chance to learn "vanilla" ways of handling async operations.

    What helped me tremendously was to teach the concept to others. That's what I did with Kotlin coroutines in this YouTube video: Kotlin Coroutines: Getting Started in Android - Beginner Tutorial.

    I'd encourage you to follow some existing resource, but then pretend that you have to teach the concept to a colleague in a tight video or blog post.

  • 0
    Profile picture
    Mentor Coach for SWEs | Former Staff Software engineer
    15 days ago

    I'd read https://docs.oracle.com/javase/tutorial/essential/concurrency/.

    I also highly recommend Joshua Bloc's Effective Java to build rock solid knowledge of the JVM internals