

Ask HN: What advice do you have for a new Computer Science graduate? - abhpdk


======
codegeek
1\. Real world is hard, mean and tough. But it has a lot of good in it as
well. You will get hit but keep moving forward.

2\. If you were popular in college (if you were), it is going to be different
in the outside world. You are just a number and no one gives a shit until you
become someone worth noticing. So keep expectations low.

2\. What you did in Computer Science at school/college is going to be way
different in the corporate world once you get a job. It will be a lot more
than just programming or theory.

3\. You will have to deal with things called "people", "co-workers", "users"
which come in many different forms. Some will be nice to you, some will be
mean to you and some just won't care less. Don't take it personally. It is all
professional. You will probably not make as good friends as college/school
anymore but be nice and friendly as much as you can.

3.1. If you have a problem with someone (at work), go talk to them in person.
Not on phone, not over email.

3.2. Use email at work with caution. If an issue needs to be discussed and a
resolution is pending, do not use email to resolve. talk in person. If in
person is not possible, then phone is the next option. Use email to
communicate decisions or things that don't need resolution.

4\. Always look for mentors or people you can look up to or learn from. This
really matters and will help you in the long run. Learn from the best if you
can. Watch their body language, how they communicate and what works. Don't
wait for someone to come and teach you things or change your world. Ain't
happening. _You_ need to take the initiative.

4.1. Technical skills are good but always look to work on communication
skills, negotiation skills and ability to influence others in a positive way.

5\. Never take a job/company too seriously. There is no such thing as loyalty.
If a company doesn't need u, they will kick you out. Period. So you need to be
the same. Always look for your best interests. Having said that, give your
best/100% when at a company. Don't slack off. People always know and notice.
They may not say on your face but you will be respected.

6\. If you think you know too much and the other guy is stupid, think again.
The more experience you get, the more you will realize how less you know. Keep
yourself grounded.

7\. Be positive and optimistic. Associate with people who are better than you
and whom you want to be like. Don't be friends with naysayers. It really
matters.

------
karterk
A few things I learned along the way:

* If you end up as a software engineer, building good software has a lot of things that fall outside core computer science concepts. Read up about unit testing, continuos integration and continuous delivery.

* Build, build and build. No amount of reading will help you tackle some of the issues that real-world data will throw at you. An active Github account also serves as a validation that you are actually capable of "shipping things".

* Breadth is important, but continue to focus on becoming great at atleast one thing.

* Learn a few languages. Pick one or two which are statically typed (Scala, Haskell), one or two that are dynamically typed (Python, Ruby). I also highly recommend Erlang which was a revelation for me.

* Master Git (or Mercurial, if that's your thing).

* Choose to work in companies where you feel you will be surrounded by people smarter than you. This is possible even outside the Googles and Facebooks of the world.

* Don't get overly attached to your tools. Languages, frameworks and editors are a means to an end. Be open to new ideas and better way of doing things. There is an initial learning curve before you start becoming truly productive in anything and so be mindful of that before you dismiss something.

* Lastly, don't get burned out.

------
Donito
Don't be scared to ask questions. You will [most likely] be interacting with a
lot of very smart people with years of valuable experience. Don't be scared to
ask question and learn from them.

------
waqasaday
Read this: [http://www.jamesaltucher.com/2011/07/life-tastes-best-
when-y...](http://www.jamesaltucher.com/2011/07/life-tastes-best-when-you-eat-
what-you-kill/)

------
orangethirty
Learn form engineers/scientists in other industries. When I started to learn
how bridges were built my understanding of software became better.

------
tectonic
Always keep learning and doing and you'll be fine.

