views:

211

answers:

4

I am a Python and Java developer with about 1.5 years of coding experience and I am looking for a fun but challenging project to engage myself in.

What are some fun and interesting project ideas that are challenging enough to be note-worthy and useful enough to put into a portfolio?

Thanks

+5  A: 

There are a number of important Python libraries (with extensions coded in C, or Cython, Pyrex, etc) that don't yet run on Jython, the generally excellent Python implementation for JVM. As somebody with reasonably good experience in both Python and Java, why don't you help further "bridge" the two by investigating which such projects fall within your abilities and interests, pick one of them, and develop a Jython port of it? Sounds like a great way to leverage your specific skills!

Alex Martelli
+4  A: 

Do anything that keeps your interest, show cases your skills, and demonstrates that you can learn on your own. Not knowing your interests or skills I can't tell you "Write such and such application using these Java and Python technologies."

Better yet get involved in an exist open-source project on source forge or some similar site. Doing that will also demonstrate your ability to work within a team environment as well as your ability to communicate effectively (at least in writing).

As well temper your statements about your skill level with some modesty. Having just over 15 years in this field, I can tell you that much of what determines if a person is a mid-level developer has to do with the following:

  • The ability to create a reasonable design
  • The ability to create maintainable code -- even for complicated situations
  • The ability to communicate effectively within a team
  • And demonstrate all of the above for usually about 3-5 years.

This is not a dig at newbie developers; it's just that no matter how smart you are, you can't gain the benefit of experience without having put in the time. There are intangibles that come with it, which you can't learn from a book.

Jason D
thanks for that, I didnt mean to indicate that I was necessarily a good programmer, more so I know the basics and am ready to start applying my skills to take them to the next level.
shdw.puppet
Ahh, gotcha. When someone describes him/herself as "medium" or "mid"-level I would expect 3-5 years experience minimum. :-)
Jason D
+1  A: 

Make a ray tracer.

I did this for a graduate course in Java and it turned out to be an awesome choice - the result of your work is actually visible and there are a lot of features you can add to increase the complexity of your project. For eg. you can add shaders, forward raytracing, color effects etc. Plus, it would be a lot of fun :)

Crimson
That's great... if he's a 3d graphics minded person like you... Not so good if he's more of a business graphics type who doesn't fare well outside of 2 dimensions and even worse if he's a core framework library developer with no inclination toward graphics. . .
Jason D
But he may be.. and if he was looking for a specific idea, this is actually more relevant than outlining general-principles-of-project-choice.
Crimson
+1  A: 

I usually do this when mastering a new language.

http://homepage.mac.com/s_lott/books/oodesign.html

Many programming exercises.

S.Lott