I have just graduated from college and have about 2 months time before I start working at the company. I have experience in C, C++, Java and a bit of Android (developed an app last summer, stopped working on that later). I just want to learn something new while improving on my basic C , C++ and Java skills.

I really need some advice on what I should start learning so that I will be able to work on whatever is given when I start my job... or in the sense that helps me improve from my present level... or that helps me understand things much better, assists me in getting a good understanding of things, etc.

  • 6
    Seems like a question you should have asked your employer during the job interview. – Rob Kennedy Jun 4 '11 at 17:45
  • 1
    "What should I learn next" questions that are asking for specific technologies to learn are off-topic here, but I think treating this question as "this is how you'd approach preparing for a new job" has potential. I see Thomas Owens already took that approach in his answer. – Adam Lear Jun 4 '11 at 19:14

Since you are entering a position, I would talk to the company that has hired you and try to learn as much as you can about the technologies and tools used by the company. Figure out what version control system, bug tracking tools, unit test frameworks, IDEs, GUI toolkits, and so on. You won't be able to learn everything before you start, but you can definitely read about them and play around with some of them. It would help you hit the ground running at work.

Maximizing the value for both yourself and your company would be the best route here. It'll help you hit the ground running at work, and show your new company that you have some initiative and personal drive.

An alternate approach would be to learn your domain. I'm not sure what industry your company is in, but you could take a look at the current trends in that industry. Find out not only the technologies used by the company you are currently working at, but look at the leaders in the industry and see what kinds of technologies they are using. You could take a look at their software or perhaps browse through their job postings and see what they are looking for.

This would allow you mobility within your industry of choice, especially if you plan on spending a lot of your career within this industry, regardless of what company you are working for. It would also allow you to make suggestions to your company as to possible solutions to various problems that you might, if you are proficient enough with various tools and technologies that are of use in your industry.

  • 6
    +1 Learn the version control. Learn it really well, it's going to be your best friend. – Ed James Jun 4 '11 at 19:16

Depends. As a just-out-of-college applicant, my advice is to prepare for your new job in the non-tech sense. Consider reading some articles regarding transitioning from the academic to professional world, how to fit in w/ the team, "soft" skills like communication, etc. The tech focus will come later and, early on, it's unlikely that your employer will expect you to understand specific technologies (though your capacity to learn those technologies is expected).

If you were an experienced dev, my answer would be different. For eg, prior to a previous job, I read up extensively on a technology I knew I'd be using (regarding a specific RDBMS). I recommend doing that if you know before-hand what you'll be doing, & esp if you're already "an experienced developer."

Not the answer you're looking for? Browse other questions tagged or ask your own question.