5 ms·
Here's something oft-understated: As a web developer, you sit on the intersection of engineering, design and art. You're lucky enough to live at a time where t
by DanI-S 14y ago
Here's something oft-understated:
As a web developer, you sit on the intersection of engineering, design and art. You're lucky enough to live at a time where there are numerous production-ready tools with which to do your job. If you choose a tool that you're excited to explore, with an active and fast-moving ecosystem, your excitement and enthusiasm will make you happier and more likely to do a better job.
Someone down the thread said this:
> So far I don't see any benefit in node.js over mature enterprise frameworks.
If I was only allowed to work in ASP.NET, I'd be looking to change careers pretty fast.
Don't underestimate the value of enthusiasm - especially if you're a boss.
- RyanMcGreal 14y ago> Don't underestimate the value of enthusiasm - especially if you're a boss. Indeed, and your advice is wisely directed at bosses. However, it's a bit harder (though not impossible) for a developer to use this argument successfully: "Let me use Node because I'll be more excited about the project."
- neovive 14y agoExcellent points!! Always keep an eye open towards the advantages and disadvantages of anything new. Don't immediately dismiss something because it is new, just as you wouldn't immediately start using something new. Research and learn.
- tzaman 14y agoIt's not a black/white situation here. Being the boss, I know sometimes (most of the time, to be honest) we need to stick to proven and tested stuff, as economic times are not the prettiest and clients that would pay for the extra mile don't just sit around. What happens when you assign 2 developers on a project that they are very passionate and enthusiastic about because you allowed them to use, say, node.js. Only to discover in a month or two that they spent 200 hours more that they would if they used something proven and tested. That's several k$ out of the window and maybe milestone not met. Sometimes it's worth it, sometimes it's not.
- edwinnathaniel 14y agoIt's a typical developer vs business mindset. They rarely sit on the same page for a good reason.
- tferris 14y agoCouldn't upvote this more. And regarding Node: it rocks, just try it and you see what eye opener you missed before.
- edwinnathaniel 14y ago"Just Try It" is not enough for Node to be quite frank. Some people tried it and still couldn't see what they missed. I wouldn't call them blind afterward either. If it fits your taste bud then great, if not... no biggie.
- davidw 14y ago> Don't underestimate the value of enthusiasm - especially if you're a boss. With the flip side of that being ....? Hurry up and build it in whatever's new and cool before their enthusiasm for it fades and everyone's on to the next next thing? I too, as a hacker, like to experiment with new stuff, and find that it's motivating, but thinking about how to manage a project for the long term is also worth considering.
- tensor 14y agoAs as boss, I understand that happy employees are a good thing for everyone, but similarly it is not enough to convince me to use what I see as a seriously substandard solution. From my point of view, Node.js is shaping up to be the php of 2012. It's proponents claim it's easy and fun and it's in a language that they are comfortable with. Meanwhile it's detractors see no real advantage over existing or other upcoming languages. Don't get me wrong, I'm not claiming it's quite as bad as php as that's something very hard to achieve, but equally I feel there are much better solutions. I'm not at all against new languages, but I'd sooner invest in a new language that brings something more serious to the table. Perhaps the language is more concise so that we can write less code. Perhaps it's really clean with high performance and a steller C FFI. Maybe it leverages exiting mature eco-systems of software such as the .Net or JVM stack. Do you not find Scala, Python, or Clojure fun? I would hope you do!
- danneu 14y agoThe majority of my free time goes into the Ruby/Rails ecosystem, but I decided to finally jump into javascript for real and force myself to grok things like closures and context (still strugglin'!) the past month. Node isn't a new language. It's javascript. Node just gives javascript the rest of the web stack, conventions, and a package manager that feels like Ruby gems. Javascript already is the best solution for all the problems we're currently forced to use javascript for. It's the language the browser understands. I'm not here to be Node's white knight, but Node isn't just Yet Another Thing or Yet Another Language. It's javascript and, to me, it's making javascript into a language with an ecosystem similar to what I'm used to with Ruby. Javascript is already out there in the wild solving problems that Ruby/Python/Clojure can't.
- stcredzero 14y agoJavascript is already out there in the wild solving problems that Ruby/Python/Clojure can't. Examples?
- zavulon 14y agoThe entire front end side, for starters
- romaniv 14y agoASP.NET core it not terribly well-designed, but it has has peripheral things like Razor, design-by-contract, PEX, Moles and there are tons of other interesting technologies from MS research. A lot of those things are genuinely new in some way, and allow you to do something that was completely impossible before. I can't muster any enthusiasm over Node, because it's really more-of-the-same-but-better. With an attitude like this it's perfectly reasonable to ask "why exactly it's better"? Unsubstantiated enthusiasm in IT is evil.
- EnderMB 14y agoAll the great new features of ASP.NET and C# aren't exactly new, but Microsoft have created a genuinely fun platform that a lot of people are starting to use outside of the famed "stuffy, corporate environments". We use it at a digital agency and it's been fantastic. I'm a big fan of what both Python and ASP.NET are doing at the moment, and although I have tried Ruby and Node.js I really couldn't see myself wanting to use them for a real project.
- romaniv 14y agoTo the best of my knowledge, stuff like PEX is new outside of academic environments. Moreover, it's highly non-trivial. Here is a collection of other interesting projects from their research department: http://rise4fun.com/ http://rise4fun.com/
- stcredzero 14y agoPEX4fun could become a better FizzBuzz than FizzBuzz.
- javajosh 14y ago"Excitement and enthusiasm for something new" was left off that list for a very good reason: it's a terrible reason to pick a technology like node (or anything else). In fact, I'd go so far as to say that enthusiasm for mere new-ness is one of the more pernicious, counter-productive parts of modern hacker culture. Rich Hickey implied this at his RailsConf keynote when he talked about how great we are at judging benefits, but terrible at judging trade-offs. Here's a man who's certainly not afraid of newness itself (I mean, he single-handedly released a new JVM hosted LISP) but I think he has his head in the right place about the cost of new, and what something must provide to justify that cost. For example, it makes absolutely no sense to use Node and then layer on top of it a web framework that is an isomorphism from some other environment. Last but not least, I think the key reason we have different perspectives is age. Hickey and I are about the same age. I assert that anyone who trumpets the inherent value of "new" hasn't been around long enough to understand that there is a never-ending stream of new things and that, as Teddy Sturgeon famously quipped, 90% of everything is crap. The real market for technology adoption should fueled by demand for simplicity, rather than demand new-ness (something else Hickey strongly implied in his talk).
- DanI-S 14y agoI carefully avoided making the statement you've just deconstructed. Nothing in my original post mentions newness. The point I made is that enthusiastic and excited developers are valuable. Developers tend to find learning exciting. They could be interested in learning Rails or Django for the first time, trying out Sinatra when a full Rails app seems overkill, or exploring Node for a small and non-critical part of your architecture. Hell, they might be excited about learning PHP. Allowing people to explore their curiosity brings material benefits. It doesn't have to involve new technology, and I didn't suggest that it does. As an aside: > The real market for technology adoption should fueled by demand for simplicity, rather than demand new-ness I think part of node's mass appeal is that it has introduced an element of simplicity to a generation of developers who have grown up around bloat.
- javajosh 14y ago>I carefully avoided making the statement you've just deconstructed. Perhaps you carefully avoid it, but you also strongly implied it. Consider: >You're lucky enough to live at a time where there are numerous production-ready tools with which to do your job. If you choose a tool that you're excited to explore, with an active and fast-moving ecosystem, your excitement and enthusiasm will make you happier and more likely to do a better job. You're optimizing for programmer excitement. There's a famous graph of programmer excitement curves floating around on the net, with a peak at "new and shiny" stage. >Developers tend to find learning exciting. They could be interested in learning Rails or Django for the first time, trying out Sinatra when a full Rails app seems overkill, or exploring Node for a small and non-critical part of your architecture. Hell, they might be excited about learning PHP. I'm not arguing the truth of what you're saying - it's obviously, painfully true that developers absolutely love trying out the new hotness (sometimes even if it's just new to them). I'm simply asserting that this is bad.
- tferris 14y agoAfter reading all the posts in this thread I found another thing that is fascinating with node: The community It feels like Rails in its beginning—so many talented folks providing great solutions. Just check Express and related npms like Jade, Stylus, etc. They look like similar Ruby gems but if you look into the details you see people that go further and pushes the boundaries. Some examples: just check how beautiful designed the Express error messages are—nothing crucial but it feels good working with people who are passionate. Or check how lean Stylus is compared to SASS, LESS, SCSS or how Jade goes beyond HAML with mixins etc. It's hard for me to articulate this enthusiasm I have with node but as much as I appreciate the Rails world I don't feel passionate with Rails anymore (it feels like my Cobol class in university).