
Things I Wish I’d Been Told: Tips For Students with a Bachelors in Computer Science - dedalus
http://www.ir.bbn.com/~craig/things-i-wish.html
======
wallflower
I liked this guide, even though it was brief - there were some useful career
koans.

> Finally, don’t forget to be well rounded.

When I started my first real software development job at a fairly large
company, I was surprised to see that practically everyone worked on their own
life outside of work, with a few exceptions (like me, at the time). They were
part-time geeks in that they spent time away from the computer - when they
were not at work. That was the biggest difference for me - going from college
to the work force.

Some had families - which were their focus - every year around Halloween time
it was vividly evident how important their children were ("John has two
kids!.. I had no idea") and their jobs were (to support their families).

Some invested time in hobbies - whether it involved fixing up motorcycles,
renovating their house, and my favorite (volunteering to maintain old railroad
steam engines and _run_ them on occasional weekends). The weirdest hobby - was
a guy who did rubbings - as in rubbings of gravestones - when he traveled.

The first years in software development can be intense because you (usually)
can hyper-focus on it. Once you get some experience, you'll start to realize
it's not about the technology - there are common patterns. And once you have a
lot of experience, you might be on the transition path out of wanting to code
with the latest out there - e.g. settle down, start a family.

> That point is worth repeating another way: an extra dollar in salary is not
> really a dollar, it is 60 cents.

In the crazy dot-com days, I invested a mere thousand and made $25k+ and lost
it all on margin calls. And learned to realize how hard it is to actually make
$25,000 while paying living expenses. Tracking is the first step to budgeting
- and it can be painful.

~~~
simonista
I'd like to put a plug in for doing gravestone rubbings. If you've never tried
it, grab a box of crayons and some paper and maybe a date and head over to
your nearest cemetery. I've only done it once or twice but I've found some
really cool patterns and textures both times.

------
nihilocrat
Here are some tips that are more relevant for the semi-recent job market (I
graduated in 2007):

1\. If you aren't doing an internship or working a job that's related to your
field (like doing systems administration / development for the college or a
local company), you are behind, even if you are on the Dean's List. These
days, employers seem to be able to find enough people who have done something
parallel to their education, so if you don't you will look just as
inexperienced as if you had no degree at all. The bar got raised and it's
possible no one has told you.

2\. I am probably biased towards the job market in my area, but hardly anyone
wants entry level, and as I said above, no one wants "ground level" (just a
degree) unless you are gunning for a helpdesk / PC tech position. I figure
this is because the hiring pool of experienced IT workers is large enough and
their quality versus fresh recruits better enough that they feel they don't
need to look for junior staff that they plan on training.

3\. As others have said, you will only really use a small set of the skills
you learned in school. Work will remind you more of your job / internship /
side projects you had during college. This is probably why employers scoff at
degree-only graduates.

4\. All of this advice is of course just my personal experience, and many
employers probably have different beliefs.

~~~
nradov
I've been recruiting developers for intern and entry-level positions lately.
If anyone cares, here are the factors I look at when doing preliminary resume
screening (in order of importance).

1\. Time until graduation (we prefer candidates who will be graduating soon so
that the good ones can return as full-time employees)

2\. Software development experience that goes beyond class projects (including
other real jobs, previous internships, and work on open-source projects)

3\. Familiarity with a variety of programming languages (some schools teach
most classes using Java plus a little bit of JavaScript, but we like to see a
greater breadth of experience)

4\. Relevance of major (Software Engineering is probably the closest fit,
followed by Computer Science, Computer Engineering, Information Systems,
Applied Mathematics, etc.)

5\. School reputation

6\. Master's versus Bachelor's degree status

7\. GPA and academic honors

------
arebop
Maybe I was unusually naive, and probably everyone's more informed these days,
but the thing I'd add is that tech companies are very different from other
companies for CS majors.

I supposed in my innocence that there were the overtly-sexy apps and the
unsexy but still challenging apps* . I haven't had the opportunity to work for
a real tech company yet, but my impression is that programming in IT is
essentially a different career compared to programming in a software company.

*It's not just a matter of nasty-little-problems. It's also a question of cultural values. More on this at [http://enfranchisedmind.com/blog/2009/02/22/programming-does...](http://enfranchisedmind.com/blog/2009/02/22/programming-doesnt-suck-or-at-least-it-shouldnt/).

~~~
jacoblyles
Does anyone have experience with defense contractors? They are a big recruiter
of CS grads in San Diego. I would like to know your experience versus working
at a tech shop or a corporate IT shop.

~~~
smanek
I work at a defense contractor now (and have worked in a tech shop and
corporate IT before).

The main problem I've found in defense contracting is that it isn't flexible,
and (in my opinion) too many design decisions are made at too high a level.
Details that don't really matter (what implementation of X we're going to use
in development, for example) are decided (and made effectively immutable)
before it makes sense to do so by people not actually doing the coding. To be
fair, I've only been around for a month (and this is just my experience with
one contract), so take it with a pinch of salt.

Corporate IT, in my opinion, is pretty boring. There were two of us supporting
~500 users across the world (offices in Chicago, NY, LA, London, etc), and I
still had a lot of down time. We had some simple tools that took care of 90%
of our work (re-imaging, backups, data migration, etc), and the rest were a
lot of reasonably easy one-off jobs (simple tool to parse excel reports, load
monitioring webapps, etc) or product evaluation (Evaluate these n products,
talk to these 2n vendors (sorry, 'solution providers'), and write a report on
your recommendation). There were one or two reasonably interesting projects (a
'visual voicemail' feature hacked onto our avaya phone system and some genetic
algorithms for scheduling a conference), but they were the exception. Far more
time on the phone talking to end users and vendors than I would like.

------
cake
I recently joined the "workforce" and wish I had had more advices as a
student.

It's a good but incomplete article, I would add : \- Working is hard, it's a
very difficult commitment. You'll have to keep motivated with little help and
you'll be alone in difficult situations. \- You'll be paid less than you think
you do in the first years, but it will gradually increase \- The caricatures
you see on tv are mostly true in the corporate world \- A lot of stuff you'll
learn in school is bullshit, it'll be either obsolete or inadequate at work

------
dallasrpi
I would say everything on this list rings very true. One thing I wish I had
done sooner is to take advantage of rewards on credit cards. These days you
can buy almost anything with a credit card so you might as well get something
in return for it. You have to do your homework but several with give cash
back, free hotel rooms, free flights etc. These perks can add up over time and
save you some money. Additionally using services like Mint to track your
various accounts will help you see where you spend most your money and give
you a big picture of your total networth in one spot

~~~
breck
I disagree. I would forgo credit cards entirely. The reason is human
psychology: people spend more when they use plastic. I don't care how smart
you are or how disciplined you are, it is more painful to part with cash than
to swipe your card. Somewhere between 10-20% more painful. In other words,
you're likely to spend between 10-20% more than you would if you solely use
credit cards than cash.

A typical credit card rewards program pays 1.5 or 2%. Hardly a good deal. I'd
switch to cash instead.

~~~
calambrac
I've found the opposite to be true; when I have cash in my pocket, I spend it.

I'm very disciplined about paying off my credit card every month, which means
I have a fixed total budget that I refuse to go over. A part of that I dump
into cash in my pocket for beer and sushi and whatever doesn't accept credit
cards, and the rest I set aside to pay off the month's credit card bill.

The effect of this is that I have to keep a running ballpark tally of how much
I have left in the credit card pile, and since I've conditioned myself to be
deathly afraid of going over, I always estimate conservatively, and I
inevitably wind up with a surplus that I dump straight into savings and never
touch again.

Why a credit card instead of a check card? Because the credit card company
pays me that 2% for free, because if it gets stolen it's the credit card's
money at risk and not mine, because if an emergency happens I have the
flexibility to break my rules, because it establishes a credit score that I
can parlay into lower interest rates when I want to buy a car or a house
later.

I think the advice to not have a credit card is pretty terrible, actually.
There are so many benefits, and as long as you have a little self-control,
pretty much no downside.

~~~
breck
> I think the advice to not have a credit card is pretty terrible, actually.
> There are so many benefits, and as long as you have a little self-control,
> pretty much no downside.

I disagree. This is great advice for the majority of people. Not everyone, but
the majority.

Do credit cards offer benefits? Yes--convenience, expense tracking, protection
against theft, etc.

Are these benefits free? No. People spend a lot more using credit cards than
cash. Maybe not you, but most Americans. I don't care enough about this to
look up the stats, but I do have a PHD psychologist friend on the payroll of
one of the major credit companies and his job is to contrive ways to make
people spend more on their cards.

Think about it like this: your cash is dumb--it justs sits there in your
pocket. Your credit card is smart, however. A whole cadre of smart people--who
are incentived to get you to spend more and pay late--are tracking how you
spend money and are cooking up ways to get you to spend more and pay fees.

I know the empirical numbers would help my case more, maybe I'll dig them up
and write a blog post about it.

~~~
calambrac
If the numbers show that people spend irresponsibly with credit cards, that
isn't necessarily evidence that it's good advice to say "Don't get a credit
card". Those numbers you're basing that advice on have a built-in skew towards
people who have chosen to use credit cards. You have to ask the question
"Would a person who would accept the advice to not get a credit card behave in
the same way as the average credit card user if they did have one?"

I would argue that if you're seeking and open to advice on whether or how to
use a credit card, you're probably already differentiated from the free-
wheeling credit-abusing mob, and that if that's the case, if you know you can
be responsible with it, it's actually a really great idea to have one.

------
dasil003
This article perpetuates one of the most common errors that new startup
employees make. Namely, referring to a share or option on stock as a value
that can be estimated.

The FIRST thing everyone needs to know about stock options is how many there
are, and then look at possible exit strategies for the company, how much more
funding will be needed, and what the valuation is when your options are
granted and what they were for the different funding rounds. In essence, it's
more important to know your ownership percentage than an absolute number of
options.

------
acgourley
I told the dean of the college of engineering at my ol' university that alumni
such as myself should be tapped for writing articles to the current students
with info "we wish we knew back then." More "real world" stuff about the job
market in the valley, etc.

He said it was interesting but never acted on it :(

~~~
dhuck
Get in touch with your school newspaper (if you have one.) I wrote for mine
throughout college and I know that editors are ALWAYS looking for articles
from people like you. Trust me, the campus wants your voice, you just have to
be proactive about it.

------
callmeed
_Tips for Computer Science Drop-Outs Like Me:_

\- Get a decent paying job doing developement or IT. At the very least,
something that gives you health ins.

\- Do consulting/contract gigs on the side. Choose projects that will let you
expand your skills and learn new technologies.

\- Live below your means and save money for 12 months.

\- Month 13: build and launch your startup.

\- Continue your job for at least 6 more months, but stop doing the side gigs.

\- Month 18: Evaluate your startup. If it's making money, quit your job.

\- If it's not making money, build and launch another startup.

\- Repeat as needed.

------
sam_in_nyc
I wish it told exactly how to get 7% a year on an IRA.

~~~
jerf
Good news! It doesn't matter because that 7% interest has been wiped out
anyhow!

In the past ten years I've been able to sock away nearly nothing in retirement
due to the amount of time I've spent unemployed, and I'm currently 30. While
I'm as affected by the market issues as anybody else, one side effect of stock
prices dropping back to 1997 levels is that all the interest I thought I was
missing out on, it turns out I wasn't after all.

Man, I wish I were twenty and had a good job now, buying my IRAs at the bottom
of the market like this.

~~~
dasil003
Same here! I put $2000 in a Roth IRA in '98 and never made another
contribution. Now it's worth $1800. Of course it would be nice to have $18,000
at 30 instead of $1800, but there is some redemption. Now, about the $5000 in
credit card debt...

------
eli
I kinda think a lot of this stuff absolutely has to be learned the hard way.

------
fatbat
I like the bit about Managing Your Boss where the workplace now is more of a
symbiotic relationship. Interesting realization when mentioned.

------
decode
There's quite a bit of good information on this page about how to spend money
on yourself, but there's one important thing missing: how to give money away.
I think the most difficult money-related issue I've had to deal with is
deciding how much of my income I'm going to keep for myself and how much I'm
going to give to those who need it more than I do.

When you come out of school and land right in the middle class, as most
professional developers do, it's pretty easy to take care of your basic needs.
What's more difficult is balancing your (often frivolous) wants and needs in
the present, with your needs in the future (retirement), with the basic needs
of others. I don't see many people talking about how to do this in a
responsible and morally satisfying way.

------
vaksel
is it me, or is pretty much the entire thing extremely common sense? Maybe I'm
forgetting my college years, but I'm pretty sure I knew this back then

~~~
donw
Common sense, isn't.

------
flashgordon
The thing that I keep hitting myself over the head is regarding taking
risks... I wish I had known that after I graduated...

------
nazgulnarsil
set a high but attainable percentage goal for savings. if you're making
typical programmer salary at a young age with no major expenses it isn't
impossible to save 50% of your paycheck.

Just remember: once you can afford a down payment you recoup a huge amount of
your own income by investing it in equity instead of throwing it away.

------
Hexstream
Choice quote:

"Part of your job is figuring out what your boss is good at and what your boss
is bad at, and asking your boss for help with things that your boss is good
at, and politely giving your boss help with the things your boss is bad at."

------
blackguardx
I am surprised that the average starting salary in silicon valley was only
$50,000 in 1999. I was under the impression that tech salaries never returned
to the dot com boom levels.

The average starting salary now must be at least $10,000 more.

~~~
chengmi
Inflation. $50k in 1999 is roughly $63k now.
<http://www.usinflationcalculator.com/>

~~~
blackguardx
I didn't realize that inflation was that high.

I also have an anecdotal reference point. A friend of mine who worked at the
same company I do in the dot com years made over 80k in an entry level
position. I make significantly less than 80k right now, albeit in a different
field.

------
raptrex
is it better to have stock or just ask for a raise in a startup company?

~~~
Shamiq
Depends on how well you can predict the future.

In other words, there is a risk/reward function that has the likelihood of the
company being successful as a variable. For all intents and purposes, you'll
basically be guessing this value (high uncertainty != high risk).

------
chiffonade
In other words, the #1 thing for a CS student to know is that the world does
not stop at the borders of computer science.

Teach yourself about money, finances, and the absolute basics of contract law.
There's a reason why lawyers, accountants, and the like make very good
livings.

