Key Tips to Students and Young Achievers

Few months ago, I shared some of my key tips with students at UoK to be successful in their academic and professional life. Now just to be clear I am not truly a professional coach or mentor but I am glad to share essential tips which I have learned with my experience in personal development and career.

#1 – Determination to TRY and ACHIEVE

A lot of individuals fail in the beginning. They are just not determined enough to try and achieve their goal. Your goal would be hard or at least it seems to be hard but trust me it’s doable with the courage to try.

I mentioned this point in the context of learning computer programming for students of computer science who are really afraid to accept that they can do programming and this fear stops bunch of them to try few times.

If you’re not brave enough to take the first step, then you’ll never know how far you can go.*

I would like to share my experience here, I was once an awful programmer at that time I was in high school and even when I took an optional IT course in college. I couldn’t just get it, even though I feel like I have interest in computers and machines overall. Then after I got admission in undergraduate program at University of Karachi, for first several weeks of semester I was trying to grasp what programming was all about however couldn’t really do well in writing programs and logic on my own. Until one day I picked up one of the reference book and just sit down in lab to TRY with strong feeling that I would be able do it and after spending some time I achieved the output. I still remember the output of the program

1234554321

1234    4321

123        321

12            21

1                1

Yeah it’s peanuts today but at that time it was real challenge for me! On that day the confidence that I got gave me the boost to aspire to become a software craftsman.

# 2 – Learn to LEARN

This is truly the key to success. You must get the ability to learn about anything in life. It’s not just about technology, it’s about any field. The world has changed, your learning is not going to stop once you graduate… it would just start in a new way!

In your career, especially in technology, every decade brings a drastic change in the field, at least so far. I have seen a lot of students discussing silly topics like which technology/platform to learn or one is better than other. That’s old school. You need to learn to learn any tool, technology or platform you need to achieve your what you want to do, get the in-depth understanding of how things work, learn the science or practice the art and above all be a craftsman and aspire to achieve mastery.

So invest in learning and development, make it a habit, identify the learning methodology that suits you. Eventually you will gain the confidence that you can do anything by learning about it.

#3 – EXPLORE yourself and DO what you ENJOY!

At times take some out to try out different things, explore what you like doing and settle yourself doing what you enjoy! It can be just side hobby or area with in your field, you decide!

You must not end up spending a big chunk of your day doing what you don’t enjoy!

=========

*Couldn’t find author name of quote

Java in Android is a variant of Java

Android app development uses Java platform and you can consume JDK (java development toolkit) in Android.

This above statement is partially true however the fact is that some part of Java SDK is being pulled out and packaged it in Android SDK. Second fact is that we can use Java language to consume Android SDK. However today, it is recommended to use Java 6 for Android projects. (I will come to answer that why)

Notice If you expand the android.jar you can view that it is composed of several different packages of open source libraries. So Android SDK is actually a collection of snapshot of several open source libraries at a particular time such as Java SDK/OpenJDK, Apache HttpClient, json.org, w3c dom etc. and of course the android core APIs and some of them are even uniquely modified for Android.

This all leads to an interesting question in the community I read some days ago on Reddit

Can we leverage Java 8 features in Android?

The answer is not yet.

Why? (you ask!)

Because remember we read that Android run on its own Dalvrik VM instead of Java standard VM (JVM) to convert byte code to executable.Therefore if any feature has been added in Java 8, its written to produce certain byte code by Java compiler which is then worked out by updated JVM. However that features needs to be supported in Dalvrik VM as well. Plus authors of Android needs to pull latest version of Java packages into the android.jar.

Hope this clears out confusion for some android developers!

Further readings:

  1. Java vs. Android APIs
  2. Will Android get Java 7 or 8 in a forseeable future?