Here are a few thoughts on transitioning from Android development to Java web development. These thoughts may be somewhat informal, but they are shaped by my own experience as a programmer who, after 1.5 years, shifted from Android development to creating a backend in Java. I encourage you to read this if you are contemplating such a change in your career path.
The first thing that comes to mind is that an Android developer transitioning to backend development in Java may have an easier time with the switch. They likely have a good grasp of Java, although it's worth noting that Kotlin is gaining popularity and has been the official language for Android development for some time. It's supported by Android and JetBrains, the creators of IntelliJ IDEA and Android Studio, which are essentially the same, as the latter is based on the former. If you're one of those who began their Android journey with Kotlin, you can skip this paragraph.IDE
As I mentioned above – Android Studio is the same tool as IntelliJ IDEA, which is very popular for Java web development. In my opinion the best possible. In general, it works like this: IntelliJ can be used for Android programming, but vice versa is not possible. So as an Android developer, you either already use IntelliJ and don’t have to switch to any other tool or you have to move from Android Studio, but you’ll still feel like a kid in a candy store.
Another thing that I want to mention is the fact that while working as an Android developer, you’re in touch with the developers who create the API for your application. Cooperation can be problematic. I often complained about the API maker, who didn’t provide me with the JSON I wanted. For example, something wasn’t sorted as it should in my opinion, or after receiving the response I had to do some additional calculations that could be already done on the server. By showing these examples, I aimed to point out the fact that a Java developer experienced in Android development and previously cooperating with a backend has a big advantage. It’s because he’s looking at various problems from the perspective of a programmer who uses API and has the task of transferring it to UI. In other words, you’ll better understand the needs of frontend developers as a Java developer with Android experience.
For a Java developer recruitment, don’t hesitate to write in your CV any experience as an Android developer. It would be also a good idea to put some links to your applications on Google Play or to your GitHub account with Android projects. I guarantee that your chances of success will significantly increase. Also, thanks to what I mentioned in the previous paragraphs.
I made this transition a year ago, and I have no regrets about my decision. I strongly encourage you to consider it as well. It doesn't mean you have to completely abandon Android; you can still work on mobile applications in your free time, as I'm doing. I have several reasons for not regretting my choice.
Firstly, I believe it offers greater opportunities for self-development because it involves more substantial programming. I don't intend to offend anyone, but this is my perspective based on my experience. While working as an Android developer can sometimes be demanding, it often entails more routine tasks like making image changes or adjustments based on client requests.
In contrast, when creating server-side applications, the scale is significantly larger than mobile apps. These applications frequently deal with critical business-related issues, such as stock market applications, where implementation errors can lead to customers losing money. Developing the backend requires a deeper understanding of the business context. Mobile applications, in many cases, serve as the front-end only.
Your versatility and ability to work on both backend and mobile projects can be highly appreciated by your employer (or at least it should be). Companies can benefit from your range of skills by assigning you to short mobile projects or specific tasks in between your primary Java backend projects. This versatility can make you a valuable asset to your organization.
Besides, I don’t know how about you, but at the end of the period when I was still working as an Android developer, I felt uncertain about how the closer and further future would look in the world of mobile applications. Of course, some may consider such a dynamic situation a plus. It’s because it’ll create the opportunity to learn other languages, etc., but others prefer to feel the ground underfoot.
Learning Kotlin was a pleasure for me. Right now when I’m playing with Android outside of working hours, I do it using Kotlin. But unfortunately, some other things have helped me with my moving decision. The first thing is the React, which is gaining popularity. There was a specter of learning it for me. Clients want to have applications written on both operating systems with the same code today’s times. Also, the uncertainty of whether in the future there will be any need for native Android applications didn’t help at all.
When it comes to Java web development, of course, changing will require you to learn about different frameworks, tools, and libraries, which you didn’t have contact with as an Android developer. As for the framework, I recommend the most popular Spring Framework which is end-to-end support for apps on the JVM. I recommend you to get acquainted especially with Spring Boot, which allows you to create Spring-based applications and requires a minimum initial configuration. For more, I refer to the Spring page. For me, it was fun to get to know some tools and libraries such as Kafka, Cassandra, Reactor, Swagger or Cucumber. Of course, I needed a lot of time for that and the beginnings were difficult, but now I feel like a real Java developer.
That’s all that came to my mind. If you have any questions or also want to share your thoughts, I strongly encourage you to write comments below this post.