Live data from Hacker News

Ask HN: Enterprise Java guy needs advice on what to transition to

news.ycombinator.com

11–20 of 57 posts

Re: Ask HN: Enterprise Java guy needs advice on what to transition to

#11
Well you've probably got Java down pat by now, try something new that will put bread on the table. Learn Ruby and Ruby on Rails.

This should get you away from the overengineering that Java seems to attract and there are plenty of Rails jobs out there (certainly more than there are Grails jobs anyway).

Whilst you are at it pick up some new technologies such as mongodb.

It would be good for your soul (and skill as a programmer) to try something new, completely new. You could of course also learn ObjectiveC++ and become an iPhone developer. Whatever you pick make sure that it puts fear in your heart, something that will challenge you. A mountain to climb rather than molehill.

Re: Ask HN: Enterprise Java guy needs advice on what to transition to

#12
The future in the next 20 years is mobile development. Currently, for software on the actually device that means Objective-C for iOS(iPhone) development, or Java for Android. Of course, HTML5 and CSS3 are going to important for web pages viewed on the device. Find something you like in this area and stick with it!

Re: Ask HN: Enterprise Java guy needs advice on what to transition to

#14
I have a similar background and am also working as enterprise Java Dev. Financially, I don't think that it is a smart idea to transition at the moment (at least in germany, where I live). Java developers still seem to have the highest salaries, the most job offers and the best outlook in general.

There are various interesting technologies that COULD replace Java or at least JEE in the future, and it is certainly a good idea to learn them or do projects in your spare time. But beside Java, I don't think that there is any technology that you can be sure that it will be still around in 5-10 years.

If you are just sick of Java and need some change, then try to find a new job where you can work with whatever you like. Java changes pretty slowly, and you can still change your mind a few years later and find a Java job. But if you need to decide for a language as a career-choice, stick with Java, at least for a few more years.

Re: Ask HN: Enterprise Java guy needs advice on what to transition to

#15
Here's my take, but keep in mind that I've never worked with programming, I'm just a hobby programmer for now.

I don't really see why you have to bind yourself so hard to a language/platform/whatever. You don't have to be a "Java programmer" or a "Python programmer". Instead aim to become someone who can move around and choose whatever is best for the job, or whatever the job might require. In the end it's just programming, different types of programming sure but never forget that you're basically doing the same thing in a different way. When you see that you realize languages are just tools for you to use, not the other way around.

The first step IMO would be to expand your horizon, see what else is out there. Try out the exotic languages you see everyone rave about, give Python a blast or drive Ruby for a while. Do things in Erlang or Haskell just because it's different from Java and mix web development with low level or simply make a game or a program you've always needed.

When you know what's out there, when you've gotten your feet wet, then you can focus in on something a bit more. The thing that has kept my interest in programming alive is I've always done what's fun, and I can only imagine that's even more important for someone with 10+ in the business actually working with it. So choose something you feel is fun, oddly for me the funniest things are the new and different stuff (Haskell for example).

Long story short: Don't be an "X programmer", be a "programmer" and go where the fun is!

Best of luck to you.

Re: Ask HN: Enterprise Java guy needs advice on what to transition to

#17
I switched to Groovy/Grails a couple of years ago and haven't looked back. Lots of fun to work with, and allows me to reuse my previous knowledge base.

In addition to reusing my previous expertise, there are four thing I really like about it:

* Convention over Configuration makes things so much simpler * Groovy Language has a lot of great features, allowing for much more concise code (though it does take some time to get used to dynamic typing) * Plugin ecosystem - over 500 plugins on various topics allow you to get things done much quicker. The plugin architecture is wonderful and allows you to compose your from reusable blocks, which could have their own UI. Best actual (as oppoed to theoretical) code reusability I've ever seen * GORM (object relational mapper) is a thing of beauty. It's fairly implementation-agnostic, so you can use it with Relational DBs, switch to Mongo or Reddis as the persistence backend fairly easily.

Definitely recommend you check it out. In terms of jobs, it's not as big of a community as Java yet, but I definitely see many jobs advertising those skills.

Re: Ask HN: Enterprise Java guy needs advice on what to transition to

#18
I couldn't agree more. For most projects today, Java is severe overkill where a more high level language is better suited. While I'm not a fan of the Java language, the Java platform is rock solid and we can all agree it's not going away anytime soon.

I'd recommend taking a look at JRuby. It works nicely with Java libraries and loading Java classes. You don't have to deal with dependency injection. Variables aren't typed, values are. Class and instance methods are managed in the same class declaration. Classes can be easily extended. Classes are loaded into constants at runtime - instance objects are created (and constructor called) by calling the "new" method on a class constant (hence no dependency injection required). Class methods can't be called by an instance objects and vice versa.

While JRuby would be new to you, it's on a familiar platform. http://jruby.org/

Re: Ask HN: Enterprise Java guy needs advice on what to transition to

#19
Look into JRuby and Ruby on Rails.

You'll get a fun development environment, a less formal language. The big plus for you is that JRuby has wonderful Java integration, so you'll be able to use all the Java libraries and infrastructure you've learnt over the years where they make sense for your project.

Re: Ask HN: Enterprise Java guy needs advice on what to transition to

#20
As a recovering java enterprise developer I'd say pick a small project you are interested in and another language you are not familiar with and try it out. I found ruby an easier transition from java than python, Go might be interesting for you if you are coming from c++. Just make a small app in your free time and realize that a ridiculous number of startups these days have code bases measured in thousands of lines of code rather than millions. It is wonderful to live in a world where you can hope to understand the whole system.
Post reply on HN