First Design Patterns: A Brain-Friendly Guide

Head First Design Patterns: A Brain-Friendly Guide


Full-stack engineer having trouble breaking into an Android Dev role
What’s so special about design patterns?At any given moment, someone struggles with the same software design problems you have. And, chances are, someone else has already solved your problem. This edition of Head First Design Patterns—now updated for Java 8—shows you the tried-and-true, road-tested patterns used by developers to create functional, elegant, reusable, and flexible software. By the time you finish this book, you’ll be able to take advantage of the best design practices and exper…

More about the book on Amazon

Most upvoted comment

Most popular programming book on Reddit. rank no. 14

Full-stack engineer having trouble breaking into an Android Dev role(r/androiddev)

Android team lead here, I’ve been working with Android commercially since 2009 (before Android 2.0 was released) and have worked at, or done work for, some big companies (Mozilla, Intel, Google, HTC…). I was in a very similar situation to you in that I was a web development and was bored, I’d been playing with Android in my spare time; I got my first break by volunteering to do an android app at the company I worked for, and went from permanent employee to contractor fairly quickly after that and have been doing it ever since.

First thing to say is that if you can get your currently company to pay you to learn android and stay with them, that’s a win win for both parties (you get to learn something new without a drop in salary and don’t have to interview and they don’t lose a good member of staff).

In terms of moving company, I don’t know where you are based, but here in the UK I often see junior Android contract roles coming up for £200-300 a day. Failing that it’s just a case of applying for lots of poisitions and really knowing your stuff.

What I would look for in a junior is to have read, understood and put in to practice Clean Code (…) and Design Patterns (…). I would expect you to have a good understanding of basic Java and OOP; a working understanding of MVP or MVVM (…,…); understand threading; know about all the major parts of Android (Services, Broadcast receviers, Activities, Fragments etc); know how to write a custom view; be able to efficiently design a layout in XML and correctly apply styles and themes; understand the support libraries – what they contain, why they exist and what they are used for (and also when you don’t need them); understand the difference between unit testing and integration testing and know what makes for a good test; the Gradle build system is a really nice way of defining your project build – knowing the fundamentals is essential.

A few of the main libraries I’d expect you to know and have used would be OkHttp (, Retrofit (, Butterknife (, Picasso ( or some other image loading library, GSON ( or Moshi ( or some other json parsing library

If you want to level up then there are loads of advanced topics surrounding Android. Any of these following topics will take a while to learn, but will be worth it and will look good in interviews and on you CV:

There’s so much more – this is a large topic and it’s easy to feel overwhelmed (I know I did & do) but the sheer amount of stuff to learn, but take it slowly and it’ll come. The best way that I found to learn all of this stuff is to have a personal project which I was working on (I started doing an app which teaches you how to play guitar – never released it but learned so much). Get the fundamentals down and them start looking at some of the more advanced things. A good test app would be to write a Reddit client (they have open APIs: – this will get you up to speed on networking, background services (to poll the API to see if you have any messages) etc

Let me know if this helped or if you want to chat about stuff. Happy to help.


More details about a book.

Additional Information



Number Of Links


Sum Of Upvotes


Amazon Price


Book Binding


Type Code


Book Author

Eric Freeman

Book Edition


Book Publisher

O’Reilly Media

Book On Amazon

Head First Design Patterns: A Brain-Friendly Guide

Post Title

Full-stack engineer having trouble breaking into an Android Dev role

Reddit Gold


Post Permalink


More about the book on Amazon