6 ms·
I am Rob (Colbert) rob.isConnected@gmail.com. I'm nobody special other than someone who faces the constant up-hill struggle to convince IT that Node.js is ready
by robcolbert 13y ago
I am Rob (Colbert) rob.isConnected@gmail.com. I'm nobody special other than someone who faces the constant up-hill struggle to convince IT that Node.js is ready only to have it shot down time and time again. I'm unemployed right now just trying to find a way to use the right tools for the job. And, I'm sick of failing because other people suck, won't learn, won't adapt, won't address problems or make progress.
The "canonical" resource for my comment on npmjs.org today can be found here:
http://robcolbert.com/#/posts/5311055a38bb373638000007 http://robcolbert.com/#/posts/5311055a38bb373638000007
That is my personal blog running on my personal server on a DSL line that I can't afford while about to go homeless. I have no choice. I have to speak up and fight for what I want to be using or throw in the towel.
What would you do?
- andyzweb 13y agoI would observe the CPAN community. I highly recommend reading http://www.cpan.org/misc/ZCAN.html http://www.cpan.org/misc/ZCAN.html and then begin forking+mirroring the registry immediately.
- s_kilk 13y ago>> struggle to convince IT that Node.js is ready only to have it shot down time and time again Devils advocate, is it actually ready? Especially in light of the incompetence on display with this particular issue?
- btown 13y agoTo be fair, Ruby's had similar issues with its gem repository, including an intrusion that one time (about a year ago).
- s_kilk 13y agoFair point, but to my memory the Ruby tools/community were never quite as ramshackle as those around NodeJS.
- weixiyen 13y agoNode.js is not ready. The main problem with Node.js is that the libraries out there simply are not good, are broken / don't do what it says it does, or have critical issues outside of the most basic use cases. I'm talking about the popular libraries (like Socket.io) down to all the ones being contributed by the community. I've found flaws in every single library I've used so far, and they are flaws not present in their Python and Ruby counterparts. Error handling in Node.js is one of the worst of any language. NPM is now deploying breaking changes to production, without apology. Javascript is also a terrible language for larger teams, unless everyone follows the same exact convention, as the language itself is extremely flexible, more so than any language I've seen. I've spent 2 years in this ecosystem, and pretty much anything else feels liberating in comparison, be it Python, Ruby, Go, Erlang, etc etc. The only thing Node.js has going for it is a community of front-end developers who want to dabble in backend architecture, but I just feel this whole entire ecosystem is too fragile for my tastes. Like MongoDB, as people begin creating successful businesses out of it and reach a certain scale, similar articles bashing Node.js are all but inevitable.
- woah 13y agoWhat flaws did you find in Socket.io? What were some flaws in other libraries?
- weixiyen 13y agoThe flaw in socket.io had to do with redis-store. When deploying socket.io over multiple Node.js processes / servers, you want to use redis-store, at least, that's what they recommend. When you use redis-store, after running for a while, it puts your CPU usage at 100%, and you have no idea that it was because you used redis-store. Socket.io therefore is only really optimized for running a single process, which of course breaks down as soon as you have any significant I/O throughput or hit a certain # of connections. Same issue happened to me when using the Node zmq library. Inexplicable increase in CPU, which took 3 months to later fix. I could really go on, but these are mission critical libraries that have obscure bugs that are extremely difficult to track down and will bite you in production. Before I'd ever consider using Node.js again, I'd wait for - 1.0, this is taking too long. And even when they release a 1.0, it is more likely to be for marketing purposes than actual product stability. - Library Maturity (maybe another 2-3 years) - Better error handing. Nothing is worse than being left wondering why your server is failing in a production environment without relevant context and information. Another problem with the Node.js community (not all, but a lot) is that you have all these former front-end guys who can build great APIs with pretty web sites that make you believe the library is battle tested and safe to use, when in fact nothing is further from the truth.
- qntm 13y agoWhy don't you just stop recommending Node.js?
- robcolbert 13y agoRecommended it once. Literally the first time. I've waited a very, very long time to do that. Once. And, it was for building a prototype. Project went well. Very well. Wanted to be able to keep it. Gave up. And, I have stopped recommending it. I left. Presently seeking to either find a place that's already working with Node, earn a living on my own project based on Node or switch careers. I intend for this to be my last attempt at being able to work my way. It's never going to make sense to others, so I have to make this work. Sorry if my outburst asked all the hard questions, but reality is: How is this stuff going to get ready if there isn't some pressure to move it in that direction? And, given this is the environment I want to build in, what am I supposed to do? Wait for someone else to kick a tire & light a fire? No, thanks. Done with that. Don't care if Node's not perfect for what you want to do. It's the right tool for my jobs and the kind of jobs I want to be working on. We're not all docking space shuttles to space stations in real life. Anyway, I have stopped recommending Node.js. I just personally use it and won't work anywhere that doesn't.
- bitwalker 13y agoSoftware development as a career isn't about making you as the developer comfortable. Your job is to build high quality software using the tools given to you. If you are good at your job, and you are able to be a convincing salesman, you can often build software using the tools _you_ want (this has never been an issue for me anyways), but it is not going to be given to you on a silver platter. It sounds to me like you are convinced that Node is the one and only way to build the software you work on (I think that's bullshit frankly), and you won't accept any alternatives. Well, you are about to find out the hard way what happens when you aren't willing to work past your own pride.
- odonnellryan 13y agowhy? I don't understand the attachment.
- kordless 13y agoRob, I have some spare compute on Rackspace you are more than welcome to use if you want it. Hit me up on Twitter. Same same username.
- fsk 13y agoIf you're having trouble finding a job where you can use node.js, try other things.
- geraldcombs 13y agoHave you applied for a job at npm, Inc? It sounds like they could use your help.
- rdtsc 13y ago> who faces the constant up-hill struggle to convince IT that Node.js is ready only to have it shot down time and time again So it sounds like it is not ready. _This_ drama, tangled slinkies of callbacks, drama with the Node.JS contributor that got pushed out because if "her" vs "his" pronouns and so on. Nothing of that says it is ready. So I pretty much agree with your IT department. Sorry. > And, I'm sick of failing because other people suck, won't learn, won't adapt, won't address problems or make progress. Maybe they did, they just didn't arrive at the same conclusion as you. Maybe they are even right.