This week's book giveaway is in the Mac OS forum.
We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line!
See this thread for details.
The moose likes Jobs Discussion and the fly likes Career options for a 2 year old java developer Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "Career options for a 2 year old java developer" Watch "Career options for a 2 year old java developer" New topic
Author

Career options for a 2 year old java developer

ch pravin
Greenhorn

Joined: Nov 25, 2010
Posts: 20
Hello All,

I've been working as a Java Software Engineer for ~2 years now in a fairly big organization (>10K employees) in the US. I'm looking to make a career move. Here are some questions I've and would appreciate if someone could help me by answering them:

1) What career options do I've at this point?
Some more background: My current work is only based on core java + some SQL/JDBC and isn't really very different from college level programming (simple coding without any concurrency/serialization or anything fancy of that sort involved, unit+functional testing, some support related work and peer code review). I'm not familiar with J2EE/spring etc. I've done my Master's and have some experience with developing simple web applications in .NET framework (building .NET based websites at school). Prior to finishing my master's I've worked for 1 year in industry on C# (though I never learnt C# formally in school). Most of the job profiles I come across require advanced java or the whole .NET stack (with HTML 5,CSS, WPF,WCF and what not) so I'm not sure if I qualify for either. I'm willing to learn and develop new skills but I would like to know what would take the least amount of time given my current skill set? Additionally, how is the field of BigData expected to do in the coming years? Machine Learning was my focus during my master's but I'm a little rusty on it now.

2) How will interviewing with big companies and otherwise in general at this stage be different from interviewing for an entry level position? I've been getting a lot of emails from two of the big companies in the industry lately, so I was wondering about it. What more will the interviewer expect me to know?

3) What can I do to differentiate myself from similar candidates / How to improve myself as a developer? Will a java certification help? I recently finished an online course on programming languages. I did get to learn a lot but was still wondering. Some time back I was reading an article as to how companies replace "older" developers with the younger ones as soon as they get the opportunity. What can I do to avoid that? Basically, how do I make myself indispensable/irreplaceable?

4) Are the software giants in US bad for work/life balance? I like my work but I don't want to get burnt out. I mean I don't want to work 60 hours every week (as someone posted earlier of a big company). Actually, my current job is pretty good about this (haven't worked for more than 55 hours a week ever, average around 45) so kinda makes me wonder how it is elsewhere?

Sorry, for the long post. Feel free to just reply to a question if you don't feel like replying to the whole post but please do reply , I really need some perspective.


Thanks.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1728
    
  14

My Java experience is similar to yours, so I can't advise you there, but one point stands out from your history: Machine learning (which presumably also included statistics) is a relatively rare skill set, but it is obviously highly relevant to "Big Data", analytics etc.

There is a lot of hype about how big data is going to transform the world (nobody quite explains how), but all the signs are that a lot of businesses and governments are investing heavily in managing, manipulating and exploiting increasing volumes of data, which means there will be jobs for the people who can get up to speed quickly with the new skills. This applies not just to traditional structured data (sales, customers etc) where RDBMS and DWH solutions have typically been used, but also to a variety of high volume semi-structured/unstructured datasets (logging, phone calls, social network actions, documents, text etc) where NoSQL approaches are increasingly being used.

Right now I think it's something of a "wild west" free-for-all, where there may be good opportunities for people with the right skills to work on interesting applications. My own experience (YMMV) is that Java developers generally are not "data people", so anybody with a mix of Java and the right data skills ought to be able to do well in this area. Of course, it depends on your own interests and where you want to move your career, but I would think seriously about investing some time in getting up to speed on some of these topics, especially where you might be able to leverage your experience with machine learning - those data analysis skills are highly transferable and should be valuable in the right market.

So if you think big data is a potential area of interest for you, here are a few possible starting points that I've been looking at myself:

  • Seven Databases In Seven Weeks - a great introduction to 7 different databases, including several different kinds of NoSQL DBs.
  • M101J MongoDB for Java Developers - free online course from 10Gen (makers of the MongoDB document database) starting on 13 May. I did the Python version of this course last year and it was a very thorough introduction to MongoDB - what it is, how it works, how to use it effectively etc.
  • Coursera- Introduction to Data Science - free online course from Coursera and the University of Washington. Might be old ground for you, but could be handy if you feel the need to brush up your big data skills.
  • Hadoop In Practice - practical techniques for using Hadoop, reviewed here on JavaRanch.
  • Cascading - "Cascading is an application framework for Java developers to simply develop robust Data Analytics and Data Management applications on Apache Hadoop". I know very little about this, but I reckon anything that makes it easier for people to build real-world applications with map/reduce technology like Hadoop is likely to be helpful!
  • Strata is where tech publisher O'Reilly looks at Big Data stuff.

  • Incidentally, was your "online course in programming languages" the Coursera one with Dan Grossman? If so, then you should be well equipped to look at things like Clojure for data analysis. Not sure how many people are using Clojure for this kind of thing, but Clojure looks fun to learn and it will certainly set you apart from the ordinary Java developers!
    HTH!


    No more Blub for me, thank you, Vicar.
    ch pravin
    Greenhorn

    Joined: Nov 25, 2010
    Posts: 20
    chris webster wrote: My Java experience is similar to yours, so I can't advise you there, but one point stands out from your history: Machine learning (which presumably also included statistics) is a relatively rare skill set, but it is obviously highly relevant to "Big Data", analytics etc.
    .....



    Thanks for the pointers. Appreciate them

    Big Data is definitely of interest to me, in fact they're actively developing using Java,Hadoop,Clojure in my company for a big project except I'm not part of that team .Yes, my online course was the one offered by Dan Grossman. I had never done any functional programming before so it was pretty cool to learn something new. I'm not familiar with Python either so it sounds like it may be a good idea to take a course on that as well. Again, appreciate all the help.
    chris webster
    Bartender

    Joined: Mar 01, 2009
    Posts: 1728
        
      14

    ch pravin wrote:Big Data is definitely of interest to me, in fact they're actively developing using Java,Hadoop,Clojure in my company for a big project except I'm not part of that team.

    Sounds like you need to talk to your managers about whether your Machine Learning and Lisp skills might be very useful on that project!
    ch pravin
    Greenhorn

    Joined: Nov 25, 2010
    Posts: 20
    chris webster wrote:
    Sounds like you need to talk to your managers about whether your Machine Learning and Lisp skills might be very useful on that project!


    Yeah, well, that's another team so not happening thanks to office politics.
    chris webster
    Bartender

    Joined: Mar 01, 2009
    Posts: 1728
        
      14

    ch pravin wrote:
    chris webster wrote:
    Sounds like you need to talk to your managers about whether your Machine Learning and Lisp skills might be very useful on that project!

    Yeah, well, that's another team so not happening thanks to office politics.

    Well, it would depend on your company's management culture and those pesky office politics, but you could just be honest and up-front about it. Talk to your current manager and explain that you would like to move into some more challenging areas where you can apply your combination of Java experience, new knowledge of functional programming and past experience with machine learning and would it be possible for you to move onto that project in the next few months? If they say no, then you're no worse off than you are now, and maybe they'll come up with some other alternative that might be interesting now that you've reminded them that you have more to offer and are keen to take on new challenges. Or you can look for a new job instead. Of course, you could also try contacting the managers on the other project directly, which might work if they're keen to take you on, but it's also more risky as managers generally don't like junior staff going behind their backs with such requests and it could just cause you problems in your current job.

    FWIW, I usually find it's worth being open and honest about these things, but YMMV.
    ch pravin
    Greenhorn

    Joined: Nov 25, 2010
    Posts: 20
    chris webster wrote:
    Well, it would depend on your company's management culture and those pesky office politics, but you could just be honest and up-front about it. Talk to your current manager and explain that you would like to move into some more challenging areas where you can apply your combination of Java experience, new knowledge of functional programming and past experience with machine learning and would it be possible for you to move onto that project in the next few months? If they say no, then you're no worse off than you are now, and maybe they'll come up with some other alternative that might be interesting now that you've reminded them that you have more to offer and are keen to take on new challenges. Or you can look for a new job instead. Of course, you could also try contacting the managers on the other project directly, which might work if they're keen to take you on, but it's also more risky as managers generally don't like junior staff going behind their backs with such requests and it could just cause you problems in your current job.

    FWIW, I usually find it's worth being open and honest about these things, but YMMV.


    At my place of work the teams don't want to lose their employees since they will have to train new ones, so talking to my manager about it is pointless but thanks for sharing your perspective. I'll see what I can do.
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: Career options for a 2 year old java developer