Hello everybody,
I am a maturing
Java developer (starting to see some code in action!) from Italy, name's Adrian. Pleased to meet you all
Even tough the workplace situation might vary deeply between different countries I had a question to address to members of the CodeRanch forum who've had some experience under their belt in working with Java in enterprise environments. I've been studying Java now for a couple of years (with no prior programming experience at all before that) together with C, PHP, SQL and some other scripting languages. I'm well acquainted with OOP practices and concepts, I am now studying thread-safe design
patterns in Java and Joshua Bloch's Effective Java among other things; I have some difficulties with Generics even if I'm fine with Collections and I sense that I'll eventually get them with a little more tinkering and careful study.
As a CGI PHP isn't very scalable compared to Hibernate ORM as I've recently discovered, because of all the boilerplate code needed to handle data access on one hand and the non-existing object/relational mapping on the other (I feel all those hours of study in OOP are wasted, I believe there's a framework somewhere out there to solve that, but I've decided to do backend things the Java way). Now it's a good thing to have a simple solution as PHP/MySQL for my personal websites or some smaller client (friends, really), but how about Spring AOP and Hibernate for larger projects I wonder? I feel PHP it's a career dead-end.
My question is, can I (or should I) start looking for a Java junior developer position and study Hibernate ORM and Spring AOP in my spare time (since I know them conceptually but seriously lack of experience in implementation), or should I wait some time to study those new technologies and get a better job position right off the bat (as I've never worked before as a developer in a team)?
In many job ads years of experience are required, so I need to start to work as soon as possible, so a java junior developer position would be a good fit, but I'm afraid that starting to work would preclude me from studying programming paradigms and frameworks that could be a good investment for the future. I can be a burden on my family for a little more if it's worth it on the long run, so I hope I can both move out and not end up being a developer in a dead-end job position.
Also I'm studying hard thinking that everyone will be a genius in the workplace (I totally ignore how task are being assigned to developers in the team), I imagine co-workers programming B-Trees with both hands tied behind their backs, so I'm writing this post also out of fear of not being skilled enough, I wouldn't want to do a series of interviews just to be rejected by each and every one of those, which would be a waste of time and an under the belt hit on morale... even if there's a more cynical part of me that fears I'll be working in a Dilbertian workplace if I don't aim high enough. Honestly I don't know what would be worse, lol.
Whoa! I've written quite a bit, sorry but I really don't know have Java friends to talk with about these subjects, and as you've probably noticed I have a lot of doubts due to a lack of hands-on work experience. I had to leave my CompSci degree and postpone it for later in my life for various reasons, and still haven't got any Java certifications, but I was considering on getting a couple. Exactly how many traps am I walking into?
Thanks