Skilled and experienced Android Java developers are earning up to $200k yearly, as of September 2014. If you are wondering what you need to bring to the table to join the ranks of successful Android Java developers, read on.
Java Android Developer Minimum Requirements
You will need all of the following to be among the best developers in the industry.
- Developer account with http://developer.android.com
- Google+ account with a private G+ group for testing your mobile apps.
- Eclipse and Android Studio.
- Have both so you can accommodate all client requests. Some development teams (not all) insist that all developers work with the same software development environment.
- Android device emulator. GenyMotion is good and you have other options too.
- Android mobile devices, tablets, and wearables. Test your apps and code on as many devices as you can.
- Mobile carry case to hold all the devices & their cables while easily recharging the batteries.
- Published mobile apps available in the software stores for download and purchase ( Google Play, Amazon Apps, Kindle, Nook, Android Wearables…).
- A few public repositories in GitHub to prove your skills and attract prospects to work with you.
- A resume and online portfolio.
- LinkedIn profile with past & current client testimonials. Ask your clients for a professional recommendation & comments about your work for them, using LinkedIn’s easy interface.
- Maintain online learning accounts with websites like Lynda, Udemy, and Team Treehouse. Many employers will cover the cost as part of a benefits package. Schedule time to practice and learn the newest tactics for developing Java Android mobile apps.
- Maintain a subscription to industry news and resources. Make time to review the articles once each day to help you plan out your future projects, learning, and experiments.
- Make time to publish new mobile apps, code samples, github repos, blog posts, and share interesting, relevant articles on your LinkedIn profile.
Java Android Developer Skill Requirements
The most competitive software developers are always, consistently working on and learning new skills that will improve their software and provide the best professional experience for their clients.
- Social Skills: understand & be able to identify the different personality types you will work with (especially your own) and how to effectively communicate with all of them.
- Java Programming Language.
- Android Studio, Eclipse, Geny Motion, Various Android Emulators.
- Object Oriented Programming.
- JA Game Plan is a mobile app for Android devices that you can use to review, practice, and test your knowledge before the big tech interview day.
- Review current jobs on the internet to verify that you do have the most recent and in-demand skills and knowledge.
You will also want to memorize and be able to explain all of the following:
- Development framework and apis.
- App distribution process.
- Interaction design principles.
- Activity Lifecycle.
- Application Lifecycle.
- Mobile User Behavior patterns.
- Services, Fragments
- Google Cloud Messaging.
- UI Layouts.
- Code, Test, DeBug, Compile, and Run
- Object Oriented Design.
- Command Line Interface.
- Scripting and Regex.
- Bits & Bytes.
- Java Programming Language:
- Syntax: objects, classes, methods, instant variables.
- Identifiers, Modifiers, Variables, Arrays, Enums, Keywords, Comments.
- Data Types, Reference Data Types, Primitive Data Types
- Literals, Acces Modifiers, Basic Operators.
- Data Structures.
- Data Structures for Fast running time.
- Algorithm Design.
- compute fibonacci numbers (recursive, iterative, explain pros & cons).
- print binary tree level by level.
- linked list.
- find length of string in array.
- create a calculator.
- how to find phone numbers in 50,000 html pages.
- find frequency of string in a sentence.
- find nodes in each vertical of a tree.
- sort words in a sentence.
- tree traversal.
- square root of a double
- reverse a string.
- combine two sorted arrays.
- create boggle board.
- memory efficient way to store vector of images. Calculate dot product of 2 vectors.
- retrieve words from dictionary that are made from subsequence of chars in an input string. Input: “ABAT” will match words “BAT”, “TAB” and not match “BAR”.
- create one sorted list from list of k sublists that contain n sorted integers.
Java Android Developer Technical Interview Prep
When you review the job requirements, research the company online to find out what they typically ask during tech interviews. Of course, it’s a great idea to consistently test & improve your skills even if you are not looking for a new job. The following list is the most common technical interview questions that the best Java Android developers are expected to understand and answer.
- Practice with online resources such as CollabEdit , CodeShare, Browxy, and CompileOnline.
- Bring your own dry-erase / wet-erase markers to the interview. The slim ones are best.
- Verify all your mobile apps on your devices are working properly. You might show them during the interview.
- Practice writing code solutions on a whiteboard often.
- Write your code quickly – practice makes it easier.
- Talk out loud and explain what you are coding.
- Explain why you are coding it. Speak as if you are teaching a class to fellow software engineers that you respect very much.
- Verify you understand the technical question before you write out a whole code solution. Talk out loud while you code and involve your interviewers so you can be sure you are going down the right path with your solution.
- You may be asked to create an alternative solution to the same question.
- You may be asked to improve your first solution and explain what your improvements will do.
Java Android Developer Career Options & Locations
More mobile app development jobs are available than the current pool of mobile app developers available to do the work. This creates a typical supply / demand situation that is very lucrative for the best Java Android developers. Solid negotiation skills (fair for all parties involved) can create an excellent business relationship and working conditions that many other tech consultants may not be enjoying in today’s economic environment.Many companies are more willing to move towards enjoying the benefits of a performance based business relationship with mobile app developers instead of an hourly, on-site, traditional employee relationship. As long as the mobile app developer is able to keep an open consistent and productive line of communication open for the client, it ends up working out better for the clients and the developers.With the current lack of mobile app developers and mountains of jobs for them, it’s important to use automation and management tools to keep track of everything so you can find your way to what will work best for your own career goals. Use websites like Indeed and GlassDoor to research the reputation of any client you are considering. To be a successful Java Android developer, you want to align yourself with clients that also earn and maintain a good reputation.
- Maintain a list of your dream career requirements (type of projects, type of companies, specific companies, income, location, environment, perks, benefits, technologies, etc). This makes it easier & quicker for you to sort through everyone that contacts you.
- In your correspondence, resume, and email signature next to your phone number, state that phone calls must be scheduled with you in advance.
- Use a calendar with alert to manage all the meetings online & offline. Add notes about the job requirements, pros, and cons.
- Use Google and LinkedIn to search for, connect with, and build a professional relationship with fellow developers & other industry experts that either currently work for your dream client or used to work for your dream client.
The following list includes companies that hire Java Android developers.