Live data from Hacker News

How do I become a Code Ninja or Rockstar?

news.ycombinator.com

1–10 of 19 posts

How do I become a Code Ninja or Rockstar?

#1
Hello friends,

I am a CS major but somehow I feel my programming skills are not great as to match to that of a code Ninja or Rockstar.

I have read most of the algorithms books, Data structures book but somehow I feel I am still falling short of being a good programmer.

I have the following books in mind to complete: a) Programming Pearls b) Programming Challenges.

I am not sure which one should I pick. I have been in industry for past 3 years and know coding languages like Java, C and Python but I haven't had the courage to take part in Google code jam. This is I did and due to my silly mistake I uploaded the wrong output to the code. I was able to solve two easy and 1 hard problems.

In short I wan't to code with ease so that I can crack any coding problems in MS, Google, LinkedIn, Facebook etc.

Don't consider this post as a way to crack the interviews of these companies. I just want to be a Code Ninja.

Thanks!

Looking for your suggestions and pointers.

Re: How do I become a Code Ninja or Rockstar?

#3
Gack.

I throw up in my mouth a little bit every time I hear "Code Ninja" or "Rockstar". Whoever coined those terms should be forced to patch legacy cobol code for all eternity.

To better answer your question, you become great through practice and application of skill. All the reading of material in the world won't act as a fill-in for doing.

So do.

Write a webapp. It doesn't have to be a "startup", it doesn't have to be great, you don't need 5000 users and a techcrunch article about it. You just need to pick a point on the horizon and code towards it. And when you reach that point you pick another, and so on. Forever. In 30 years you will be halfway to greatness.

Re: How do I become a Code Ninja or Rockstar?

#5
I see the problem,

Javascript programmers are Ninjas

CSS experts are Wizards

PHP Developers are Rockstars

I think you are looking to be more of a Java or C Guru, Perl Hacker, or Python Developer.

Not sure why Python experts don't get a "cool" name, that just seems to be the way it is.

Re: How do I become a Code Ninja or Rockstar?

#6
Why do you want to be good at programming? You'll only get there if you are driven by your intrinsic interest in the problems you are trying to solve. Becoming a 'rock star' is a side effect, not an end goal. The way you've phrased your question suggests you don't truly have that intrinsic interest in problem solving or building. Ask yourself what your true motivation is and carefully consider whether sitting at a desk coding is really what you want to do every day.

Re: How do I become a Code Ninja or Rockstar?

#7
1) Learn some languages that force you to think differently, even if they aren't of an immediate use in the industry. I'd suggest starting with Scheme (Little Schemer + SICP) and then learning an ML family language (Haskell or OCaml). A language that incorporates elements of logic programming (Erlang or Prolog) would be useful too. You may not be lucky enough to use these languages in your day-to-day work, but there are lessons you can take home with you e.g., minimizing mutable state.

2) Remember to work on projects that are something more than algorithmic puzzles. Algorithmic puzzles are fun, great and are brain gymnastics, but you should also learn how to write low-level socket code (Richard Steven's "UNIX Network Programming" books are excellent in that respect), deal with concurrency (switching languages again, Java Concurrency in Practice is a great introduction).

3) Participate in open source projects. Dan Kegel has an excellent guide on how to contribute:

http://kegel.com/academy/opensource.html

Even if your contribution to an open source project is small, it will require reading and understanding a great deal of non-trivial code.

Finally, as moonpolysoft said, don't call yourself a ninja or a rockstar.

Re: How do I become a Code Ninja or Rockstar?

#10
Hey, you're not Steve Jobs, are you?

First, aspire to be a great engineer. Ninjas are for turtles and Rockstar is caffeinated sugar water.

Second, design and implement software. Write programs in areas that interest you. Then iterate and design something that your friends or family can use.

Finally, do your best and forget the rest. And continually get better doing it.

(It wouldn't hurt to read "Programming Pearls".)

Post reply on HN