If you're someone who hasn't yet decided where to apply your Java knowledge, then this article is definitely for you. The article explores Android development as one possibility. It's the story of how I became an Android developer. Along with tips and the prospects of Android development. Dive in!
Career growth does not require you to constantly code — first for one salary, then after a while for another, etc. Recently, the position of architect has been popular. An architect's responsibility is to oversee and design an application, pushing his or her vision of its architecture. With proper knowledge of design patterns, these doors will be open for you.
A large number of gadgets and devices running Android suggests that you don't need to limit yourself to writing mobile apps. You can develop software for watches, televisions, cars, and even refrigerators! As you can see, there are a lot of prospects, and this list could be longer, but I'm afraid the article would turn out to be too long.
That said, I want to share some tips on how to turn all these opportunities into reality. As mentioned above, Android is evolving at a decent speed, and many aspects of development are simply becoming obsolete. Don't waste your time studying them. They've probably already been replaced by new ones. It would be better to spend your time studying more modern approaches.
Always listen to the advice of those who have been working in this area longer than you. Sometimes advice is more valuable than any information on Google. And don't be afraid to ask for advice from these people.
Find yourself an additional source of information about the Android world, for example, a mobile developer's digests of articles on popular IT communities.
I'll end on this. I hope my article helped you imagine the world of Android development, and that you were able to glean something useful for yourself =) Write your feedback in a comment or like it. Thank you, everyone! And good luck wherever you chose to use Java!
I'll start with a storyFrom personal experience, I know that many people like to read the growth/success stories of other students. It's fitting to take an interest in this. Other people's mistakes, good choices, and experiences can help someone else make an important life decision. But there are also those who are not particularly interested in all these stories. Below is one of these stories and only your desire will determine whether or not you read it =) I first became acquainted with Android in the summer of 2016. I didn't really know Java yet at that time. My knowledge came only from my experience in first-year university courses programming in C/C++ and I knew a little about HTML/CSS layout. That same year, I got my first smartphone running the Android operating system. I remember how I was consumed by a wild desire to write and run my own Android app. Without wasting time, I began to investigate. I learned that Java is the main programming language used for Java development. Not losing hope, I started watching instructional videos that described how to prepare and set up a development environment. After 18 lessons over roughly 2 weeks, I launched out on my own. I had my own ideas and, together with Google, I tried to bring them to life. I spent most of my development time in XML markup, working on the appearance of the screen. If I needed to edit the Java code directly, I just entered a description of what I wanted in Google and copied ready-made code (usually from Stack Overflow). Then in Android Studio, I would tweak it until it worked. This non-productive approach made it clear to me that I would not get far without knowledge of the basics of Java. A month after becoming aware of Android, as luck would have it, I was asked to start developing the Android app at the company where my father worked as an iOS developer. Of course, there was no question of any pay. This was unpaid practice, but if my code proved to be suitable for something, it would be left in the final product. And that's just what happened. After a month, I had more or less understood how to use XML for UI layout and was able to redesign many of the screens of one of the app. The company's owner told me that my work was successfully sold to the customer, and he gave me $100 as a reward. So I stayed to work at this company for a very, very, very small salary, but with the ability to learn while working on real projects. Digging into these projects for days, and not without the help of kind coworkers, I began to understand Java and the main points of Android development. So month after month, I combined my university studies with studies at work. In the spring of 2017, I learned about this course from a classmate. She had purchased a subscription and completed most of the course. I became interested and decided to try it. For me, working through the free part of CodeGym was mainly for research purposes, because my knowledge already exceeded the level expected from the target audience. It was also very important for me to learn in a structured way, since I had missed this, darting from topic to topic. You know, after working through 10 levels and completing all the tasks, I found the process as enjoyable as reading a very good book! At last, all my knowledge fell into place. I didn't continue to progress due to lack of time and because I had previously studied many of the topics well. I currently still work at the same company, but now with a higher salary. I smile when I remember my ridiculous assignments at the very beginning of this journey.
Why is Android development a promising area for a beginner Java programmer?I'll start by describing a general picture of what Android development is and what knowledge you need to get started. Among all areas in which Java is the main technical tool, Android development demands the least knowledge of this particular programming language. Many Java features are not used in Android simply because they are not needed, and many of them are entirely excluded in certain versions of the Gradle build tool. Accordingly, the threshold of Java-specific knowledge required to begin is at the level of CodeGym's Java Core and Java Syntax courses. Of course, you shouldn't forget about understanding multithreading. The experience here will be very useful. If you know these concepts as they related to Java, you will feel quite confident. Let's move on to the user interface (UI) part of Android. App elements are arranged using layers in XML. Here you need to combine different tags to get the expected result. If you've dealt with HTML layout, then you'll get comfortable pretty quickly. But even if you aren't familiar with HTML, there is nothing difficult about it and there is plenty of relevant material on the Internet. Here's what XML markup looks like in Android Studio: Next, an important thing to know and understand is the Git version control system. It's difficult to imagine developing an Android app without this tool. But you don't need to be a super-specialist here. As a beginner, you'll rarely need to perform complex operations on your repository. Also, if the command-line is a stranger to you and you are uncomfortable constantly entering commands in a shell, which is necessary when using Git, there is a popular graphical shell called SourceTree that will provide a graphical representation of your branches and give a clear understanding of where you are. Well, now let's talk about the prospects offered by Android development. Despite what I've said above, on the other side of a rather low threshold for starting to learn Android, there is a whole mountain of opportunities and ways to grow! The Android OS is a rapidly evolving platform. Practically every year, a new version is released, introducing new features for users and a bunch of goodies for developers. In this way, your work will never become a rut, where you support some stable version. There will always be something new. There will always be where to move. Don't forget about how popular the platform is: