views:

101

answers:

3

My question here is pretty subjective, but let me explain myself. I don't know if the title's grammar is correct (I'm not a native english speaker) so feel free to edit.

I've used Java and PHP mostly for development. But most of the things I've worked on have been based on other people's work. What I mean is, there's not much I've coded from scratch myself.

I know Java, I've read a lot ever since I started studying programming, the same for PHP. But I think my experience has been mostly on "maintaining code" and "adding new features" to other stuff.

Now I've decided I'll start my own personal "portfolio" just for myself. This way, I will face common problems on say "creating a Data Acces Layer with JPA", a "login page with PHP", "work with cookies", etc. And in case you are wondering, yes, I'm talking about reinventing the wheel. But in a good way, so that you can understand how the wheel works. I feel like I've been using wheels, having a general understanding of how they work, but never having to make my own wheel.

In your opinion, what would be the must-have skills in every language in order to being able to say "I've had experience with X", "I can apply to a job for a X developer"?

+3  A: 

I think the real test, for me, would be: "Can you be productive with the language?"

In other words, if you're assigned work to do with Java, PHP, C#, Lisp, or whatever, can you get it done?

If you have to look up functions or read through code samples, fine. I do that in my primary language all the time. But I have a good enough grasp of the language that I know which functions to look for (most of the time), or I have a pretty good feel for the important part of the code example.

If on the other hand, someone says, "I want you to import CSV into the database" and you have no idea where to start looking... Probably not enough experience.

banzaimonkey
+1  A: 

Well, I know this might be a catch 22 type suggestion, but you should get a junior position. After 2 years you will know how to answer this question. Pick a field and technology you are interested in and learn as much as you can. Then "dazzle" the interviewer.

For example, you want to be a .NET web developer. Run through as many tutorials and books as you can, such as setting up a MVC site, LINQ, Silverlight, AJAX, and SQL Server development.

Good luck.

buckbova
A: 

I agree with banzaimonkey that you have to be able to be productive in that language.

That being said, I think it would be good for you to have at least 4-6 small projects (<300 lines of code) and at least 1 big project (>750 lines of code for web >2,000 for application) for you to say you're familiar with it.

Good luck by the way!

KLee1
750 SLOC is a big project now?
Tyler McHenry
Well, it doesn't have to be a huge project, but I think if you write something at least 750 lines long you will probably run into at least some of the interesting features of the language. Of course I could be very wrong.
KLee1