Lara's Q&A — vol. 1

Questions about technology, Software Development and careers

Lara Martín
Jun 17 · 4 min read

Here I answer some of the interesting questions I received via

Q: I just started learning Android. Should I learn Kotlin or Java?

I would focus first on the basics of Android, and learn Java or Kotlin on the go. Later on you can learn the best practices for each programming language. As an Android Developer, you'll probably use both Java and Kotlin, depending on the project you're working on, as you will probably have to maintain both at work.

Don’t worry, once you are able write in one programming language, the next programming languages will be easy to learn! 🙂

Q: People suggest me to learn JavaScript. I like learning Android with Kotlin and Java. Most of the job postings I see are for JavaScript positions. Should I learn JavaScript or Android?

If there's a lesson I learned is that you should focus on things you're passionate about. I learned Android because I loved it. I am learning Flutter because I enjoy it.

It's true it's more difficult to find entry level jobs for Android than other platforms. It also depends on the area you live, though. So keep in mind the local market, specially if you're starting. Participate in local communities to see how it is. That can also help you decide. I personally found the Berlin Android community awesome and that helped me.

Q: How to progress to tech lead?

I haven't done that. I have only seen people getting into that role. For me, a good tech lead is not someone that only has a great technical knowledge and can work cross teams taking important technical decisions. But someone who is good at working with people, at communicating with all roles and levels, and can help others grow.

It's difficult to find this kind of roles in the market, but it seems those roles appear naturally as the team grows. Be good at communication, organization and personal time management, and you will grow into the role.

Q: How do some of the famous twitter devs get time to write blog posts on all the latest tech?

I often ask myself the same. I can only answer from my own experience. The truth is that I dedicate part of my free time for creating blog posts, talks and learning. You can find time during the day in some ways. For example, when I work from home and don't commute, that saves me 1.5h that I can use for it. The support I get from my family is also crucial, otherwise it would be almost impossible.

Q: How to start contributing to open source?

The easiest way I found is fixing documentation, typos and examples. Reporting bugs is also very important, even better if you can create projects or tests that can reproduce the issue.

You can also create examples for existing libraries, to help others learn how to use it. For example the architecture samples for Flutter.

Q: What’s your preferred state management approach in Flutter?

I don't have a preferred one. All have their advantages and disadvantages. I'm right now using ScopedModel for a small project. Next I want to give a try to Provider, which I haven't used yet.

Q: What should I expect at my final onsite interview?

It depends on the hiring process. If you already had the technical interview, then at your final onsite you will probably talk with managers and spend some time getting to know the team.

The worst part already passed, just be nice and be yourself. At this stage you are very very close to get in. Take the opportunity to see if they are the right fit for you. They will be doing the same.

Q: How can I change my career into programming?

Long story short: I started learning programming a long time ago, but I was never focusing on it. I took my first step into tech by getting a job as Quality Assurance. During that time, I spent my evenings and weekends learning Android programming. By already being a QA, it made my switch to professional Android development less difficult.

I wrote some blog posts about my path that will give you more details:

Q: What are the topics an Android developer needs to know to work in cool tech companies like Blinkist?

If you want to work on a modern code base you "need" to know: RxJava, Dagger, architecture patterns like MVP and MVVM, Kotlin and testing. You don't have to be an expert on those, but you need to know how to explain concepts to your peers, like what they do or why you need those libraries.

Q: Can you be my mentor?

Sometimes I get this question. Unfortunately I cannot be your mentor, as I barely have time ☹️.

I suggest you to go to local meetups and study groups. Finding one peer is all it takes, so that you will be able to help each other! You have to be accountable for each other: if you say you will study every weekend, you need them to check you are doing that.

Thank you all for taking the time to send me questions 😊 If you have any question you would like to send me, you can do it directly here or on Twitter at 😃

Thanks to Sebastiano Gottardo and Miguel Beltran.

Lara Martín

Written by

Android Developer | Flutter/Dart GDE | I like cute things (✯◡✯)