Don’t get me wrong — a tertiary education is important, especially if you attend a school that is closely linked with the industry. It usually provides good pointers and sound fundamentals of what computer science is.
However, in the internet-driven world we live in, if you want to start your career as a software developer, your Computer Science degree should not be the most important point in your resume.
So what are the 5 things better than a computer science degree? They are listed below, ordered from easiest to hardest.
Technical Social Media
Who doesn’t like social media? If you’re not into some of these platforms, you might have studied the wrong course.
For the sake of your career, join some technical forums. There are many in Twitter, LinkedIn, Reddit, and Slack.
Separate your personal and technical account
Preferably don’t mix that account with your personal account. This is to ensure you are linking with a focused group of people, who are interested in the same topic.
In your resume don’t link your private Social Media account, as that is not adding much value, instead add your technical account, where your followers are not your dad, mom, casual friends, but people of technical interest.
Technical account? Is this going to be boring?
Not really. People don’t only share technical blogs, questions and answer. Often there are interesting stories, cartoon, or relevant jokes:
Of course, don’t just share jokes or be a silent participant.— you won’t gain any followers that way. Share your findings, thoughts and comments on relevant posts.
You’ll be amazed by the different thoughts and ideas that other people come up with. Some idea that you think is perfect might be viewed as totally flawed by other parties, with seemingly solid reasoning. That’s how you learn.
It’s a complimentary tool
I personally won’t have this as my only “other than Degree Certificate” profile to post on my resume. I treat it as a complimentary feature to other aspects that I have.
What I mean by other aspects are the remaining 4 things that I’ll share with you below…
Scoring on Stackoverflow
We are fortunate these days to have stackoverflow, with so many answers to our programming inquiries. It’s a huge community — search a programming query online and you’ll usually see some StackOverflow links.
When we look at StackOverflow questions and answers, we autoomatically hold users with high scores in high regard.
So in other words, if you had that score, it would look good on your resume. These scores are not merely approved by a single institution, but by a whole community acknowledging the quality of their questions and answers.
A little by little
Everything starts with a single step. Probably your first step on Stackoverflow will be asking a question to which you have not found any answers.
It is very important that your question is clear and easily understood. If it needs a diagram to illustrate, draw it; if it you need to show code, share the git repo.
Most importantly, narrow down the problem to the specific area of confusion you have. Don’t dump your whole project code up there and expect the reader to understand it. You might be surprised to find that while narrowing down the issue, you have found the solution (e.g. a silly mistake somewhere).
A clear and succinct question will usually get a response, especially in a field where there is lots of interest. Even if no one responds to it, that’s fine — don’t give up. Do your own research and you might find the answer. If you do, answer your own question — some day someone out there will benefit from it.
In other words, don’t hesitate to post your question, even while you’re searching elsewhere for the answer. Even if you find a solution somewhere else, you might be given a better answer on Stackoverflow.
Be generous in your voting
If someone answers your questions well, do vote for them.
Try to find one best answer to uptick, instead of leaving it in a limbo, where no one knows what’s your preference answer. Besides, you’ll get 2 points for uptick an answer.
Of course if there’s no best answer to your question despite multiple one out there, then don’t just uptick for the sake of getting the 2 points. Be truthful to yourselves. The 2 points is not worth trading with your integrity.
Similarly, up vote good questions. Help build a good community that appreciates others contributions and you will get your fair share.
It builds overtime
The scoring in StackOverflow is cumulatively incremental — the earlier you contribute, the quicker you’ll get scored. You’ll be surprised at some of your unexpected asked questions and answers that get popular. You’ll continue to gain points without doing much.
It is also a good place to document hard problems you found and their solutions. Many times I have gone to a StackOverflow post I made in order to extract the solution of an issue I have forgotten.
It is not hard…
This is actually a simple platform on which to get recognition from the community — you just need discipline. Even if your question is not written in the best way, people will take the effort to improve it.
It is still relatively easy and yet rewarding. Check out the below post for more
7 uses of Stackoverflow.com for programmer
Have you used Stackoverflow.com before? Sure you have! But have you make the most from it? You might not have… let me…
Blogging on technical topics
Learning and recording what we learned is a good habit to get into, especially when we discover things that we didn’t find documented anywhere else. Sometimes we learn something from a tutorial and development document, but it took a while to digest them, so we add some highlights and side notes to make it more understandable.
Why not share these learning experience with others? Make other people’s learning experiences easier. Blog for the good of everyone!
About 3 years ago, I joined a consultant firm, and was encouraged to blog. From then on I started blogging — it has become part of me now.
How I hit 100k views a month for my Android Blogs
After blogging for a little over 2 years, on 10/10/2018 evening, my medium blog’s views per month hit over 100k. Thanks…
What’s in it for me?
If it sounds like Blogging is only benefiting others, you’ll be surprised how much I gain from it, other than something to add to my resume:
- I notice learning gaps in the topics I blog about, so I go and learn them.
- Many times I forgot what I have learned. Sometimes I go back to what I blogged and remember it again.
- Sometimes I received feedback on my blogs on a misunderstanding I have on a topic, or some missing information. I learn from my readers!
- I often received thanks and appreciation that my blog has helped readers. This is very fulfilling!
- A few of my blogs have been translated to other languages. To see people refer to them made me feel my time spent writing and contributing to the community was worthwhile.
What to blog
Well, I have written a blog about it sometime back, when I only have 20k views a month and 40k a month.
Reaching 20,000+ views a month. Thanks!
I thought I should share what I did, so that others who wanted to blog would benefits from it, perhaps.
Hitting 40,000+ views a month on my birthday. Thanks!
It wasn’t too long ago back in July this year, I’m most humbled having 20,000+ views a month on my blogs. And within…
I still use the same approach today, where I’m grateful to have about 140k viewers a month. Many thanks to my viewers, as that encourages me to contribute!
This is the most feasible thing to do..
To me this is the most feasible thing to do as …
- Each blog took on average a few hours of effort
- After it is written, it’s maintenance is almost zero, unless someone comments for correction
This is where my limit is. I did try the next two suggestions, but only in a limited way.
If you think you could do better than me, read on!
Create an open source library
Coding as an intellectual property is now history. The new trends these days are around open source. Collaboration and work across different geographical location is the way moving forward.
Why not jump on the bandwagon and be part of the open source community? Start by contributing to some other peoples open source. One day you’ll notice something you need (and possible other people need) that is not readily available out there. Then create your own open source and share it to all.
A product at a smaller scale
An open source library is mini product, but unlike actual products, its audience is developers. So there are less concerns around marketing, user design and so on. You only need to focus on the coding side of it, so it has a far lower cost.
Compared to building actual products, open source cost is relatively smaller. If your open source becomes popular, you’ll get other contributors wanting to add in features to it, they will make a Pull Request. Your job is to review the Pull Request (PR) and decide whether to approve it.
I have an open source which I created 3 years ago. Since then I haven’t updated it much. Yet it still gets updated, even to the latest Android X version, without me doing anything. I just need to review, test it, and re-upload.
Focus on technical learning
As it’s named open source, provide all your source code to others. So if any bugs (hopefully not stupid ones) are found, other contributors will notify you and even make a PR to fix it. From there you get free testing, as well as fixes — nice!
All these are technical inputs and discussion. The focus is on the technical side. You will get less input on marketing, product and usability concern.
If there’s some usability lacking in your open source, contributors will add it themselves — you don’t even need to worry about it.
Some real cases
Can open source make a person’s career?
Among Android developers, everyone knows Jake Wharton. He started off with open source and now his work is known by almost all serious Android developers. He now works for Google.
The RefLog — Jake Wharton in Action — The GitHub Blog
The GitHub Training Team recently caught up with Jake Wharton, legendary Android developer, OSS contributor, and…
It’s not that simple
Although writing open source is not too hard to maintain (as others would help to maintain), has less initial cost (don’t need design, market planning etc), and is focused on technical, it still has its own challenges.
The likelihood of creating an open source that will be adopted by many is not high. To create each open source takes time, effort, thought, and coding architecture considerations. To review PR, test and upload take time as well.
I don’t think just anyone could create a lot of popular open source. There aren’t many people as talented as Jake Wharton!
If this doesn’t challenge you, and you think you could stretch even further, and want to do something more real life and related to everyone, check out the next possibility.
Build a real software product
In the 70s, engineering was the hot course many wanted to study. However, these fields could hardly teach you produce something useful on your own. Even if you could produce it, you would then have to to market it to everyone or no one would know your product.
Fast forward to today. Creating a Webpage or an App on your own is so much simpler. Marketing it to the whole wide world on your own might not be easy, but to have it reach 10,000 users is not an impossible feat anymore.
So having an actual product (not just a school or uni assignment), publicly available with good user feedback, on your resume has a great deal of value.
A holistic experience of learning
Having an actual product gives you the complete experience in building an App — from the ground up to publishing it for the public to use. Every technical aspect needed in building your product will be learned during the process.
Besides technical learning, you’ll also gain valuable insights into marketing your product. Suddenly you realize that every single nuance of design is important and that your work flow can make or break your design. It’s not just the technical aspects of it — to make it better, you have to know your user behavior, and which features work and which don’t. Analytics is another topic you’ll get into. You will gain such valuable experiences!
Then you realize you can no longer do a great job as just a single person. Nevertheless, you’ve done at least one to know what is it to put a product out there.
A real case
I know of a Korean friend, who did not speak good English, looking for a designer job in an English speaking country. Despite her language issues, by having her profile ready on the web she could easily show the interviewer her work. She got the job without even speaking much English! (Now her English has improved tremendously.)
As everyone knows, the founders of Google, Microsoft, Facebook and others started building their products while pursuing their degree and they have not looked back since.
It’s difficult… but
While having a successful product will give lots of weight to your profile — in fact could be a career and business in itself — it is a very difficult job to maintain it, let alone grow it.
More time and investment will be needed over time. As technology changes, you’ll need to update your product. If you’ve already ended up with a full time job, perhaps have got married and had children, maintaining your personal product on a regular basis would be a challenge.
Well, that’s my excuse! Look at Bill Gates, Steve Job, Mark Zuckerberg, Larry Page, Sergey Brin — if they can do it, why not you? You might be the next one!
Just to recap, the 5 things you should do to color up your Resume:
- Technical Social Media
- Scoring on StackOverflow
- Blogging on technical topics
- Create an open source library
- Build a real software product
In term of the effort and impact (if effort done properly), I present this chart:
These things, if done right, could weight more than your Computer Science Degree. So don’t wait till you finish your education!
Life learning is a journey, it’s reflects you better than just your degree.