13 Jun 2015

Path way for software Engineer


I live in Silicon Valley, where a significant portion of the greatest programmers of the world live and work.  And I can tell you for the fact that less than even 1% of these guys have a PhD in anything -- PL included!

There are billion resources available in the Internet for learning anything and everything and on top of it, every single day new websites and free books are published to help people learn coding.  Even President Obama is now learning Javascript.

So what you need, in my humble opinion, is:
  1. You MUST be Passionate
    If you are not passionate about learning, thinking logically, and solving problems, then you simply cannot become a great programmer.  You should be as passionate as hell to suffer all the rip offs of dealing with a stupid box called computer, and still smile!
    This is like breeding.  Doing it the way everyone else in the room does is so easy that sometimes it happens without you doing anything special!  But if you want to raise a great child, you should be loving him/her first.  And this is your child within that now wants to learn a new game, called programming.
  2. Persistency -- KEEP PUUUUSHING!
    There are a million things that can stop you at mediocre/good level.  But to keep going up, you need to keep pushing.  Never give up, always keep reading new article, play around with new technologies, try out all cool stuffs that you can find, and enhance your internal desire to discover and improve.
    I remember one of the sources I first learned HTML and most of CSS2 hacks back to 2000 was "Menu>View>View Source" of the browser.  As simple as that.  And I was doing it for every single website that I was finding interesting to answer my child within when he was asking me "How did they made this header floating with background when I scroll?"
  3. Don't just read/watch, COME DO IT!
    Computer Science (what's being taught at school) and Computer Engineering (what programmers are) are thousands of galaxies faaaar away from each other.  We make $200,000,000 a year in my current start-up company in San Francisco (with 2 digit developers) and half of our greatest developers doesn't even have a degree in CS!  This is the real life.  Just by reading how Java handles garbage collection using a GPU after a multi-thread job which is written using polymorphism, takes you to absolutely no where!  This is exactly like studying cellular biology to develop a six-pack.  All you need to know is what are those six items/packs, and how you can grow them, and then keep doing it.

    3.1. Embrace Open Source!
    Open a github.com account RIGHT NOW! Then start forking cool projects that you can think you'll like and keep improving them.  Submit a pull request, or simply ask the author if there's any bug/feature around that you can help fixing/implementing.  Make your hands dirty.  Yes, this is the price to pay for becoming great.

    3.2. Be Brave! No one is going to laugh at you
    I did my first open-source web-application when I was 17 and using a dial-up connection in Iran to connect to the Internet.  And it was an amazing experience for me to see people in Spain, Portugal, France, Australia, and everywhere were using my service a week after that and asking me to add new features.  If I would have shared my idea with any of my friends they would laugh.  But all I did was hard work, not giving a $#!+ to anyone, and doing it.  It took me 6 months, $50 to buy a domain and a hosting service, 11000 lines of unmaintainable Javascript codes, an F in math in college, a shift in sleeping routine.  But the experience I got is worth a million times of what I paid.
  4. Trust in yourself! Not everything is already invented.
    More than a million times this thought will come to your mind that all great ideas in the world are already implemented or are being implemented by someone in a cool place of the world right now. NOT TRUE!  Google wasn't the first search engine.  Facebook came where there was many social networks around.  Twitter was nothing but a blogging service with an if limit on number of characters that you can post.  Dropbox wasn't the first file sharing system.  Slack (software) (they went from zero to $2,800,000,000 value in a year and half!) wasn't the first chat software. 
    Yes, You can be the next! Trust in yourself man.



    No, you don't need a mentor!
    You are your own mentor.  Just believe in yourself and go learn how to learn fishing

No comments:

Post a Comment