Presentation: Meet the Node.js anti-patterns



10:35am - 11:25am


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.


QCon: What are your roles today?

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.

QCon: What’s the motivation for your talk?

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.

QCon: How do you plan to cover through these patterns?

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.

QCon: Who are you targeting in your talk?

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.

QCon: Any specific problem domains you’ll be addressing?

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.

Speaker: Igor Soarez

Senior Consultant @YLD

Igor Soarez is a Principal Engineer at YLD. He works as a consultant for organisations managing big deployments, validating and advising on architectural choices and delivery process. Over the past two years, Igor has led teams working on Node-related high-visibility projects for big enterprises. He has also designed and ran Node.js training courses for both private clients and public conferences.

Find Igor Soarez at

Speaker: Pedro Teixeira

Founder and CTO @YLD

Pedro is a founder and CTO at YLD. A software architect specialised in computer security, Pedro spends his time working on Node.js applications. He is the author of several commonly used Node.js modules, the Node Tuts screencasts, and the Professional Node Patterns book series. Pedro has built some of the most robust Node.js applications while working for Nodejitsu, CrowdProcess and BrowserSwarm, and specialises in Node.js performance and troubleshooting.

Find Pedro Teixeira at

Similar Talks

Distributed Systems Engineer Working on Cache @Twitter
Principal Engineer @ Sky Betting & Gaming
Elm Pioneer & Software Engineer @noredink
Director of Offensive Security @Salesforce


Conference for Professional Software Developers