Presentation: Meet the Node.js anti-patterns

Location:

Duration

Duration: 
10:35am - 11:25am

Day of week:

Abstract

As Node continues to go from strength to strength, being widely adopted not only within the startup community but more and more by the Enterprise community, a number of anti-patterns are beginning to emerge.

This talk focuses on the strengths of JavaScript in the Enterprise by trying to isolate the anti-patterns that are slowly beginning to emerge.

Interview

Question: 
QCon: What are your roles today?
Answer: 
Pedro: I am CTO of YLD. At YLD, we do mainly consulting around Node.js. My responsibilities there are in terms of scoping new technologies around the Node.js ecosystem and beyond. I'm also part of the research team at the firm, where we investigate, develop and document new solutions to current problems our customers face.
I am also responsible for doing software architecture development for customers, and I support teams across several projects in terms of architecture, code reviews and project planning.
Igor: For me, it’s a bit of the same. I’m also working on the research team where we scope out new technologies. By research, I mean our clients share problems and we help research solutions. We see recurrent problems in our clients. As there are different approaches to solve each of these problems, we research different ways to solve them. So we evaluate different approaches, tools and products to maintain an internal knowledge base that supports our teams. In addition, I also do architectural review engagements, and support our teams both in technical choices and general consulting matters.
Question: 
QCon: What’s the motivation for your talk?
Answer: 
Pedro: We have experience with Node.js community and ecosystem since the very early days. We were very early adopters, so we have seen a lot of projects with the rising adoption of Node.js. The adoption in the enterprise is a real thing that we've been seeing in the last two or three years. With that, there are a lot of developers coming into the ecosystem that are bringing knowledge from other platforms (mostly Java and C#, but also others). Some of the time, they bring habits that don’t quite fit into Node’s ethos. Our objective was to make a quick view of the most damaging patterns that we keep seeing that will hurt them in the long run.
Question: 
QCon: How do you plan to cover through these patterns?
Answer: 
Igor: We will see instances of the patterns and then a solution. If the instance is code, then we will see a solution in code. If the instance is an architectural pattern, we will see some diagrams. We will cover some drawbacks and advantages of taking another approach.
Question: 
QCon: Who are you targeting in your talk?
Answer: 
Pedro: Attendees should know JavaScript. They should be able to read Node, be familiar with Node Core and with most popular Node modules. That’s all we expect.
Question: 
QCon: Any specific problem domains you’ll be addressing?
Answer: 
Igor: Sure. We currently have a list of 30 anti-patterns. One of them is the Kitchen Sink module: a file module that has everything that doesn’t fit anywhere else. That's an anti-pattern.
Pedro: We have gathered so many of them. For instance, using synchronous iterations calls without limits. They will work fine during development time, where you have a very small and controlled dataset. But once you bring that into the wild and your service is serving concurrent requests and you're starting several IO operations in parallel, depending on the collection size, can easily lead to high memory consumption and all the problems that come with it.
These are some of the types of things we plan to discuss in the talk.

Tracks

Covering innovative topics

Monday, 7 March

Tuesday, 8 March

Wednesday, 9 March

Conference for Professional Software Developers