6 Replies - 4788 Views - Last Post: 31 May 2010 - 02:29 PM

#1 abgorn  Icon User is offline

  • sudo apt-get install brain
  • member icon

Reputation: 30
  • View blog
  • Posts: 1,410
  • Joined: 05-June 08

The best way to gain experience?

Posted 31 May 2010 - 11:29 AM

I've been programming properly for about a year now (mostly Java) and I was wondering what would be the best way to gain real world experience in programming which could possibly be added to my CV. I thought maybe contributing a significant amount of time and effort to some open source project would help but I'm still very unclear. Any thoughts? (And my accepted time frame for this around 15 months all together).
Is This A Good Question/Topic? 0
  • +

Replies To: The best way to gain experience?

#2 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: The best way to gain experience?

Posted 31 May 2010 - 11:43 AM

Quote

I've been programming properly for about a year now (mostly Java) and I was wondering what would be the best way to gain real world experience in programming which could possibly be added to my CV.
Work on real projects with real demands and constraints. No doubt about that. The best projects are the ones tackling interesting, difficult projects, with very good, experienced programmers on board.

Quote

I thought maybe contributing a significant amount of time and effort to some open source project would help but I'm still very unclear.
It doesn't have to be open source, although, it does open you up to more criticism, which is what you need to improve.

The problem of course is that you actually need to be able to contribute. I don't know what you mean by 1 year of programming properly. I can't gauge your level of expertise from that, so I can't pass judgment upon you. If you want me to do so, you should tell me about the most difficult projects you have been tackling so far, and a summary of the extent of your knowledge.

Quote

And my accepted time frame for this around 15 months all together
I don't know what you mean by this.
Was This Post Helpful? 0
  • +
  • -

#3 abgorn  Icon User is offline

  • sudo apt-get install brain
  • member icon

Reputation: 30
  • View blog
  • Posts: 1,410
  • Joined: 05-June 08

Re: The best way to gain experience?

Posted 31 May 2010 - 12:04 PM

Quote

Quote

And my accepted time frame for this around 15 months all together
I don't know what you mean by this.

That's the amount of time I can work on gaining experience once that's over I have to focus on school and I won't have time most days to program.

And I'm comfortable handling SQL, XML parsing, reading/writing files, GUI programming (in AWT, Swing and SWT), 2D graphics, serializing, networking and other general Java programming features. The most challenging projects I've done a decent amount of work on are:
  • Text editor
  • FTP client
  • Quick file finder (this mapped all files/folders into an SQL database)
  • Media player
  • A terminal


The most difficult was definitly the media player (because the GUI was written in SWT and reading/decoding the music files). the terminal (because of parsing the text, serializing objects and parsing the XML output) and the quick file finder (I hadn't used SQL up to that point). Thanks for replying and I hope this helps :)
Was This Post Helpful? 0
  • +
  • -

#4 trip2137  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 26
  • Joined: 28-May 10

Re: The best way to gain experience?

Posted 31 May 2010 - 12:11 PM

Some short time tasks with mathematical background can be found at:

http://projecteuler.net/

Very nice project.
Was This Post Helpful? 0
  • +
  • -

#5 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: The best way to gain experience?

Posted 31 May 2010 - 12:51 PM

Quote

That's the amount of time I can work on gaining experience once that's over I have to focus on school and I won't have time most days to program.
Then you want to assemble a toolbox, not embark on a long term learning path. What field are you going to be studying specifically? What do you intend to focus your studies on? I may be able to recommend a better investment of your time depending on what you study.

That's a good set of programs to start with. Is this all under 1 year of programming experience? Have you covered essential data structures and algorithms? Any other languages?
Was This Post Helpful? 0
  • +
  • -

#6 abgorn  Icon User is offline

  • sudo apt-get install brain
  • member icon

Reputation: 30
  • View blog
  • Posts: 1,410
  • Joined: 05-June 08

Re: The best way to gain experience?

Posted 31 May 2010 - 01:45 PM

All the programs were done from last summer to winter and I've done the essential data structures but I'm unsure of algorithms because I'm not sure of examples of them in Java. And as for languages, I'm only competent at Java though I've dabbled in C++, Ruby, HTML and Groovy a little. I'm not looking for anything specific I just want to learn things that would give me a more advanced understanding of programming/other computer related skills (hence why I thought working on an open source project with a team would help). And what is a "toolbox"?

Edit:
In total I've been using Java for 2 years but because of school and other things I was learning it very lackadaisically for the first year so although I had a general idea going into the second year it might of well have been all new.

This post has been edited by abgorn: 31 May 2010 - 01:51 PM

Was This Post Helpful? 0
  • +
  • -

#7 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: The best way to gain experience?

Posted 31 May 2010 - 02:29 PM

Quote

All the programs were done from last summer to winter and I've done the essential data structures but I'm unsure of algorithms because I'm not sure of examples of them in Java.
Data structures and algorithms are not Java specific. They are simply abstract concepts, and you realize them in code. If you want to advance as a programmer, learning to construct data structures and form good algorithms is critical. You may want to explore this direction next.

Quote

I'm not looking for anything specific I just want to learn things that would give me a more advanced understanding of programming/other computer related skills (hence why I thought working on an open source project with a team would help)
The answer is pretty much anything. Pick something new, and do that. Another project. Work in a team. A new language. A book. Anything will help you develop, when you confront new concepts and new problems.

Quote

And what is a "toolbox"?
Just like a mechanic's toolbox. But as a programmer, to be able to handle a variety of crud proramming work. Things like reading and writing data files. Working with databases and other data stores. Visualization of data. Scraping websites. Depending on your field of study, you'll find certain demands as well. Like statistical calculations. Working with matrices (e.g. take matrix to 100th power).

After about 2 years of Java, it might be time for you to explore another language. Python's good as a toolbox language. Ruby works at the same level of Python, so if you've tinkered with Ruby before, you might want to explore Ruby some more. If you just want to expand as a programmer, pick a functional programming language. F#. Haskell. Scheme. OCaml. Or something else along those lines.
Was This Post Helpful? 2
  • +
  • -

Page 1 of 1