
Help a Indian CS grad - r0h4n
Hello, I am a first year student in a BS Comp Science course at a Tier 2 Indian University.
I am very frustrated and scared due to what I have read and observed in general about IT/CS jobs. I just need you guys to give me some guidance about what i should pursue.
The job scene in India is normal. Most jobs are with the Big outsourcing Consultancies like Wipro, Infosys et al. After talking to family and friends in the industry, these jobs seem like a scam, pretty much same tasks day in and out. I dont want to be a billable warm body.<p>I on the other hand, have studied computers and the science behind it since i was 12.I am good at development, and yes i have also read TAOCP thrice and i am well versed with algorithms and low level hardware and architecture, In short, i am not a code monkey. So now i am in a dilemma as to what i should go deep into? I love infrastructure stuff like Networking/Sysadmin/Build and release stuff. And since most programming jobs in India are mostly boring java/.net jobs, i want to avoid them.<p>Can you guys guide me as to what specialization i should go after. And since it is India, I will need certifications to prove my worth. I was thinking of Doing Red hat certifications and cisco and juniper certifications(just to get my foot in the door). If you guys have any suggestions, I would really be helpful if you guys could help me out.<p>My current skills:
Programming: Python(love it) , Java (safe backup for job), C/c++ (mostly QT), mostly all types of shell scripting.
Frameworks: app engine (both python and java), django, sql alchemy. and all other java frameworks starting with 'J' :)<p>What i am intrested in:
Networking Hardware/ Planning/ Design.
System Planning/ Design / Maintainence. (any platform)
mostly data center jobs.
======
devmonk
'i have also read TAOCP thrice... i am well versed with algorithms and low
level hardware and architecture... i am not a code monkey'

Keep telling yourself that, but if you are a developer, you will be a "code
monkey" in one way or another until you've worked your way up a bit, no matter
how good your background is.

I've worked with PhD's and Master's CS students from around the world that
have written bad code. We all do, but the less supervision and review, and the
less people care, the worse the code. At the same time, it took me several
years to realize that what people build up to be the ideal can be just as much
of a waste. (Your team spends all that time working with the perfect process,
but you've added overhead that never needed to be there, because the customer
doesn't care. Think about the early success of Windows. That was a product of
the lower end of "good enough" coding/design.)

But despite aiming for "good enough", you need to go through the rest first.
Good practices and techniques are learned from working with good people. You
should be so blessed as to have a great mentor as a junior. And as a mid-
senior-principal/architect, you should be so blessed as to have great people
working alongside you at least at some point (not big names, but just people
you respect quite a bit at least) and in good environments (places were you
respect the process as one of the best in the industry as far as you are
concerned doing something you love).

Anyway, again based on what you said, if you have the opportunity to go into
firmware, device drivers, OS development, etc. you might look into that. You
might need to go out of the country, though (take a chance!).
<http://www.indeed.com/>

You could also (assuming you have the money, which I'm pretty sure you do)
continue education and go the engineering route if interested. Chip design,
etc. can make a good amount of money, and your skills probably wouldn't go to
waste necessarily.

~~~
r0h4n
great advice man, well my parents do have money, but regarding your
chip/hardware design advice, are people really gonna use anything other than
x86? i havent seen any ad for ASIC designers, Anyways, i would love to get
into firmware,driver development for sure, do i need a masters to do that? i
mean i can self taught myself noob level kernel hacking , if i stick to it, i
would be able to do it, I am sorry i am asking so many things, i just need a
path. :)

~~~
devmonk
Chip design has never stopped. I have a relative doing chip design who makes
good money. Moore's law has been validated because of chip work and research
that can be applied to it. Someone is doing it, why not you? But there is so
much more to engineering than that. If that stuff excites you, look into it.

If you are going the firmware, driver, OS etc. route, make your resume, etc.
the best in the world as far as you are concerned, after having looked at the
online ones of those you respect. Add what they are looking for to your resume
(don't just list things, but a sentence about what you did), so the manager
and HR see them. Don't fill it with every possible thing you know, or you will
get overlooked. Don't try to be something that you aren't either. Don't try to
prove everything you know by reciting every detail, unless they are interested
in it, but provide enough detail to show you know it.

Find all opportunities that you are excited about (and don't let country
boundaries affect your decision, if you are young, but don't just move
somewhere unless you are fairly sure you can get and keep a job there).
Contact those people. Know that you are getting on the ground level and don't
worry about salary, etc. yet. Focus on the best environment and finding who
you believe will be a great mentor. Understand whether they are excited and
serious about their work, and whether the rest of the tech world respects or
would respect what they do. Get some interviews.

Once you are there, focus on what you can do to help the business without
making your manager look bad, but learn everything inside and out. You will
succeed.

~~~
r0h4n
i will try what you say. i have never thought of such details about resume and
business. thnx again :)

------
mallipeddi
There are two popular options for Indian CS students:

1) Write GRE, apply to some good American CS grad schools, finish the Masters
degree and start working for your dream startup in Silicon Valley or any of
the top software shops. This will also help you with getting a work visa
(having American Masters is an advantage).

2) Alternatively if you would like to stay and work in India for a while,
there are some great places to work within India. You can work for top-tier
global companies like Intel, HP Labs, Google, Yahoo, Adobe, NetApp. I'm not
too much into the Indian startup scene but there are some interesting early-
stage internet startups like Flipkart. I used to work with the Hadoop team in
Yahoo Bangalore (90% of the map-reduce team is in Bangalore). Usually these
MNCs have the same kind of work culture (for the most part at least) in India
as their American campuses. You don't have to engage in Visual Studio/Eclipse
masturbation if you work in one of these places.

Re: certifications - if you want to work for the likes of Google, they don't
care at all about certs. Since you're a first year student, I would instead
recommend you try to get an internship at one of these places. Getting a job
offer with the same company after an internship is pretty easy.

~~~
r0h4n
Do these companies hire people from tier 2 (!IIT or NIT) colleges? I cant do
MS in USA (family reasons).

~~~
mallipeddi
I don't think they discriminate based on colleges but obviously it'll be
harder for you (for instance they probably won't visit your campus for
recruitment). You've to work extra hard to make a mark there. Also use
innovative ways to get in touch with people at these companies (usually HR
might not be able to tell you're a great hacker unless they see certain
keywords like IIT in your resume). Go to BarCamps, DevCamps like others
suggested. Yahoo! has Open Hack Days (this is a great way to meet some
employees). I've a few other suggestions:

1) Start working on interesting opensource projects. Get your code up on
GitHub.

2) Try Google Summer of Code (GSoC) - prepare well in advance for this, become
friends with the project leads on IRC, ask them for interesting projects to
propose, and show initiative.

------
maxawaytoolong
Nobody has read TAOCP thrice.

~~~
yarapavan
This reminds me of the classic conversation between Don Knuth and Steve Jobs
(according to a folklore story -
[http://folklore.org/StoryView.py?story=Close_Encounters_of_t...](http://folklore.org/StoryView.py?story=Close_Encounters_of_the_Steve_Kind.txt))

 _“It’s a pleasure to meet you, Professor Knuth,” Steve said._ “I’ve read all
of your books.” *“You’re full of shit,” Knuth responded.

------
SingAlong
Hey DevCamp Pune is happening soon. Attend that. I'm sure you'll learn some
cool stuff there or atleast meet interesting people.

<http://barcamp.org/DevCampPune>

I'll be out of college soon. My tip would be to attend local developer events.
I was surprised about how a lot of guys on HN and #startups are closely knit.
Then figured out that they meet frequently at local developer events. So I
started attending local events at Bangalore, and made a lot of friends here.
Also I'm going to give my first talk at an event tomorrow (not actually a full
talk, but I'll be pitching in for one topic in another guy's talk). Meeting
guys face-to-face pays off. Trust me, it's cooler than meeting some guy with
the x9dzc nick on IRC and saying Hi.

And for god's sake, you just got into college, so don't start choosing your
tech stack right away. Try out as many things as possible. Lua, ChucK, Orc,
whatever. You won't find these awesome 4yrs that easy anytime later in life.

There's nothing called "monkey jobs". You find out why when you go broke and
need money :)

~~~
r0h4n
well i am not against code monkey jobs, heck i would do one if it pays very
high INR, hehe . anyways, i will try to attend the devcamp, i will check out
other details from that website you gave, thnx a lot.

------
deltasquare4
I faced the same issue a couple of years back. As I did my engineering from a
not-so-reputed university, it was hard for me to even get a "monkey-coder
job". I eventually joined Infosys, learnt some good stuff and now I'm an
independent developer working on an idea of my own.

Two good things came out of my working at a big company were money and a
better understanding of what I wanted to do. Also, the thing about service
companies offering only boring coding jobs is not entirely true. Most of the
work they do is boring, yes. But, they also work on some cool stuff. You might
also get an opportunity to work on huge applications which can be a great
experience.

Personally, I would be reluctant to spend more money on formal education in
India. The top-tier universities are good, but the rest of them are not even
close. As you are interested in hardware/networking design/maintenance, you
should probably look for a job at indian managed hosting providers like
netmagic.

------
revorad
If you are looking to stay on and work in India, it's probably a good idea to
go out looking for people and companies doing interesting work. I'm sure there
are some.

Where are you based?

I hear there is a good startup scene in Bangalore. I know at least one friend
who's recently moved there to set up his startup. I can put you in touch with
him.

I've even seen some incubator programs (being touted as "India's
YCombinator"):

<http://www.iaccelerator.org>

<http://themorpheus.com/>

<http://www.paisa.com>, based in Pune, is an interesting company and I think
they are working with some interesting technologies too. I exchanged email
with one of their founders recently and they sound like fun people.

This old thread might be useful - <http://news.ycombinator.com/item?id=54085>

Feel free to drop me an email.

~~~
r0h4n
M in my first year, and since you know how Indian Universities work, I wont be
able to leave my city. I am based in Maharashtra, Aurangabad. It is very close
to pune. But as of now i am freelancing in my city a bit (mostly web
development). As i said, currently i need some help with deciding whether to
get deep into development or go with the admin/planning n management of
infrastructure stuff (cause i love that). And since most Dev jobs in India are
monkey jobs.

~~~
revorad
Don't be so disheartened already man! You are passionate and proactive, use
that to your benefit.

Most jobs may be bad, but you are good enough to avoid most jobs and go for
the few good ones. Just hop on the bus to Pune, meet some people and get
started. Maybe, you can start working remotely? Or commute once a week?

Don't decide between dev and admin purely based on opinion and speculation.
It's probably best to try both out and see which you like more.

Edit: Don't just rely on asking HN. Rely more on asking local people around
you. Beware the danger of using HN as an excuse for not taking real action.

------
ashitvora
Dude, University doesn't matter. Better you score in GRE, better university
you get.

Regarding you question. If you are really passionate about working on product
and not consulting, Learn more than what is taught in class, contribute to
some open source projects. Apply some universities in US. I don't think
startups really care which university you come from as far as you are a real
hacker.

And if you want to stay in India (which is not at all a bad idea), you can
join some product based company there too. Or may be start something of your
own. Since you are still in school, it's worth trying out.

And just FYI education in India is not as bad as you think. (I did my
Bachelors in India and Masters from one of the top ten universities in US).

------
emsysman
You are not a code monkey. You have read TOACP thrice. You love programming in
Python. You love networking/sysadmin/build and release stuff. If all the above
is true, there is really no value in doing Red hat, cisco or juniper
certification. If you love programming, contribute to open source. People will
notice you when you work on open source projects. Then by the time you finish
college, you might get some consulting work as a freelancer. Once you are get
some money doing consulting, try to do some simple paid webapps. You would
also be familiar with what people want by that time.

~~~
r0h4n
what about large scale sysadmin/isp or large scale networking jobs in India?
are there any? if you say i dont need certifications in India , can you hook
me up with an interview then? cause most companies prefer certifications, they
dont mandate those, but they do desire.

------
amitshah
Get involved with open source projects. Get noticed in the community. When
you're out of college, you could use the network you build in the communities
to land you a job.

Red Hat does have an office in Pune, you know that -- right?

~~~
r0h4n
I feel like i was livin under a rock. Didnt knew there are good companies in
India. I knew about Red Hat though. I will join the other communities like
barcamp suggested below too.

Is there any google group or irc for people working in product dev and good
service companies?

~~~
amitshah
I don't know about service companies -- but you can look up irc channels where
fedora-india people hang out, it has quite a few Red Hat people in there.
There also is the fedora-india mail list that you can join and take part in
the Fedora Students Contributing program to pick up jobs to do.

~~~
r0h4n
sure, thanks a lot for replying, appreciate that :) .

------
zmanian
What you are looking for in India is product-focused company rather than a
service focus company. A product focused company will try to turn your hacker
skills into engineering skills. My company ReaMetrix is a biotech company but
we make instruments as well. We do a lot of prototyping in python along with
web, firmware and image analysis. You would be exactly the kind of candidate
we would look for. Also knowing what Hacker News is a big plus.

~~~
r0h4n
do you hire a guy with no degree? since i am currently pursuing one. Else we
both might have to wait 4 more years :)

------
nc
We might have something interesting for you, product development role in
Bangalore. Didn't see an email address on your profile. You can reach me at nc
at appspark.us if you'd like to know more.

------
axemclion
There are a lot of product companies in Bangalore, Hyderabad,Pune. I suggest
you join communities like Barcamp, DevCamp, etc. Sign up for BarCamp Bangaore
and you should get all that info..

------
RealGeek
Apply for a job at Amazon Bangalore. They have a team that works on Amazon Web
Services platform.

For hackers, there isn't a better job in India than to work on AWS cloud
computing platform.

------
nileshtrivedi
For datacenter jobs, look up E2E Networks. They are a cool bunch and hiring as
well.

<http://e2enetworks.com/>

------
rkwz
There _are_ companies here in India where you can work in very interesting
projects.

------
known
Did you ask your CS professor this question?

~~~
r0h4n
yea, he said apply to infosys or tata consultancy services.

all he does is wait for companies to come on college campus and then tries to
get as many students in entry level jobs as possible.

~~~
RealGeek
I would rather work at McDonalds than Infosys or TCS.

------
rick_2047
What do you mean by a 2 Tire university? Does it mean like a deemed university
but takes admission from state level entrance tests? Then nice to meet you, I
am also in such a situation (but doing ECE).

I was just wondering do we have only a CS hacker scene? I mean I am more into
hardware, embedded systems and such, do we have communities for that? Also are
there any such communities in or near Ahmedabad (or Gandhinagar).

~~~
r0h4n
By Tier 2 i meant, not the IIT's or REC's just government run engineering
university college.

i am also intrested in embedded stuff, but just as a hobby. you must look into
the arduino project if intrested .

