Fog Creek Software
Discussion Board




Career Advice for beginners.



Hi JoS Readers,

I will be graduating in December with BS in CS degree. I have a job offer from a startup, one from a tech company that implements software solutions for banks and an established pure tech company. I am not sure which company to join. All jobs involve relocating, and are quite interesting. Any company I join I want to stick there for a minimum of 2-5 years.

Since there are a lot of you who have been in this industry for a long time, what advice would you offer to someone who is just starting out?

Thanks a million.

Dude with a new job
Tuesday, July 08, 2003

You're (I'm assuming) still young, so you don't need to commit to something for life. So, if you really can pick and choose, pick the one that looks more fun. Visit the sites and see what the atmosphere is like, see if they pass the Joel Test (will you get your own office?)

There are advantages and disadvantages to both large, established companies and small ones. I'm partial to smaller companies, myself. Of course, I'm a signifigant shareholder in two, so that might bias my opinion. :-)

Here's the thing: it doesn't matter which you choose. Either one is going to teach you valuable lessons about your career. Some lessons are more just fun to learn, and that's what you're going to have to value when you make the decision. :-)

Tim Sullivan
Tuesday, July 08, 2003

Scratch the startup, take the bank job.  Once you have some solid experience, move onto something more interesting.

patience pays
Tuesday, July 08, 2003

Each one has it's plusses and minuses... Friends of mine who've worked for both banks and startups tell me that startups are a heck of a lot more fun, and you probably work a heck of a lot more (hint: this is not a bad thing, idleness bring paranoia).

www.marktaw.com
Tuesday, July 08, 2003

Start-ups can definitely be more fun. And the loose structure and understaffed teams can allow new people to gain new experiences and responsibility faster than in a big bureaucratic company.

I wouldn't worry so much about lack of job security at the start-up. There is no such thing as job security these days. Big companies have no loyalty and lay-off people without a second thought, so don't think working at a bank will necessarily be a "safe" job!

runtime
Tuesday, July 08, 2003

The way I read Dude with a new job's post is that he has 3 job offers from 3 pure tech companies (a startup and 2 established ones). One potential employer just so happens to write software for the banking industry.

The only advice I can give to you at this time is -- Check these remote employers out (financial resources, work environment, etc.) as throughly as possible before making a decision. Since none of these companies are located close to where you currently live, you must use whatever resources that happen to be available to you (online search engines, the local library, the Better Business Bureau, etc.).

Assuming you did a good job of interviewing your interviewers you should already have a rough idea what the pros and cons of working for each potential employer are.

One Programmer's Opinion
Tuesday, July 08, 2003

"tech company that implements software solutions for banks"

My only question would be "Is software the primary product/business for all three?"  It looks like the one you refer to above might be a situation where you work for the bank and write their software for them.  My only advice in this situation would be, make SURE you are not a cost center for the company you work for.  Your company will look at you as part of the department that SUCKS salaries away. 

I work for a manufacturing company writing software for their clients to use.  But the internal relationships suck and make you feel like you don't contribute to the company.

Good luck :)

shiggins
Tuesday, July 08, 2003

I have to agree with "One Programmer's Opinion"  check the out financially first.  A company in the middle of nowhere that goes belly up, three weeks after you arrive is going to leave you with a lot of bills, with the possibility of being in an area where jobs are scarce. 

Other than sound as a business, I also agree with those who say, look for the fun.  You are as free as you will ever be in being able to do anything.  You should take every advantage of it you can.

At a start-up, learn to read a P&L and financial statements, and take nothing on blind faith. 

Good luck...

Mike Gamerland
Tuesday, July 08, 2003


1) Do not go with the startup UNLESS they are allready profitable and want nothing to do with venture capital.

2) Once you have decided if the startup is in the running, talk to some coders "in the trenches."  Find out if:


  A) You will like working there
  B) The company is doing things that will enable it to survive in the long run.  (Stuff in "Good to Great" or "Built to Last" by Collins.)

JMHO

Matt H.
Wednesday, July 09, 2003

Business is a pretty simple affair... Just make sure your expenses don't outweight your profits. The more you can do this the better... Obviously some initial costs will have to be offset by something - savings, credit cards, etc., but the formula for a successful business isn't voodoo, though sometimes the marketing bit may seem like it.

You say you want to stick at the company you work for, but you don't mention whether or not this is experience/resume related or income related. You're getting a lot of good advice here... though I suspect most decisions are made on a gut level rather than a purely logical one, and when the time comes you'll just end up choosing one over the others because it "feels" right... Though that feeling may quickly change as you do your homework.

www.marktaw.com
Wednesday, July 09, 2003

Go with the startup. Definetly. You'll get a better work environment and a wider variety of skill from it. Probably.

Mr Jack
Wednesday, July 09, 2003

In the US, youth are beginning to view coding the way 20 years ago we might view labor/manufacturing (i.e., building toasters on an assembly line). The US corp world has now adopted this view as well.

So learn everything you can about software dev, but be equally eager to study people issues -- team dynamics, project management, leadership, etc.

People issues are often messy and unpleasant, but they constitute the real runtime of the organization and will define success past your immediate horizon. 

So my advice is to avoid keeping your head too far down in the code, so that you miss what's really going on around you.

Edoc
Wednesday, July 09, 2003

"you who have been in this industry for a long time, what advice would you offer to someone who is just starting out?"

Don't.


Wednesday, July 09, 2003

To rephrase Edoc's comments; learn about business and people, not just code.

Remember that code is nothing more than a language for automating business and people. It describes a process and that is all. It is the level of understanding a process itself that separates the good developers from the average.

Take Joel for example. FogBugz isn't anything special from a code standpoint. It's success stems from his understanding of the process and the people involved in that process. In the end, his understanding of the process is substantially more valuable that his understanding of the code.

Marc
Wednesday, July 09, 2003

Dude: The first thing you want to do is to make sure that your potential employer has a fundamentally sound business model. For example, the company that writes beanking software - is their ONLY client a single bank? That's a very, very precarious situation for a business to be in. Someone might get to thinking that cash cow would look a lot better on the BBQ.

Try to guage the morale at the respective workplaces. This is tough - you can't really ask directly, but you can ask lots of indirect questions to get a feel for what morale is like. The Joel Test is a useful guage too - are they just hacking any old slop together, or are these people who are proud of what they do? (hint - if you overhear someone there say "Hey it compiles! Ship it!", be worried).

Another important thing for you - since you are starting out, you want to get into somewhere that has a high proportion of experience developers so that you can learn from them. It's even better if somone can mentor you. Ask about how much experience people have, what qualifications they have, etc.

Burninator
Wednesday, July 09, 2003

You mentioned that the jobs all involve relocation. I'd take a look not only at the quality of life in each area, but also the potential other employers in the area. I've worked in several different locations in the U.S. The area I live in now is economically depressed and my employer, who has laid off >50% of their local workforce in the last 2 years, is the largest tech employer in the area. Thus, if I leave this employer, I am likely looking at moving out of the area. That is more difficult with a partner who has a job in the area & kids in school. Someone just starting out probably doesn't have kids in school to consider, but you may have a significant other to consider either now or in the next 2-5 years.

The other factor I'd consider (that I haven't already seen brought up) is the career development and networking opportunities both within the company and in the community. Most of the job opportunities that have come my way in the past ten years have come through my network -- people I've worked with either through my employer or in community service. I've also had the opportunity to work on a variety of different types of software projects rather than being stuck in a corner using an obscure language doing the same type of project over and over again.

BTW, congratulations on getting three job offers in this economy!

Elaine
Wednesday, July 09, 2003

Location, location, location!

This job will not be your last. Your second job will likely be near the same location as your first, maybe from job contacts you made. I would make sure the job you take is in an area that has lots of other high tech jobs.

runtime
Wednesday, July 09, 2003

See look, it's just just me. Elaine was just paraphrased by Runtime.

www.marktaw.com
Wednesday, July 09, 2003

Have fun.

If someone suggests something and it looks interesting and doesn't involve the risk of spending time behind bars (other than ones stocked with alchohol), do it.

Simon Lucy
Thursday, July 10, 2003

*  Recent Topics

*  Fog Creek Home