Hacker News new | ask | show | jobs
by sc0rb 4809 days ago
No mention of my other criteria I see. Money is an important part of a career. Weddings, houses and children cost money.

So the idea is that Ember may serve to fix one particular problem in my company... I don't see how it's any better than anything else. Just because I can knock out a basic web app in less time doesn't mean it's worth learning, especially when you add learning time into the development time and compare it to the Java equivalent.

Seems to me the use case (and job market) is small.

I wish I was still 22 years old and didn't need to care about earning decent money...

3 comments

Ok:

> Is Ember.js actually worth learning?

Yes.

> Will it make me a better programmer (like learning Haskell will)?

That depends on whether you've learnt the concepts that Ember introduces before or not. If you're stuck in a Java shaped rut, then yes. It will make you a better programmer.

> Will it enable me to get a pay rise from my current £480 per day contracting fees?

That depends whether you find someone who wants an Ember app that is willing to pay more than £480 per day. If you don't bother looking, then you're unlikely to find it. That said, if money is what you're after, there are many better avenues to go down than learning Ember or doing Java contracting.

> Is there a more diverse and active job market than there is around my current main language (Java)?

JavaScript is growing in popularity very quickly. If you wanted to switch to it from Java you wouldn't have any problems finding an interesting job.

> So the idea is that Ember may serve to fix one particular problem in my company... I don't see how it's any better than anything else. Just because I can knock out a basic web app in less time doesn't mean it's worth learning, especially when you add learning time into the development time and compare it to the Java equivalent.

You don't see how it's better because you haven't bothered learning it. By comparing it to the Java equivalent, I assume you mean GWT. In that case, yes. It's much better.

Ember isn't really designed for basic web apps. It's designed for big complicated web apps. I wouldn't recommend Ember for really basic web apps at all - it imposes a lot of structure that you only really see the benefit of when your app becomes larger.

> I wish I was still 22 years old and didn't need to care about earning decent money...

Never wish for something out of the past. It's gone. Look to the future instead.

This feels like a pretty HN style answer.

Is Ember worth learning? Let's see.

It adds no value over anything that we already use or what I see being used elsewhere. It's just another library that doesn't add any significant.

There is not liquid job market with good salaries or day rates with Ember at the moment, you may be able to find one or two roles in London that ask for it but it's certainly not liquid and therefore could not support a contractor.

Embers approach is not radical therefore there's not a lot to learn here. I'm not stuck in a Java rut. You can write modern, slim, fast, concurrent Java. You don't have to be stuck in the days of massive J2EE government projects. The buzz around modern Java in London is massive.

You're right in saying that I could do other things for money but I love software development and I love that people are willing to pay be quite large salaries and day rates to do it. My career isn't money focused but money is a part of it. Why shouldn't I have a big house and holiday often just because I love writing code?

Also, seeing Java devs as being 'stuck in a rut' shows massive ignorance as to what is actually happening in the Java world right now.

> Is Ember worth learning? Let's see.

You asked for an opinion. I gave you one (I'm in the middle of a large Ember project at the moment). I didn't expand on it as you appeared to have already made up your mind and written the whole thing off on the basis that the Java world keeps you pretty happy already.

> It adds no value over anything that we already use or what I see being used elsewhere. It's just another library that doesn't add any significant.

It sounds like you know a lot about it already. Why bother asking if it's worth learning then?

It's not a radical approach sure (that's the main point in fact). The main difference with Java is that Ember all happens inside the browser, and you write it in JavaScript. I have no idea how much experience you have with those things, so have no idea how much you'd learn if you picked it up.

In no way did I imply that you were stuck in Java rut. I said that if you were, you might learn something; if not, you might not. The things you'd learn about (unless you already know a lot about them already of course) involve things that you'd learn doing any front end development.

In no way should you feel bad for wanting to make a lot of money.

I'm a primarily JVM developer as well, but full stack.

The answer to you is maybe, but it's not necessary yet.

In 3-4 years, 80% of greenfield web apps will be using a single page framework. Perhaps it won't be Ember, but something from the next generation. However, the results are better for the user, and as more developers learn it, the more it will be expected as common knowledge.

Increasingly, your contracts will end up being on the back end, and your full stack opportunities will dwindle. Look at the jobs today that say jQuery or javascript. Most of those will be out of your range.

That might be fine for you -- if you stick to back ends or maintenance programming, your jobs won't dwindle. Greenfield apps will slowly dwindle, or you get in with a client who expects you to learn it, or you decide to use it on a project because you see the direction the winds are going.

Me? I have an angular.js and knockout.js proof of concept on my resume now.

This is the best answer I've received to my concerns. You're predicting that people will move from backend to frontend for the MVC layer (or w/e will come next) and this is why you are keeping up with these sorts of developments.

Good answer.

The move has already come in B2C apps. B2B is lagging and internal apps and consultingware will be the last, as normal.

The problem I see is that the frontend models are not designed for internal apps in mind. Yet. They're not designed for a mediocre developer. I think we could do a lot better for that use case. Right Now, it's faster to do a server-generated app with no ajax. I don't think that has to be the case.

I currently work with a few very popular B2C ecommerce platforms and none of them have made the move to this sort of thing yet, the best we've got is Spring MVC with AJAX.
Ember.js is a framework for writing web applications on the client side. This experience, and the end result will be a lot different that the type of web apps that you might be used to writing from the server-side.

I've created my share of Java-based server-side generated web applications, and when it comes to writing applications that run well on the web, JavaScript MVC frameworks are the way to go.

I can't comment on how it might affect your career on either the short of long term, though. That said, I expect that the demand for these types of rich webapps will become larger as we move forward.

I'm turned 22 ten years ago myself, but I think making that statement you made is unfair.

So you think that client side JS web apps are 'the way to go'. What's wrong with server side MCV web applications?

How does Ember.js in the clients browser scale when you have a a lot of data that needs marshaling / unmarshaling or generally processing and moving around? Surely it's more performant to do this on the JVM on the server rather than relying on the clients computing power (or lack of). Ideally you wouldn't do a lot of data processing in the MVC part of an app anyway but it seems like you're telling me the whole web app needs to be client side?

So, you would do most data-processing on the server side. But the data that your client-side application needs you will server to it, most likely via JSON.

You can definately go too far and implement too much on the client side, and this is generally a bad approach.

It's like with anything else. You need to figure out the balance between what you process on the server and what you process on the client.

Most data-processing (if not all) should be done on the server-side. Your API should give your front-end app as much of a complete data-set as possible. Note that data 'appearance' is fine on the front-end for the most part.
So what's the point of making the MVC portion of the application client side when I can just use Spring MVC (or similar) and keep to the same tech stack that the rest of the project is using? Same goes for .NET projects etc?
If you write all of your code to run on the server then you need to pull down a full page from the server every time you want to update your data.

There's plenty of reasons you might want to avoid this in some cases. For example, you might want your forms to be validated without waiting for the user to push submit. You might have rich content in some markup language (like markdown) and you want the user to have a live preview on the same page as they are editing. Or you might have an app with real time data that changes frequently and you don't want the user to sit there pushing refresh constantly.

This functionality is already provided via AJAX. There's no need for me to put the whole MVC later on the client side to achieve this.

You don't need to pull a whole page down to get new data and you can do the form validation on the client side although you need to redo the validation on the server side anyway to make sure the client JS hasn't been tampered with.

This is a bit of an odd question.

Ember.js is a tool like many others. So it's sort of like asking "Will I be richer if I learn Django or if I learn Rails?". Nobody on HN can really give you a definitive answer.

It is a framework for building rich javascript client web apps and helps you keep your code structured in a certain way and takes care of a great deal of boilerplate heavy lifting for you, if you take the time to learn it's idioms.

So the question, "Is there a way in which I can leveridge the fact that such a framework exists in order to make more money as a consultant?" is one that only you yourself can answer.