views:

237

answers:

9

The title pretty much says it all.

Do you do any preparation when switching jobs?

I've been reading up on some of the technologies in place, is there anything else you've found helpful?

A: 

I'd say get good and drunk the night before.

samoz
Speaking from experience, trust me, hangovers are NOT conducive to programming. Especially when it involves heavy math!
Eric
They are essential for witty, inappropriate comments and for making unforgettable first impressions though.
samoz
+3  A: 

In the past, I've asked a DBA to walk me through the database that I will be working with. This may even be a good time to get a print out of the tables for your own personal use (if your company allows that).

Speak with your new team, learn what conventions they use. Get familiar with their practices and their work-habits. Learn as much as you can about the project(s) you're about to begin, and discuss them casually to determine your familiarity.

It's also good to look at other applications you'll be working with closely. Many smaller teams won't have any problem giving you access to a staging-environment, and access to operable-code to toy with.

Keep in mind that I've been fortunate enough to work on smaller teams (2-10 guys), and typically it makes this type of preperation much easier. If you're working in a much larger environment, you may find that upper-management will keep source-code away from you, the database out of reach (and sometimes keep the schema secret), making it more difficult to get familiar with your environment.

Take your project manager out for a beer too.

Jonathan Sampson
+4  A: 

I would do research in the business domain. That might very well be the hardest part in adjusting to a new company/organization.

jinsungy
As part of understanding this, keep in mind how this company operates compared to competitors, what kind of office politics are at play in the new environment, and how this impacts actually creating and supporting good products.
Marshall
+2  A: 

I ask my new team leader, who interviewed me and wanted me for the job: "What would you like me to do to prepare?".

Sometimes he'll say, "Oh, nothing: just show up on Monday and get started then", and sometimes he'll be more like, "Oh, download such-and-such an SDK and check it out."

ChrisW
A: 

Take everyone you will be working with out to lunch ;o)

Mainly you should focus on what tools you will be working with.

If they are willing, learn about the policies they have in place, some of the conventions and what not.

Also, like any good athlete, don't forget to spend some time on fundamentals.

Tom Hubbard
+1  A: 

I think it depends on what you are going to be working on. For me, I am starting a new job this month, and I am going to be doing Java development. The past year I have been doing C++ development almost exclusively. So I am brushing up on Java. This means I am reading Effective Java by Josh Bloch, and I started working on a side project in Java. I'm also reading as many Java questions as I can on SO. I also plan to read up a bit about the JVM so I'm more familiar with the beast I am dealing with.

In general, I would say try to read technical things on a regular basis, contribute to SO, and try to program on your own. Don't take a break from programming, because you'll feel slow when you get back to work.

Tom
+1  A: 

By the time you start to transition away from your current job, you should know what sort of technologies you will be working on, so obviously looking more in-depth into those should be a good place to start, but chances are you were hired because you have a good understanding of them in the first place. Getting familiar with the business domain, if a newbie, is good. Most important is rest. You have been through a pretty significant decision which came with a lot of stress. A little R&R goes a long way.

akf
Taking a week or two off between jobs is the very best way that I have found to prepare for a new gig. I try to engage in my non-job related hobbies, and spend some quality time with the family.
semiuseless
A: 

There's the basics of any job like knowing where to go, who to ask for, and what to expect those first few hours on the job which should have been communicated when you accepted the offer or shortly after that as it can be helpful to know that my first day starts at x am instead of being an, "Oh anytime you show up is fine," that makes me wonder how much does the manager have planned for that day in a sense.

If there are some major technical changes then I may do a little digging into those new things, e.g. if I was going from SourceSafe to Subversion there are some differences to note, which could also include process changes, e.g. going to a Waterfall or Agile shop.

You may want to prepare a 30 second to 2 minute speech for when you meet people and they ask about where you are from, what you were doing before working here, etc. Granted one can wing these to some extent, it may be a good idea to be prepared to get asked a bazillion questions those first few days.

JB King
A: 

I've never been this proactive, but I was impressed when, at a company where I used to work, we hired a really good programmer with an impressive CV and weeks before he was to start (he was relocating his family from the UK back to NZ) he asked about our development environment and specifics about our technologies so he could start getting familiar with them. E.g., we used Eclipse with particular plug-ins for SVN and PHP support. He set up an environment on his home machine that closely matched ours so he'd have less overhead in getting started.

I've never seen anyone hit the ground running like he did. We'd been limping along with poor test coverage and heaps of failing unit and functional tests (because we were "too busy" to get our tests passing 100%) and within a couple of weeks he improved both of those metrics about about 80%.

Andrew Hedges