« All Blogs

Person gesturing toward large computer screen

Performance implications of misunderstanding Node.js promises



The performance implications of misunderstanding Node.js promises

Ali Yousuf

Ali Yousuf

Jan 22 · 8 min read

for…of over unknown collection with await in loop
Promise.all() on an entire unknown collection

Benchmarking unbounded promise scenarios

║     Test      ║ Average Execution Time (Seconds) ║
║ await-for-of  ║                            6.943 ║
║ bluebird-map  ║                            4.550 ║
║ for-of        ║                            6.745 ║
║ p-limit       ║                            4.523 ║
║ promise-all   ║                            4.524 ║
║ promise-limit ║                            4.457 ║
for…of test code
for await…of test code
Image for post

Image for post

Image for post

Image for post

Clinic.js doctor output for for await…of and for…of, respectively
Image for post

Image for post

Image for post

Image for post

Clinic.js bubbleprof output for for await…of and for…of, respectively
Promise.all() test code
Image for post

Image for post

Clinic.js doctor output for Promise.all()

Promise chain execution order example
Async chain execution order example
Bluebird.map() with concurrency limit test code
Image for post

Image for post

Clinic.js doctor output for Bluebird.map() with concurrency limit
promise-limit module test code
Image for post

Image for post

Clinic.js doctor output for the promise-limit module
p-limit module test code
Image for post

Image for post

Clinic.js Doctor output for the p-limit module


« All Blogs

Diverse group of multicultural ADP employees

We All Want to Belong at Work



“Finding commonalities and accepting differences is the key to belonging,” said ADP’s business anthropologist, Martha Bird.

When I started to consider belonging at work, I knew exactly who to call — ADP’s business anthropologist, Martha Bird [MB]. Here’s some of our conversation about why belonging matters and what organizations can do to create and sustain a culture of belonging.

HB: Having a sense of belonging seems so important to how we move through the world and how we relate to our work. What is belonging?

MB: Belonging almost strikes people as poetic. It seems like a feeling, so it can resist the critical lens we need to unpack it.

People think of belonging as a psychological state, but it is actually cultural. It’s the notion of being inside or outside and relates to enacted phenomena like what the cultural norms are around us and how we compare ourselves to those norms.

Everything cultural is nested in other things and is influenced by power, resources, how things have been done in the past, and what the expectations are for the people involved.

Kids can feel like they don’t belong because of their clothes. New employees can feel like they don’t belong because of the jargon used in the organization. I’m a social scientist surrounded by tech people and it’s not surprising that my sense of belonging is tested from time to time. Ultimately, I’m privileged to feel I’m part of something bigger than myself.

HB: What makes a culture of belonging? It seems like belonging is relational. It’s partly how I perceive the circumstances and culture, how people already in that culture see it, and what’s actually going on regardless of our individual perceptions and opinions.

MB: There are so many ways to feel like you don’t belong — socially, economically, intellectually, emotionally. It’s that sense of other. To make sense of it, we can look at othering, break it down, and pick it apart to see what’s happening. We identify the discreet instances where someone feels alienated and read the cultural cues about what is happening. This gives us information about the culture.

There is no universal recipe for what makes a healthy culture. There are many good and right ways to do things.

It partly has to do with a culture’s view of the individual and how the individual should relate to others. In the United States, belonging often evokes family, but we also have strong cultural values in individuality and being recognized and valued as an individual. In other cultures, a sense of harmony is highly valued and working toward common goals is more important than individual achievement.

A culture of belonging fundamentally has to do with common goals and values, respect for each other, and a sense of our shared humanity.

HB: How can we help people feel like they belong at work?

MB: We want workplaces where people feel like they can be themselves, but are also working with others to do the work. It’s less about fitting in and more about complementing. There has to be room for difference. It’s like an orchestra where the manager is the conductor and we have all these different instruments playing different parts in the same piece of music. We don’t want just the violins or the tubas. We need all the different sounds, rhythms and harmonies.

Belonging at work starts with leaders modeling the values and behavior for their teams. Is it comfortable to embody those values? Sometimes that means being vulnerable and asking for help.

I recently gave a big speech to a large group of people in a setting where I felt anxious. Walking up to the stage, I decided to tell the audience that and ask for help. So I explained how I was feeling and asked them to tell me, “It’s okay, Martha!” It was great, so I asked them to do it again. And they did! I felt so much better and they were all on my team at that point, because I was vulnerable and asked them to help me in a way they could.

In cultures of belonging, it’s okay to be honest about what’s going on, even if it’s that you don’t feel included.

HB: What are some specific things that managers or leaders can do to foster belonging at work?

MB: At the organizational level, it’s essential to ensure that the values of the organization exist at every level and in every manager without exception. It’s also important to consider how to structure teams and make sure they can communicate effectively, based on where and how people work.

At the team level, good manager training is key. Managers need skills in working with teams, allowing for different views, and figuring out how to handle disagreements and how decisions get made. When people can weigh in on something, there is a sense of being in it together.

It’s important to see each other as people, not work roles. Connecting in person and outside of work makes a difference. We need to tell and know each other’s stories and create opportunities for sharing. Have lunch, have informal video meetings where everyone gets to tell something about themselves. I was in a meeting recently where we all told the story of our names. I learned a lot and felt like the people who heard my story knew me a little better, too.

We need more awareness and cultural consciousness by design. People are fundamentally creative and want to learn. We all have different experiences and different lives.

Finding commonalities and accepting those differences is the key to belonging.

Tech & Innovation Blog

Are you in the right job? Finding your passion and advancing your career.

Career Advancement, Intern to full-time, Women in STEM

Do you have the right job?

Sree M.

Have you ever wondered if you have the right job? Or what makes it right for you? Is it the technologies, the money, the people around you, or is it the work-life balance? Do you sleep peacefully at night, thinking you had a good day at work?

I feel like I’m one of the luckiest ones to have it all. I am originally from India and came to the US to get my master’s degree in Computer Science. Straight out of college, a good company in Wisconsin hired me. During the two years of my life that I spent there, I always felt something missing. I was far away from friends or family, and I had no idea what work satisfaction meant or how to achieve it.

About ten years ago, I came across an entry-level position to create web pages for an HCM system in Alpharetta, a suburb north of Atlanta, GA. In that job, I worked on JSF and Dojo Toolkit. Yes, JSF and Dojo There was a pretty good market for people working on web applications using those technologies. Time flew by. I loved every second of it, but all good things come to an end.

Large group of ADP associates seated on risers and making faces

We quickly changed to jQuery/Javascript with a heavy reliance on CSS. We switched from Web services to APIs and took on a new project to work. As one of four developers, I sat in a war room, trying to define an Agile process that worked for us and coming up with innovative ideas for the project.

Using blank pages, we drew how we wanted to display information to the user, how much information we need to show the user to avoid confusion, and how many steps it took to finish a task. We went to different departments at ADP, introduced ourselves to random people, and asked them to vote on our ideas. Doesn’t that sound like a lot of fun?!

All we needed were post-its, pencils, pens, white paper, and of course our shiny new MacBooks! Oh wait, did I say MacBooks, at work, nine years ago? YES! My husband was jealous. He had to carry a 100-pound IBM laptop! Did I mention that I got married that first year at ADP and bought a house? That I went from a carefree single life to a more responsible person?

Sree, her husband and sonShortly after, I took on two new projects and went from an entry-level developer to a Senior, and then to a Lead. Having fun all along and a good work-life balance, I had my baby and took a long maternity leave. Then came the hard and challenging part for every new mom in the world, leaving my baby to go back to work. My colleagues, who had become my friends and family over the years, were very supportive and very kindly eased me back into work. We started a new project with five members on the team and grew into 80+ associates working on smaller and more focused areas within a year. Our main objective is to create the best experience for our users. We leveraged the latest and greatest technologies available. We started with AngularJS, Less, Bower, Webpack, and Node and currently on Angular 8 with SASS and Angular CLI. I am super proud to say that I work for ADP and MyADP, a team dedicated to creating the best HCM experience for millions of people!

I literally grew up in ADP between these five different projects over ten years. I got experience from five different jobs, learning every step of the way, growing my career from a junior developer to a Principal Architect, and becoming the best version of myself every single day. I am proud of every year, every day, and every minute I spent here and consider myself beyond blessed. I’m very grateful to my manager, who hired me ten years ago, and who remains an amazing leader for my team. I’m thankful for all the colleagues, leaders, and experiences that I have had over the years. Happy 10th Anniversary to me!

So, let me ask you this question again, do you have the right job? Or what makes it right for you? Is it the technologies, the money, the people around you, or is it the work-life balance? ADP is the place where you can have it all and don’t have to choose one over the other. Find your ideal job at tech.adp.com/careers.

Sree Malladi is a Principal Application Architect on ADP’s NAS team based in Alpharetta, Georgia. 

Tech & Innovation Blog

On Elephant Graveyards

Career Mobility, Career Advice, Voice of our People

Some years ago, I heard someone sarcastically say, “This is where elephants come to die” in response to me asking them why such intelligent people as themselves were still at that company.

An elephant in an office

Since then, I have been referring to “elephant graveyards” when describing companies and teams that don’t have headroom for intelligent people to rise the ranks and grow as engineers.

An elephant graveyard, when applied to a corporate setting, is a team, company, or some other set of conditions, in which otherwise bright engineers take positions or assignments where there is no hope for future career growth. In this post, I hope to define the conditions that must be present for an elephant graveyard to form, how to detect them, and how to navigate them.

Defining career growth

An engineer’s career growth has three dimensions: skills, recognition, and compensation.

Skill growth is a function engineer learning new skills and becoming an expert through practicing newly acquired abilities on real-world projects.

Recognition is a function of showing initiative, applying new skills, and being recognized by supportive leadership.

Compensation is a function of recognition and skill growth.

Conditions required for an elephant graveyard to form

An elephant graveyard forms when the three dimensions of career growth become stagnant.

Skill growth stagnates when the project reaches a certain level of maturity and is either no longer growing or is in a terminal decline. Projects reach maturity when they reach a critical mass in production and are no longer rapidly evolving. When the active development phase is over, the projects are often scaled back. When projects don’t rapidly evolve, there is no room for the acquisition of new skills.

Another reason for skill growth stagnation is the presence of the Smartest Person In The Room. The Smartest Person In The Room is either the developer themselves (which means they’ve outgrown the project and are now a toxic influence on it) or someone else (who created the conditions in which only his ideas are good).

The emergence of the Smartest Person In The Room is toxic to the team, and good leaders should discourage it. Since only their ideas count, the rest of the engineers can’t grow and earn recognition.

Recognition stagnates when skills stagnate, or the engineer loses leadership support, including management incompetence. When leadership is unsupportive, new skills don’t often earn any recognition.

When both skill growth and recognition stagnate, compensation stagnates as well. Chances are higher if you work for a well-run company, the reward system is in line with skill growth and recognition. Poorly run companies, not so much. Companies that create artificial limitations barriers, like title hierarchies, run the risk of losing technologists for compensation reasons.

What to do if you find yourself in an elephant graveyard

First of all, try and detect an elephant graveyard before you join the company. Ask questions about team dynamics and the project maturity cycle. Don’t join a company or a team where elephants come to die.

If you find yourself in an elephant graveyard, however, it’s not all over. Evaluate your overall situation. Is work-life balance important to you at this phase of your life? Are you fairly compensated at this moment in time? Are there opportunities within your company on other projects? Is there an opportunity to shake things up on your existing project?

As long as there is room to grow, there is no reason to be restless. You are not an elephant, and you are not in a graveyard. Not yet, at least.

Published by Oleg Dulin

I am a software engineer and technology architect in New York City / New Jersey area. All opinions expressed here are mine and do not represent the opinions of my employers and customers, nor should my opinions be construed as opinions about my employers and customers.

Reprinted/Edited with permission. Read the original post.

Tech & Innovation Blog

Designing a Happy Career and Loving Your Work #GHC19

Early Talent, Diversity, Women in STEM

Speaking at#GHC19 was a priceless experience! It was truly an honor to be accepted to speak at GHC.

Grace Hopper Celebration 2019

Jyotsna M. Speaker GHC 2019; 12th year at ADP | Lead Product Manager – Security, Access and Identity Management, Global Products and Technology

It gives me great joy to write my first article and dedicate it to the amazing Grace Hopper Celebration 2019 in Orlando, Florida. Wow, 25,000 attendees and very well organized and executed, congrats to all.

Speaking at#GHC19 was a priceless experience! It was truly an honor to be accepted to speak at GHC. Thoroughly enjoyed and loved the amazing experience speaking at #GHC19 at CR222: Designing a Happy Career and Loving your Work at the Hyatt Orlando Ballroom L.

I am feeling very blessed to have had this opportunity to make an impact on the career growth for success and happiness of 400 women and so many more through this session. Thank you #AnitaB.

Heard of Buy One Get One Free? That’s it — First-time speaker and first-time attendee… super cool and a blessing to remember and reflect on the opportunity. There is an unwritten rule, rightfully so, to be aware of the great responsibility that I have been given to share, inspire, and empower our attendees, mostly women and students, to pursue their career aspirations and find areas to grow in the landscape of AI, robot, and robotic process automation.

“Keep learning, keep growing, and be happy always.”

Video recording of CR222: Designing a Happy Career and Loving your Work delivered on Oct. 4, 2019

Stop worrying, start preparing! It is natural to be worried about jobs disappearing because of a fast-changing industry where the norm is either disrupt or be disrupted. Worrying does not help, it that not true? So why not apply the lessons from our own life to prepare for the future that is here and now?

Got to love networking and meeting new people who become friends! It was an amazing experience to attend the celebration, connect with amazing speakers during the speaker reception and build relationships that we will cherish for a long time and take this priceless memory with us. Everywhere we go, people want to know that we are a #GHC19_Speaker. Let us make a meaningful difference in our communities and help support each other.

Work culture matters! We spend a phenomenal amount of time at work and it is most important to be in an environment that is accepting you for the person you are and providing you the coaching to mold you into the person you become as you learn to grow with and within the organization. It was a fantastic opportunity to connect and bond with my friends at ADP. I can just go on and on about how cool it is to know about the different projects we work on and how we brainstorm and connect as people first to deliver the best results for our business. We are a very diverse team and it is great to work in a culture that is inclusive and promotes talent growth and innovation in everything we do… it’s priceless! Checkout ADP Tech careers!

Diversity and Inclusion are most important for the success of the business! The mention of #GHC19 and AnitaB.Org — leading the frontiers in diversity, inclusion, and beyond… empowers you to find your inner courage and step up the game to be part of a cause that is so much bigger than ourselves. I am talking about achieving the rightful recognition for our work and opportunities to pursue career aspirations and initiate crucial conversations with the manager or mentor on ways to grow with and within the organization.

Mentoring — A GIFT THAT PAYS FORWARD! Truly thrilled to have the opportunity to mentor our student attendees to share our experiences and help them navigate the current landscape.

  • I discovered a technique that I would call speed mentoring… focus on the quality of the conversation to guide and coach, rather than quantity, and leveraged LinkedIn Messaging and in-person time at the conference over coffee or waiting at the food court.
  • Trust me, so many easy ways to mentor and it does not need to feel overwhelming.
  • Set expectations and get ready to learn from brilliant young minds, yes, mentors learn as well during this process.

Time goes fast… Yes, it is natural to want to be in that space of GHC and not leave. Yet, we have the responsibility to bring back our learnings with us to apply at work so we can change our minds, change our perspectives, and set course towards career success and abundant happiness for ourselves. This inner happiness will propel us forward and become our catalyst to create new pathways to pursue.

#WEWILL change the world as we design our own careers and find our new destinations in our unique journeys for a very happy career journey. Future is here and now… 3, 2, 1 — let’s reactivate our career aspirations and find our happiness doing what we love — it’s important!

Let the learning continue… here is to continued success to all of us in all that we do! Best of Luck! See you soon #GHC20.

(Originally published on LinkedIn October 10, 2019. Republished with permission.)

« All Blogs

Women in STEM

From Horses and Manatees to Coding

Best advice Samantha ever received? “If you are the smartest person in the room, you’re in the wrong room.”

Samantha Ortiz started out as a zookeeper. Then she went into marketing. Now she’s a software engineer at ADP’s Innovation Lab working on its NextGen Platform. Her ever-present curiosity, creativity, and passion for understanding behavior and solving problems have been common threads throughout her varied life experiences.

From Horses to Manatees …

Samantha was born and raised in the Bronx and was comfortable in the city, but she always had an interest in the natural world around her. Her older brother raised tropical poison dart frogs at home, and she was mesmerized as a child while observing them in their terrariums. She also spent most of her free time riding and training horses at Riverdale Riding Center in the Bronx’s Van Cortlandt Park, expanding the interest she had in animals.

After spending most of her life in the city, her family moved to Florida, and she was suddenly surrounded by agriculture. She made the most of her new journey in life. Sam joined the local Future Farmers of America, becoming the chapter’s student advisor and showing a pig at the county fair. Sam also continued her love of riding horses by finally fulfilling her dream of owning a horse and practicing dressage. “My mother was always so supportive of my adventures with animals,” she says. “Even if she felt a little out of place on the farm – she is a New York native, after all – she was there for me every step I took.”

Her passion for understanding living things continued in college as she studied psychology at New College of Florida, focusing on animal behavior and conservation. She spent her undergraduate years working with a wide range of animals, from studying manatee sensory behavior to handedness preferences in lemurs. Sam also conducted research on numerous species of fish, including Indian Mudskippers (an amphibious fish), and Stoplight Parrotfish. She spent several summers in Panama working on her thesis research on Parrotfish’s feeding behavior and its effects on coral reefs. She was also introduced to design, exploring zoo and aquarium design, its effects on animals, and how it fosters conservation behaviors in visitors.

… and from Reptiles to Coding

After college, she worked as a zookeeper in Florida, caring for animals and presenting reptile educational programs to visitors. “So many people were curious about alligator behavior, especially since we were in Florida,” Samantha says. “I shared with them how human actions, particularly humans feeding wildlife, would contribute negatively to the animals’ natural behavior, making them more dangerous as they’d become acquainted to people. Everyone’s actions and behaviors affect something or someone else.”

Samantha’s natural interest in behavior took her down a winding path beyond the natural world and into technology.

A relationship took her to Texas, where she worked for a digital marketing consultancy. While she worked as a copywriter and copy editor, Sam also started to combine her knowledge of behavior with the tools of technology. The marketing campaigns she ran combined multiple applications, and she realized she wanted a deeper understanding of the software she was using. How did it target specific demographics? What data did it use to determine which campaigns would trigger actionable behavior in users? “Where I went to college, they encourage you to be an independent thinker and deeply analyze things,” she says. “That’s how I have always approached everything.”

Samantha started to explore coding by teaching herself web development through an online program. After relocating back to New York, she applied to Hack Reactor, an intensive, full-time coding boot camp

“At first, I was telling myself I’m not ready, maybe it’s too late, I don’t know if I can do this,” she remembers. “So, I started with some prep classes before deciding that software engineering was what I wanted to do.”

Coming to ADP

While Samantha was at Hack Reactor, she built applications with classmates, and two of them went on to work at ADP. She was invited to a networking night at the ADP Innovation Lab, where “I met lots of fun, intelligent people who love what they do. I started talking to Yaara (Katz) and we just clicked. It was so great to meet another female software engineer with a passion for her work. We laughed and I really felt comfortable. I knew I was home.”

Samantha loves software engineering, noting, “It’s such a creative process. I have loved writing my whole life, and designing programs and coding is similar. We notice the audience, figure out how to present the information and design the task, and focus on the user. Building software is writing; refactoring code is editing.”

Continuous learning is another part of the job Samantha loves. “Every day is a different challenge,” she says. “I get to work with new technologies, learning more every step of the way. I am part of a team with great people, and I always feel valued. I started around Christmas a few years ago, and they invited me to their holiday party before I even started. Any idea I have is considered by my team. That’s been true from the first day I walked in the door.”

The best advice Samantha has received was from one of her software engineering instructors, she says: “If you are the smartest person in the room, you’re in the wrong room. Keep learning. Stay open — even if you’re scared or not feeling confident.”

Samantha’s advice to people considering a career shift is, “I wished I had jumped into coding earlier, when I was first drawn to it. Making a change doesn’t have to be a scary obstacle. Take it in steps, and know that everyone is learning all the time.”

« All Blogs

Yasminay Molina

I’ve Been Promoted 6 Times at the Same Company — Here’s My Secret for Advancing

Yasminay Molina has been promoted not once, not twice, but a whopping six times throughout her time with ADP.

Having first joined the management services company in 2008, Molina says the company “lives up to its values, has an amazing culture and is continuously willing to invest in my growth and development.”

Now, she’s the Director of Implementation for the southern region, having climbed the proverbial ladder thanks to her relentless curiosity, her participation in the company’s emerging leader program, and her use of performance and strategy conversations to expand her expertise.

“At ADP, there are countless opportunities available,” Molina said. “I also have leaders that support and believe in me. In addition, and probably most important, is the ability to reinvent myself. Every company is looking to grow in a world that is fast-changing. We have to be willing and able to change with it and bring new, fresh ideas to the table.”

We recently spoke to Molina about how she’s advanced at the same company without job hopping, as well as the most exciting part of her role. Here’s what she had to say.

How long have you been with your company? What about it made you first want to join?

I have been with ADP for a little over 11 years. I joined shortly out of college, just looking for a 9-5 job. I stayed because I found a career with a company that lives up to its values, has an amazing culture, and is continuously willing to invest in my growth and development.

Tell me about the roles that you’ve held at your company, as well as your current one. What about this role most excites you?

I started at ADP as a Client Services Representative assisting small businesses with payroll and tax questions. After three years in this role, I wanted to learn more about the lifecycle of our clients, so I became an Implementation Specialist. In this role, I helped onboard our new small business clients. I trained them on their products and services, making sure they were set up for future success. During this time and due to my performance, I was selected to participate in our emerging leader program. This gave me exposure to different aspects of the business and helped prepare me for my next role as an Implementation Team Lead.

As a Team Lead, I worked directly with my leaders learning how to motivate my associates in a positive way to drive results. I was able to participate in many conversations involving performance and strategy. In less than a year, I was promoted to Implementation Manager for the same team and then Implementation Manager II two years later. During my tenure in these roles, I was responsible for leading a team of implementation specialists, managing a relationship with our sales partners for six out of the 11 regions, as well as taking a leader under my wing.

I am now the Director of Implementation for the southern region. In this role, as well as in my previous roles, I am responsible for the development of my leaders and for our overall results. The most exciting part in my current role is that I get to directly impact and develop my leaders and, through them, our associates.

What’s something you’re especially good at, at work?

Connecting with people and building relationships.

What’s the first (and/or last) thing you do at work every day?

The first thing I do when I get to the office is say “good morning” to all of my associates and colleagues. As a leader, I recognized early on that it is the people that make me successful and I’m lucky enough to work with the best.

I do my best to remain present for my people during business hours, so the last thing I do is take care of any pending items before I leave to make a fresh start the next day!

A lot of people believe that developing your career means changing companies, and not infrequently. What has enabled you to develop/advance your career without job hopping?

The company I work for plays a major role in this. At ADP, there are countless opportunities available. I also have leaders that support and believe in me. In addition, and probably most important, is the ability to reinvent myself. Every company is looking to grow in a world that is fast-changing. We have to be willing and able to change with it, and bring new and fresh ideas to the table.

What’s something you think most people don’t know about your company that you think they should?

ADP truly does care about and invest in their people. My voice and the voice of the people matter.

What was the best quality of the best boss you’ve ever had?


What’s the most memorable piece of career advice you’ve received?

I can’t choose just one, but I’ll leave you with two that have stuck out and resonated with me the most:

“People first. The rest will come.”

“Never be the smartest person in the room.”