Sunday, February 15, 2015

Ember VS Angular

Got a call yesterday from a client who let me go too early. I didn't object even though I knew they would need me longer than 6 months. They saw it was all running, figured they could save money on my hourly by cutting me and replacing me with some poor guy who could barely spell his own name who fell out of a sea container at the docks last week.

"Our new start is having trouble understanding all these CSS namespaces. How are you supposed to intuitively figure out what 'data-ds-nsmagnode' means without documentation?" they asked over the phone.

"I told you guys this when you were discussing architecture. Everybody talked over top of me at the meeting like I wasn't there and shut me down like I had nothing to say on this subject. I wasn't angry about it, I just stopped participating. I warned you that handlebars in Ember are a million times easier to comprehend looking at the code from a cold start knowing nothing about it. Those Angular advocates at your company basically said that I was not qualified to decide on what implementation library was to be used and didn't even listen to me," I told him back. I felt I should be charging this guy just for providing free consultation.

"But you said you could use anything we decided on," he replied.

"I did say that and then I implemented the app using Angular. I'm not an advocate or technology booster, I am a consultant. I bill by the hour and the customer is free to ignore my advice. So far only one company has taken it and they have never called me back, probably because their application has run flawlessly ever since," I offered.

"Well we have a lot of things we need to do with this and now we are finding it is really difficult to decipher the application for maintenance," he said back to me. "Are you available for another 3 months to come back and maintain your work?" he said this petulantly, like I had let him down somewhere by leaving when my contract ran out and wasn't renewed. Yet only a few weeks earlier I had walked out of the company without anyone so much as bothering to wave goodbye to me. My use to them was at an end, so they thought. I believed some people had distinctly sneered at me when I was leaving. Serves me right for thinking I deserved that kind of hourly rate.

"I'm busy at another site indefinitely," I told him,"but trust me when I say your nightmare has only just begun. Wait until your new start understands enough of the code to figure out how difficult it is to build unit tests for that don't break the instant the code is modified in any way. Angular is the most popular library out there but the truth be told it just isn't very well designed. Nobody listens to me anyway so don't feel personally bad about it. You ignored me the same way everybody else does."

I am more certain than ever that I want VOS to use Ember.js for its primary page delivery mechanism. I had been meaning to start this weekend but didn't get further than tearing out the PHP library embedded code and verifying the built-in CGI still worked.


KW Jackson said...

What a great example of how professional manipulators use language and how the wise brush them off like they are petulant children.

"Are you available for another 3 months to come back and maintain your work?" he said this petulantly, like I had let him down somewhere by leaving when my contract ran out and wasn't renewed. [snip]

"I'm busy at another site indefinitely," I told him. "But trust me when I say your nightmare has only just begun."

Other Vault-Co readers: try reading Tex's part in a husky action hero voice, it's even funnier.

Ron said...

Thanks Vault, I've been getting back into programming, and everyone insists on angular. So while I still have to familiarize myself with it, I'm going to also make sure to familiarize myself with ember for those projects when it's up to me to decide

Btw, could you ever talk about what you see as the relative strengths and weaknesses of different languages?

I work with Python mostly because I don't like using PHP, but I'm thinking of doing stuff with Scala and I'm curious about your take on it.

HalibetLector said...

I billed myself as an AngularJS dev for exactly one year. I couldn't in all good conscience continue doing that work after taking my first angular maintenance job.

I wouldn't put much stock in ember either, to be honest. JS frameworks simply move too fast and break too many things to be viable for any long term solution. Besides, in the web dev world angular and ember are old hat. React is the new hotness that people can't seem to shut up about.

Personally, I'm trying to wash my hands of web development entirely. Instead, I'm trying to imagine what remote executing apps could look like if they weren't tied to the web browser.

Technologies like CapnProto and Snabb Switch have recently caught my eye, in large part because almost nobody else is paying them any attention. I'm still looking for a good cross platform native-run frontend solution, though. LLVM and QT comes close to what I'm looking for, but it feels like there's something missing there.