Hacker News new | past | comments | ask | show | jobs | submit login
Things I Wish I’d Been Told: Tips For Students with a Bachelors in Computer Science (bbn.com)
134 points by dedalus on Feb 26, 2009 | hide | past | web | favorite | 59 comments



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.


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.


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.


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


I totally agree... this is especially true for web development where almost anyone with a passion for solving problems will do some sort of personal projects or freelancing due to how easy it is to get set up and competing. In my first interviews straight out of University, after four years of intensive Java, all we talked about was some PHP CMS I did for a friend. I got the job too.

The other rule I'd add to your list is:

5. The first job you get is vital for the future direction of your career. You REALLY need to be working with talented people who are better than you and know what they're doing or your progress will suffer.


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....


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.


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.


Well the article was about 50% financial advice and 50% generic business/personal skill advice. I think it's great advice despite what kind of company you are working for, even if you are an entrepreneur.


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


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


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.


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.


> There are so many benefits, and as long as you have a little self-control, pretty much no downside.

I would change that to "a lot of self-control".

As someone who is filing for bankruptcy (due to investment property loss related to the sub-prime debacle, not credit cards) and has had all his credit cards canceled (even the ones paid on time), I can tell you how much more difficult it is to live off cash alone. There have been so many times when the flexibility of a credit card would have saved me from several $35 overdraft fees. Such repeated experiences quickly teaches you to change your habits and be more frugal.

If you don't feel disciplined enough with your credit cards now, try not using them at all for a few months. Take them out of your wallet and stick them in a box at home so you can't use them when you're out.


> 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.


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.


Well if you know that you won't pay your balance on time or that you would spend more money then its not the thing for you. Frankly credit cards for me are also a nice convenience. They save me the time of going to the ATM, paying for my purchases and tracking what I'm spending my money on. It also eliminates all that loose change I always lose or accumulate in a big jar. For my start-up business it makes giving my accountant my expenses a much easier task as well.


Hear, hear! If I had gotten a mileage card when I was 18 and used it for everything, I'd easily have a few round-trip first-class tickets' worth accrued by now.


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.


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 :(


Maybe he expects a draft from you ? If it's good it should get things moving really fast.


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.


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.


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


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.


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...


Buy a total market index fund. That is literally everything you need to know about asset selection if you start an IRA in your twenties.


Standard and Poor 500: http://www.google.com/finance?q=SPY http://en.wikipedia.org/wiki/S&P_500

Russell 3000 Index: http://www.google.com/finance?q=IWV http://en.wikipedia.org/wiki/Russell_Indexes

These are highly correlated over the short run, but technically different investments. So, you can get cute with the taxman by writing off a loss on one and buying into the other every down year.


This is why asset management types bring in their big bucks. Ask around to see if anyone has a trusted financial guy (gal) they use to manage the 401(k). The general advice: well-diversified; held for long-term; mix of stocks, treasury bills, bonds, preferred shares, etc.

Caveat -- Crises like the current one can wipe out even the best of portfolios.


There's no such thing as 7% yearly interest without risk. It just doesn't exists.

If you look at government bonds (a.k.a. TBills), they'll tell you exactly how much interest a truly risk free investment is worth (in yearly interest). Anything higher then that is risky, by definition.

On top of that, you have to factor in inflation.

In other words, it's good to save money, but managing saved money is hard. Be ready for that.


"If you look at government bonds (a.k.a. TBills), they'll tell you exactly how much interest a truly risk free investment is worth"

That used to be true, but it isn't strictly true any more. The Credit Default Swaps for US Treasuries are priced to imply that you need to subtract around 1/10 of a percent (100 basis points) from the yield to get the real risk free rate. See http://www.fxstreet.com/fundamental/analysis-reports/sunrise...


A CDS for US Treasuries seems crazy. I wonder how many counterparties would be alive in case of a default...


I think that's why they are basically risk free. When something that major goes down, chances are your greenbacks won't be worth a damn.


Vanguard's index fund has averaged 9.7% a year for the past 32 years.

https://personal.vanguard.com/us/funds/snapshot?FundId=0040&...


It didn't seem that impressive to me. Looks like it made all of its gains 10+ years ago, and their still getting factored into the 32-year average.

If you want go that route, invest in MSFT, which has averaged something like 50% over the past 22 years.


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


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


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.


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


Common sense, isn't.


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


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.


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."


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.


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


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.


That's an extremely low starting salary even though you said 'at least'. I made over $10,000 last summer as an undergraduate intern at a not so big company. Full time graduate jobs I imagine would start you with at least $50,000. Despite it not being the dot com boom, it's the time and age where companies realize that technology is needed to increase efficiency. Therefore CS majors are in quite high demand in my experience. Companies come recruiting for us, we don't really come to them (with companies like Google as the exception).


"at least $10,000 more", not "at least $10,000 or more". That's at least $10,000 more than the $50,000 he already mentioned, or "at least $60,000". Which is not an extremely low starting salary.


In big companies in the valley, I guess the starting salary for a software engr is 80K+


California must be really expensive.

$40,000 seems to be standard here (North Carolina).


The silicon valley is insanely expensive; other places in California have more reasonable costs of living. In my hometown (Sacramento), $40k/year can buy you a modest house and a comfortable lifestyle. In San Jose (where I live now), you'd better be making at least double that (for a modest home).


I hear that. I'm making about double that and am barely keeping up with my rent in Campbell. Granted, I have a wife, kid, and a lot of debt to pay down.


Don't suppose you know of any HN/YC-related meetups in the area?


http://www.meetup.com/Hackers-and-Founders/

But I've never been, mostly due to being dependent on others for rides.


I've been going to Hackers and Founders off and on for the last six months and always enjoyed myself. Jonathan does a great job of making it a welcoming and friendly environment. Bring your side project, or help give feedback to other people about their side project. It's a great way to get an outside perspective on technology (that is, apart from the people you normally work/socialize with).


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


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).


If you have to ask, it's better to have the raise.

The bit in there about employers being happy to see their share price rise to just $10? It's pointing out that your interests and the founders interests aren't aligned. Founders have so many shares that a $5MM sale can be a winning lottery ticket. It might mean just $5,000 for you.


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.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: