Nanodegree and ME, what’s next?
In line with the Women Techmakers theme for IWD17, I decided to share my experience with the Android Developer Nanodegree by Udacity and life afterwards. This is a second of two articles. Please find the first one here… Also, I’m going to attempt to Vennspirate (relate work to stuff I’m passionate about) in the first paragraph. I learnt that from the Speechless session at the Women Techmakers Summit in Lagos this year.
Like most marathon runners suffering from Post-Marathon Syndrome, I was a bit depressed after completing the Nanodegree program. I had surely achieved all I had set out to achieve after weeks and weeks of learning, but I didn’t want everything to come to an end just like that. The stimulation from working on something new, the anticipation from waiting for a reviewer’s feedback, and the elation from discovering my project exceeded expectations seemed too much to let go off at the time. To overcome this phase, I developed a crazy thirst to learn more.
I’ll attempt to make a list of all the things I did, and put links to helpful resources too. If you think I left something out, please let me know in the comments.
Android development guidelines
I was sold on writing clean and readable code after the Nanodegree program. Variable names like int x and String y were gone for good! I searched for and found a couple of style guides which listed coding standards for Java and Android. Here’s a Java Style Guide from Google and an Android project guideline from Buffer.
Not much was said about architecting Android applications (at least when I took the course). I sort of stumbled upon this when I was looking to start testing my applications and discovered that there was a certain way to structure code that makes it easy to test. There’s this repository curated by Google which contains a lot of sample apps with different architectures.
Testing was also mentioned in the course but it was not as detailed as I would have loved it to be. Here’s a helpful article by ADEGEYE MAYOWA about a basic overview of instrumentation testing. There are also these great articles written by Rebecca Franks with serious emphasis on the MVP architecture and testing.
Libraries simplify development processes a lot. There are a lot of Android libraries available for different functionalities. Everyone (okay, maybe not everyone) I know uses Retrofit2 for network calls. Retrofit2 goes hand in hand with RxJava and Lambdas. RxJava is very useful for code simplicity. There’s also Dagger2 which helps with dependency injection. And the Kotlin plugin and library which helps developers build Android apps with Kotlin. One basic method I use to pick libraries to work with is how long they’ve been around, and the developer reviews. If I don’t get enough information from that, I also check out their issues on Github.
People to follow on Twitter
At some point, I identified all the Android GDEs I could find and followed them all. One of them is my manager today. :-) While not all their tweets are Android related, there are some tips and tricks that could come out of following them. Here’s a list of 40 leading Android Developers to follow on Twitter.
Open source contributions
We’ve all gotten to a point in our development career where a library from someone in the Android community just happens to save our lives (and maybe careers too). Contributing to open source projects not only builds you up, it gives you street cred too. It also encourages you to build stuff and solve problems (that you probably won’t come across at work) for fun, and share your thought process with the community.
Writing articles and contributing to StackOverflow
I can’t count the number of times a blog post or stack overflow answer has helped me, or at least pointed me in the right direction. As you start contributing to open source projects, either by building your own stuff or collaborating with others, it’s important for you to write articles about your thought process. While it’s not compulsory to do this, you might be saving the careers of other beginner developers. I get a lot of satisfaction from feedback on the impact of articles I write. It has also helped to improve my writing skills and I’ve had more opportunity to rub minds with other members of the community too. Don’t ever think that what you have to say doesn’t matter (h/t Florina Muntenescu).
Things change very fast in the Android development world and I didn’t want to get left behind so soon. Speaking at and attending conferences and meet-ups while collaborating with other Android developers in my region and worldwide was and still is one of my best ways to keep up to date with trends in Android Development.
N.B. Shoutout to Yetty Sanni who completed the Machine Learning Nanodegree program in April. You rock, girl! A lot of people in these parts (read Nigeria) really want to further their knowledge and become experts in their fields, but are unable to because they can’t afford to pay for some of these courses. If you think you want to help out by offering scholarships to developers who are serious about this, please send me a direct message on Twitter. I’m sure we can find a way to connect you with serious-minded developers here. People are starting to notice…
Thought this was great? Please don’t forget to “Recommend” and “Share”.