BigBrian said:
Hmmm, but the original poster admitted that he doesn't even know Java
well. Don't you think that knowing the language should be a necessary
requirement for any programming job?
Well, my first real programming job as a freshout was in Ada, a
language in which I had *no* practical experience, and this was new
development, not maintenance. I had about two weeks to get proficient.
Granted, it was scutwork, but it was scutwork I had to develop from the
keel up.
So, no, knowing a specific language is not *necessarily* a requirement
for a programming job (barring things like numerical analysis or signal
processing or some other performance-oriented field, where intimate
knowledge of the implementation language is vital). More important is
a knowledge of programming fundamentals, coupled with an ability to
learn how to use new tools quickly (for a five or six year period,
every contract required me to learn a brand-new (to me) language or
API).
If you haven't been exposed to Java, but know C or C++, then that's not
that big a barrier. If you know one Algol-derived language, then you
ought to be able to pick up any other Algol-derived language with
little or no difficulty. If you're going from, say, Fortran IV to C++
(or vice versa), that may be a bigger problem, but even then the leap
isn't so great.
C to Lisp, now, that would cause some heartburn.
Lets see.... He doesn't know java very well, but he has a job as a java
programmer. He gets assigned to doing maintanence ( IMHO a very good
opportunity to learn the language in addition to what is good and bad
design ), but instead he complains that he's not doing new development
( for which IMHO, given that he doesn't know the language all that
well, he's not qualified ).
There are people I consider experts in specific languages that I would
not assign new development to, because they constantly go beyond the
scope of the spec or, better yet, ignore the spec outright and deliver
something really cool but really useless.
Getting to write new code has less to do with your familiarity with the
implementation language and more with your ability to spec and design a
solution, or at least to go from a spec to working code.
In the end, knowing the actual implementation language is a relatively
minor detail; understanding the application domain and how the code you
write fits into it is the more important thing.
Then it seems that many people here
suggest the he look for another job ( instead of taking advantage of
his current opportunity to gain experinece/knowledge ). IMHO, there's
something wrong with this....
FWIW, I think he should stick with his current gig for at least a year
or two, and get used to not only Java, but the application domain in
which he is working.