Win a copy of Fixing your Scrum this week in the Agile forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Rob Spoor
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • Junilu Lacar
  • Tim Cooke
Saloon Keepers:
  • Tim Holloway
  • Piet Souris
  • Stephan van Hulst
  • Tim Moores
  • Carey Brown
Bartenders:
  • Frits Walraven
  • Himai Minh

Passionate Programmer Question.

 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.

Chris
 
Author
Posts: 38
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.


  •  
    author & internet detective
    Posts: 40709
    827
    Eclipse IDE VI Editor Java
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Chris,
    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.
     
    Happiness is not a goal ... it's a by-product of a life well lived - Eleanor Roosevelt. Tiny ad:
    the value of filler advertising in 2021
    https://coderanch.com/t/730886/filler-advertising
    reply
      Bookmark Topic Watch Topic
    • New Topic