Posts

I had 6 Android interviews during the last two years, here’s the questions plus some lessons I’ve learned

Image
I wrote this blog post at the Udacity forum, thought sharing it here is a good thing. 2 years passed since I started Android development, I was amazed by the amount of resources out there to learn Android, how the community share knowledge and co-operate to make Android development more fun, and how the Android developers attitude grows from just building things to create testable, maintainable, and easy way to communicate … code. Through those 2 years I had bunch of interviews, some go smooth, some not, but each time I look back and see what I missed. Usually the purpose of interviews is to land a job, but it’s also a great way to sense your level of understanding of tools, language and development cycle. I’ve figured a lot of stuff from reading, watching talks, tutorial and of course Udacity materials, I even had this course with MAL, was named “Android fundamentals” back then, and from that point was my start with Android development. So after counting the interviews,...

25 Life Lessons I’ve Learned In 25 Years

Image
1. Cherish your challenges.  This is one of the biggest lessons I’ve learned. When my life looked far from happy, I thought that it wasn’t fair that I had to experience so many difficulties. I wished that I would wake up one day and problems would just disappear. But the more I hoped for having a magic wand, the tenser my challenges have felt. Now I understand that sometimes the shortest way is to walk through the fire and stay open. Don’t close your eyes. Look around and see what the challenges are meant to teach you. 2. Life happens  for  you, not  to  you.  Everything in life happens for our higher good. Especially when we don’t see it. Sometimes the life needs to get us from point A to point B by redirecting our path, and it always feels hard. But at the end of the day, you find out that it’s all happening FOR you not TO you. 3. Honor your uniqueness.  Until I finished high school, I felt like an alien. I felt like I didn’t belong and th...

Live full-time

Hello, again! It was one of that days you used to call “usual”. It was working day. I had just arrived at work and started to setup my environment, to start my IDE, to check my current tasks and something like that. My mind was clear, but I wasn’t full of energy to be productive. I had some unresolved issues in the team, few meetings and lots of development tasks. The day before I was working a lot. I started to get asleep. At moment my eyes became closed I understood one thing. I didn’t use my time carefully. I waste time in public transport, time in waiting meetings, time in waiting my coffee, time in looking one point without any sense (you know this thing, am I right?), time to eat, time to wait somebody’s “urgent” reply, time in call to be silent or mute at all, time to choose task with the highest priority and many-many others. I understood I need to rearrange my schedule. I understood I can do more without any extra costs. ...

Handling data change in RecyclerView gracefully using DiffUtil

Image
DiffUtil  is an Android support library utility class which helps to ease out the process of finding which item changed in a list of data. It helps to calculate the difference between an old list and a new list and trigger updates to list items. If you are new to RecyclerView checkout my previous  posts . DiffUtil can be very useful when showing a list of data using RecyclerView where the data can be changed in future based on new values. Unlike ListView,  RecyclerView’s adapter  provides the following notify methods to only update those items that changed. notifyItemChanged(int) notifyItemInserted(int) notifyItemRemoved(int) notifyItemRangeChanged(int, int) notifyItemRangeInserted(int, int) notifyItemRangeRemoved(int, int) But since it only provides the methods, it is your responsibility to identify what are the changes in the new list compared to the old one and which method to call. This is where DiffUtil is very useful. It can identify data ch...