How to start life in computer engineering?

How to start life in computer engineering?

I got a call from one of my cousins who has just finished his first year of Engineering in Computer Science. He wants to learn a little more and stay ahead of his tribe by utilising his summer vacations. He wanted to understand what extra he could learn in Computer Science and if I could suggest any institute for this.

My answer to him was as follows:

0. Start participating in online coding challenges. Learn the basics of C/C++ required for this. Don't give up if you aren't able to solve any question. Just keep trying.

1. Get used to learning by yourself. Most of the knowledge, as of today, is freely available on the internet. Don't get addicted to spoon feeding.

2. Walk backwards. Let me explain. Instead of learning linearly (topic by topic), walk backwards. Start with a problem or a project and learn everything that is required to solve it. For example, when I was creating an analytical differentiator(a program that computes the differential of an algebraic expression), I walked backwards and learned the concepts of data structures, and also language and grammar parsing. Another project I did was to build an online shopping website. To build it, again, I walked backwards and learned C++, HTML, networking and how servers work.  So, the crux of the point is build something, and walk backwards to learn everything needed to build it.

3. Build an Android App. The App could be anything - an interest calculator, a tic-tac-toe game, or an income tax calculator. Solve it first on your desktop, if possible, and then move to Android App. While doing this, apply the two principles: Learn by Yourself and Walk Backwards. Launch the first working model of your app as quickly as possible - this may help in getting more downloads and therefore, may you a feeling of achievement. Building an app can also help you earn some brownie points when you are looking for an internship.

4. Once you have built a good Mobile App, build a web application using either PHP, Django or Ruby on Rails.

5. Start contributing to an open source project. It can be any project which interests you. Start with fixing the documentation of the project, and test the project. Then, fix very simple bugs, and also read code written by others. Browse around on GitHub, and you will know what I’m talking of. Soon enough, you will understand that valuable contribution to software projects is always appreciated irrespective of your degree or institution. You will also understand the essence of collaborative exercises.

6. Remember that becoming a good software engineer takes time. The ‘learn x in y hours’ is just a myth. To be a good engineer it takes possibly 10 years but the good news is you can start seeing results in as small as a month’s duration.

Here are few Don’ts:

0. Don't get into the idea of specialisations: DBA, Systems, Big Data, Machine Learning etc. Once you finish step#4 above you will know.

1. Don't just get addicted to coding competitions.  Coding competitions are definitely commendable and needed for landing a good job today, but getting addicted to them will not make you a great software engineer.


C K Vishwakarma

??AllThingsConnected | Value Creation | AI & Data Strategy | Digitalization | Sustainability | Cybersecurity | Future of Work | Leadership | Ecosystem

7 年

I like count (i+), and you kept initial value i=0.

要查看或添加评论,请登录

Sandeep Giri的更多文章

  • Why is learning hard?

    Why is learning hard?

    Learning is hard. Specifically, the learning that involves a lot of science, for example, Machine Learning or Deep…

    8 条评论
  • Specialization Course in Machine Learning and Deep Learning

    Specialization Course in Machine Learning and Deep Learning

    Given current advancements in the field of machine learning, it is imperative for every engineer to learn how to apply…

    2 条评论
  • Myths of Teaching

    Myths of Teaching

    1. Most of the people in tech world tend to look down upon the education technology industry.

    2 条评论
  • Apache Spark Streaming Session (Free)

    Apache Spark Streaming Session (Free)

    Hi Big Data Enthusiasts, To keep knowledge exciting and open, we have started the open sessions series. The second…

  • 10 things to look for when choosing a Big Data course

    10 things to look for when choosing a Big Data course

    Every now and then, I keep seeing a new company coming up with Hadoop classes / courses. Also, my friends keep asking…

    2 条评论
  • Know Who Is Your Customer?

    Know Who Is Your Customer?

    Recently, I attended a start-up event where the speaker was emphasising again and again on the point that we should…

    5 条评论

社区洞察