by veskoiliev | Nov 24, 2019 | Development
Having a side project (often called a “pet project” or “side hussle”) is a great way for every software engineer to improve existing skills or learn new technologies altogether. It provides a safe environment where you can experiment freely and iterate faster. You’re not bound by other people’s requirements so you can try this new cool-looking library still in “alpha” stage. Of course no one (except you) will be upset if things go wrong and everything breaks.
Following are a few tips to make the most of your side project and learn as fast as possible. If you don’t have a pet project yet these will serve as a guideline how to start one.
read more
by veskoiliev | Jul 1, 2018 | Android, Development
RxJava has been gaining popularity in the past couple of years and today is widely adopted in the Android community. So much in fact that I can’t recall an Android developer interview in the past 3 years that doesn’t mention RxJava.
Here is a short list of the most common interview questions I have asked candidates (or been asked as an interviewee). Answers to all questions can be found further down.
read more
by veskoiliev | Jun 23, 2018 | Android, Development
Jacoco is a widely used library to measure test code-coverage in JVM-based projects. Setting it up for Android applications has a few quirks and having multiple flavours, using Kotlin and writing (some) tests in Robolectric makes it even tricker. There are already great tutorials in how to set it up, like THIS and THIS one. In this post however I’ll not only give you a ready solution, but share all details how I got to it – this way you’ll be able to adapt it in the best way for your project.
read more
by veskoiliev | Jun 10, 2018 | Android, Development
This is Part 2 of a short series about optimising your build speeds. If you haven’t already, please check out Part 1, which describes the different build caches you can use.
In this post, I’ll explain some other build properties you can tweak. Let’s start with the Gradle ones.
read more
by veskoiliev | May 30, 2018 | Android, Development
One of my last tasks @ASOS was to investigate the slow build speeds of the Android application. This post is part of a short series about how we approached the problem, what we tried and what we found out. To be clear, don’t expect miracles and 🦄 here, but you’ll get a better understanding of what you can do to optimise your builds.
read more
by veskoiliev | Mar 30, 2018 | Android, Development
Ideally automated tests should be predictable, isolated and precise, allowing you to find an issue quickly. If these conditions are met, you’ll never have to change a test unless to accommodate a changed requirement. This sounds great on paper, but in practice we often forget the isolated bit and start testing multiple things in a single test. If abused, we’ll end up with tests that need updating all the time, causing developer frustration and wasting time.
One tool that can help with isolation of tests is using matchers. As the name suggests, matchers allow you to match an object agains certain conditions.
read more