When I consult with young people (mostly in undergrad) one theme comes up more often than others: What should I do?
As simple as the question is, the undertones are really complicated. I believe we live in the best possible time in history. We live in the world of abundance and because of this abundance, we starve ourselves. We live in a prison of freedom and end up not living to our potentials. As I reflect on my career and life, I can see some themes that may solve these problems. So let’s tackle this problem.
Set the goal
Let’s start with what the goal is. I bold this because this has to be: clearly defined, achievable and measurable. There is A LOT to learn in the world of computing and IT and no one has time or resources to go thru it all. Even if you get a set of blank cheques to do anything in the world, you won’t be able to do everything.
The goal of most students is to get started in a reasonable career. There are problems with getting recruited for some. For the entrepreneurial minded, they don’t have a direction.
I want to lay down a basic, foundational system that most people can follow. There are give parallel things I recommend students to work upon:
- Presentation skills
- Communication skills
- Getting things done
- Product design and development
- The Science
Making yourself presentable – starting from physically and then how to make your personal brand (CV, Social Media, Personal Website, Github, community e.g. StackOverflow, talks, strategically ticking off some things will put you ahead of the competition here. I will go in this in later sections).
Being able to write good essays, emails, product specs, being able to talk and more importantly LISTEN. There are a lot of phenomenal books, lectures and resources available online for free and money. More on this in some other detailed post.
Getting things done
This is literally what it says. How do you keep your life in order? How do you prioritize? How do you know what is it that needs to be done? Do you use todo lists? calendar? Where do you put your notes.. what about your passports? What about things for reference like your Driving license number? How do you manage your finances? Where do you maintain a list of your commitments?
I recommend reading, re-reading and re-reading Getting things done. There is a great community around it online and even if you don’t read the book, start by searching for it on youtube. It will give you an edge on your competition too and will help you get more done.
Product design and development
This is where things like Treehouse comes in. You want to be able to conceptualize a product and then build it. This could be a small command line utility or a big social network. I don’t recommend you start to check-off all the technologies. You may end up knowing React, angular, mongo etc but can you actually build and deploy a product? That is more important. Then build those products and put them out there (see presentation skills) – tell people about it (communication skills) – make more products (getting things done) – make efficient products (treehouse).
I wrote about this earlier. This one is optional – you will pick up a lot of science in ‘product design and development’ but if you think you want to work in the computing industry, for large companies – you need to learn The Science. You will need to appear in onsite interviews – and so you better know what trees, graphs, linkedlists, sets, dictionaries, hashmaps are and how they work – use them to solve academic problems, fast. Even if you are not going in as a software engineer, you need to know the science of your respective field (e.g. data science, data engineering, marketing etc.)
One bonus tip if you have reached the end of this post: Read. Read as much as possible especially about the people you admire – and have people to admire. A lot of kids don’t have these.