File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Jobs Discussion and the fly likes Passionate Programmer Question. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "Passionate Programmer Question." Watch "Passionate Programmer Question." New topic

Passionate Programmer Question.

Christopher Jackson

Joined: Feb 27, 2009
Posts: 5
I am a junior at Penn State University pursuing a major in Computer Science. Beyond knowledge taken from the classroom and related work, I code a lot of java web applications on the side. What additional steps can I take to ensure a solid foundation for a career in software development? Do you have any suggestions for internships or work experience I should try and get under my belt? Thanks in advance.

Chad Fowler
Ranch Hand

Joined: May 19, 2009
Posts: 38
Hey Chris!

I don't want to downplay the value of internships, but I'd focus on stuff you can do on your own time and under your own control. Here are three ideas:

  • Open Source - Pick an open source project to either start (harder) or contribute to (easier) or both. If you're not feeling quite confident enough to start adding features, find one with a test suite that isn't complete and start adding tests. Use a test coverage analysis tool and just fill in the blanks. You'll end up discovering code that's hard to test, which will lead to refactorings. It's an excellent experience and will expose you to other passionate members of the community (great networking!) as well as round out stuff you can include in your portfolio/resume when you're looking for work.
  • Speaking - Try attending and then preparing a presentation for a local user group meeting (or an on-campus meeting if you're more comfortable with that). Get your name out there and also get some experience presenting your ideas to others in a group setting. It's one of the most critical skills to success in a business environment and there's just not enough focus on it in academic curricula. If you can present your technical ideas in the form of a speech, you can interview better, interact with business customers more effectively, teach your co-workers, etc. You can also get more "famous" for what that's worth
  • Writing - If you don't have a weblog, start one. If you do, start focusing on publishing content that people link to. You can find tons of iffy lists of ways to get more links, but the way you should focus on is writing content that is worth reading and teaches people something. Do this enough, and you won't even have to look for a job by the time you graduate. Potential employers will be contacting you.

  • The Passionate Programmer: Creating a Remarkable Career in Software Development
    Jeanne Boyarsky
    author & internet detective

    Joined: May 26, 2003
    Posts: 33132

    In addition to what Chad said, learn good practices. I blogged about educating software developers earlier in the year. This post covers why good practices matter and their lack of coverage in school.

    [OCA 8 book] [Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
    Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
    I agree. Here's the link:
    subject: Passionate Programmer Question.
    It's not a secret anymore!