DEV Community

Cover image for A year as Android Engineer
Lara Martín 👩‍💻
Lara Martín 👩‍💻

Posted on

A year as Android Engineer

Two years ago I started my career in tech. I started as QA Tester and then transitioned into a developer role a year after. Not without a lot of effort and a lot of personal time invested.

You can find that part of the story in this post about how I switch careers from Biology to tech and how I learned Android for a year. Today I want to talk about how I started my first role as Android developer, how I switched companies and how my first year as Android Engineer has been overall.

My first role

My first role as Android developer started out just a year ago. The company I was working at provided me with the opportunity to transition from QA to Android developer by dedicating half of the time to each role.

This transition was thanks to the time I invested learning Android on evenings and weekends. I went through the Android Basics Nanodegree, the Android Developer Nanodegree and as well I got the Google Developers Certification. That part of the story is explained in more detail here.

After two months I switched to full time when they hired another QA. Here's were all the challenges began!

Transitioning someone into a developer role is a lot harder than just providing them with a laptop and a git account. And here I explain some of the roadblocks I got during that time.

Lack of expectations

The first problem I faced was not knowing the expectations that the company had on me. My thought was that they expected me to deliver since the very first day, probably not like my experienced colleagues, but deliver by doing small tasks. This feeling caused me a lot of pressure. By not having clear goals, I was constantly thinking I wasn't good enough and that I was an impostor.

Lack of mentorship

There was no concept of mentorship in the company and the environment didn’t allow us to work together. We barely did pair-programming, because there was always a deadline and the company wanted us to keep delivering. Luckily my colleagues were always willing to help! They sat with me to help me whenever I got stuck or asked for help.

Lack of feedback

I never got any feedback during that time. What was I doing well or bad? What could I improve? I didn't know since I didn’t have anyone whom to report.

Lack of learning culture

I think that in order to keep up to date we need to continue learning by reading blog posts, watching talks, attending conferences, trying new things, etc. The company didn’t offer learning hours during working time, which is unfortunately quite common as other devs told me. Without having learning time, I felt I wasn't entitled to spend even 10 minutes to read a blog post I found to be interesting and relevant for my job.

The problem was not only the lack of an explicit learning time allowance, but also that when I requested it, it got denied.

An example of that occurred when I finished my tasks for the sprint and we were already at the end of it, so I asked if I could spend the rest of the day learning Kotlin. This request got denied.

Another case was when I requested to attend an Android conference, and then I was asked to take days from my paid time off.

Impostor syndrome

The lack of expectations, the lack of feedback, and the lack of learning culture in the company made the first 9 months of my developer career even more challenging. I have the feeling that it contributed to increase my internal impostors syndrome.

One example of it was opening and reviewing pull requests. Sometimes I'd ask a colleague to check my code privately, rather than opening a pull request, to avoid showing my code to everyone.

Other times, when I was reviewing, I would spend minutes staring the "approve" button, worried of approving something that another colleague would have considered wrong.

And when I didn't agree on something, I was never speaking loud enough worried of a backslash due to my lack of knowledge.

Sometimes I’d ask a colleague to check my code privately […] to avoid showing my code to everyone.

New company, new challenges

Later on I got a new opportunity in my hands. I was invited to the hiring process for a Junior Android Engineer position at Babbel thanks to a friend who worked with me in the past.

I met the team while volunteering in a local meet-up that was hosted at their offices. That helped me a lot when deciding to apply. I loved the company's motto: learning for all. Also everyone was very friendly and looked happy working there! But I didn't apply straight away, because why would I apply if I though that I wasn't good enough?

Luckily my friend and my partner pushed me to do it. They gave me the strength I needed to send my CV. Shortly after I got into the interview process. It was fairly simple: I had to do a coding challenge in the form of a small app, and then later a technical interview with the team and team fit interview with the hiring manager.

Hiring process

I spent the weekend with the coding challenge and sent it right after on Monday. Soon after I got invited for an on-site interview.

The technical interview was about the coding challenge itself, we talked about good and bad things on Android, why did I implement things in a way, how could it be improved, etc. It followed a short team fit interview with the hiring manager, where we talked about challenges I faced, how I solved this problems, and so on.

They offered me the job and I accepted the offer!

On my first year working as Android developer, I spent 9 months in a company and the next 3 with my current employer.

Learning environment

One big change for me is having 1:1 meetings with my Engineering Manager every two weeks. That way, it's clear for me what are our expectations.

We are getting constant feedback and ideas on what to improve and how to help and be helped. Beside the internal trainings they offer, I also have a weekly learning time allowance to learn anything I want. So far, I've been using it to improve my Kotlin and RxJava knowledge.

We also do pair-programming almost daily. There's always paper and pens nearby my desk to sketch ideas. And I keep a second chair by my side so my colleagues can sit with me :-)

However, I still struggle with the impostor syndrome.

Still the Impostor syndrome

I still struggle with it. For example, when doing pair-programming, if we reach a topic I don't quite understand, even when my colleagues have the patience to explain it to me many times, there are times I just can't get it.

After the second or third time I start feeling a big pressure on my chest. How come I don't get it? Why is it so difficult for me to understand? This situation creates me anxiety.

I realized I need to accept that I might not understand a given topic but that getting the idea is the first step! Sometimes we just require more time and practice so it finally "compiles in our brains" :-)

For example, I used to struggle with Java interfaces vs. abstract classes, I just couldn't understand them completely, no matter how many examples I saw. But then I started using them, and even if I could not explain how they worked, I knew how and when to use them.

Confidence

The learning environment in my current company helps me in building confidence. Even if I've been asking a lot of questions, there's always room for more!

Having less experience doesn't mean your opinions will be less valued. For example if a proposed solution seems too complex, I will challenge them to write it in a clearer way. Also, I provide a different set of experience and points of view, which has been helpful so far for polishing the app user experience.

To improve

The engineer role isn't just coding, but rather a broad range of skills. I am still at the beginning of the journey, and on my way of mastering it, I want to focus on the following ideas:

  1. Communication: as English isn't my first language, sometimes I struggle to transmit an idea, which is essential for my job. I can work on that by writing, reading and talking more.
  2. Give constructive feedback: I want to give meaningful feedback to my colleagues so they can grow with me as well. Be proud of my achievements: I need to create a list to track all kind of achievements, small or big, and my overall progress, so I can look back and feel good when I struggle.
  3. Not being obsessed on what I don't know: hard to do when there's so many new things coming up, so keeping focused on the essentials, and what's required for my project in hand, is important.
  4. Share more knowledge with my colleagues! That I'm a junior doesn't mean I don't have anything to share! I need to keep sharing articles and talks I find interesting. I know my colleagues appreciate that.
  5. Be patient and constantly learn: keep learning as I am doing, but being more patient with myself.
  6. Self-care: take breaks whenever needed and don't be hard with myself. Relaxing is also productive.

I am very happy at my new job, and I want to keep learning, improving and sharing. I hope that my experience can help you achieve your goals.

Originally posted in my medium blog.

Oldest comments (28)

Collapse
 
chrisvasqm profile image
Christian Vasquez

Thanks for sharing your story, Lara!

We have a similar path. I'm almost 2 years into QA and I want to make a switch to Android development and I find your posts to be both inspiring and informative :)

Keep it up 👏

Collapse
 
lariki profile image
Lara Martín 👩‍💻

Thank you! Are you working with a Mobile Team or is there one in the company you work at? This will make it easier to do the jump. Regardless, keep working hard! You know it is possible to switch completely!!

I'm glad these posts help you in a way to see it's possible, because it is! 💪

Collapse
 
chrisvasqm profile image
Christian Vasquez

Hey Lara,

Hope you are doing well. I completely missed this reply hahaha.

"Are you working with a Mobile Team or is there one in the company you work at? "

There was one, but I ended up getting tired of waiting and waiting for an opportunity and jumped to another company to work on Android.

I'm happy to have finally switched from QA to DEV, but my experience is nearly identical to the one you describe in your first role :/

Collapse
 
mmarinez20 profile image
Manuel Mariñez

Sharing my knowledge on the very little I know about android is what gives me anxiety and not even mentioning the fact I gotta be code tested (this is obvious for a job, I just have bad experience writing code live), still I can see I'm not really alone on this, will keep pushing forward, thanks for sharing this. (7._.)7 have a glorious unicorn Lara.

Collapse
 
lariki profile image
Lara Martín 👩‍💻

thank you for the unicorn!!! 😍🦄 No one should expect you to know everything! An interview shouldn't be a technical screening were you just throw technical descriptions you can memorize, but rather a conversation around why did you choose some approaches and implemented them in a way. It is important you also say "I don't know" when you don't know something. It's OK!

you can do it!!!! ー( ´ ▽ ` )ノ

Collapse
 
paveltrufi profile image
Pavel Razgovorov

Enhorabuena por el artículo, Lara. Motiva mucho leer cómo alguien sigue superando sus obstáculos por muy dificiles que sean estos, en especial todo aquello que cuentas sobre la anterior empresa en la que trabajabas, en donde prácticamente no tenías oportunidad para aprender ni formarte en aquello a lo que querías dedicarte.

Que hayas conseguido tus objetivos hace que yo también vea que hay luz al final del túnel. Espero volver a verte de nuevo por aquí! 🙋‍♂️

Collapse
 
lariki profile image
Lara Martín 👩‍💻

Muchas gracias, ¡me alegra que te guste! No siempre las historias que se cuentan son tan felices como suenan, hay que escribir más sobre nuestras experiencias reales. De ellas se aprende, siempre hay algo que mejorar :)

Collapse
 
ben profile image
Ben Halpern

Congrats on the journey so far!!

Collapse
 
lariki profile image
Lara Martín 👩‍💻

thank you so much! 😊

Collapse
 
annarankin profile image
Anna Rankin

Wonderful! I'm so glad you found a workplace where learning and professional development are recognized as priorities. It sounds like you made the best of your first situation too, despite difficult circumstances. One hundred high-fives to you! 🙌

Collapse
 
lariki profile image
Lara Martín 👩‍💻

thank you so much!!! 🙌 sometimes you don't know which things are making your progress more difficult until you think about it. I wish I knew earlier to do something about it!

Collapse
 
rhymes profile image
rhymes

Congratulations Lara, also happy you found the right environment in which to foster your new career!

Collapse
 
lariki profile image
Lara Martín 👩‍💻

thank you! let's do our best!! 😊

Collapse
 
fblublu profile image
Pavlos P

Congrats Lara!! That impostor syndrome...

Collapse
 
disturb16 profile image
disturb16

Thanks for the article, I'm beginning a similar path now, I have switched from C# developer to Android Java developer and many of the things you say (like the impostor syndrome) happens to me. Also, que bueno ver que hablas español :)

Collapse
 
codetiilamgone profile image
David Adebiyi

Inspiring story indeed, I feel I also feel like I don't know enough...Congrats and I would also keep pushing myself

Collapse
 
momenabdallah profile image
Moamen Abdallah

Hey lara, thanks for the awesome article, I found it inspiring to me I was and still struggle with Java interface and abstract too :) this part of your post makes me smile out loud.

Right now I'm studying Android basics via Udacity and I'm having a hard times with lesson number four multi-screen apps, there are lots of new concepts and it will take a lot of time to compile into my little brain, I wasn't sure that I have the gut to carry on with the course but guess what? thanks to you.

just keep learning you are doing a great good.

Collapse
 
jaimetrejo profile image
Jaime Trejo

Thanks for sharing Lara! I worked on two Android applications at school, but those did not prepare me for the real world and it's deadlines. In my current job, my first year wasn't so great because I had to work on database tasks that I found dull. After speaking with my manager I got tasked android development! It was challenging because I didn't know all the terms and I was always trying to play catch up.

I'm still currently playing catch up since I do other things than android development at work, but I'm trying to feel more confident in my abilities and motivating myself to learn. I too feel bad when someone reviews my code, but having feedback helps me learn quicker.

Collapse
 
salcidogrijalva profile image
Salcido Grijalva

Yo también tengo bastante inquietud por trabajar con Android y trabajar de desarrollador en general pero me inspira tu historia, sigo teniendo ansiedad pero por lo menos ahora estoy mas calmado, gracias Lara.

Collapse
 
stephen_coyle profile image
Stephen Coyle

Thank you for sharing.

I know know I'm not alone.

Collapse
 
thaihoafe profile image
Thai Hoa

Hi Lara, thanks for your sharing.

Collapse
 
hasanmohdkhan profile image
Hasan Mhod Khan

Thanks for sharing. I am currently experiencing same thing.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.