Hire Deeply Vetted BEM Developer

Upstaff is the best deep-vetting talent platform to match you with top BEM developers remotely. Scale your engineering team with the push of a button

Hire Deeply Vetted <span>BEM Developer</span>
Trusted by Businesses

Daniil G., Full-Stack Software Engineer (React + Node.js)

Ukraine
Last Updated: 4 Jul 2023

- 4+ years of experience in the IT industry as a full-stack engineer - FRONT-END: deep knowledge of JavaScript, ES6+, React, Redux, other React tools (Redux-Thunk, React-query, etc.), Material-UI, HTML5, CSS3, BEM, LESS, SASS, Bootstrap, Webpack, Vite, Jest, Lodash - BACK-END: Node.js, Typescript, Express.js, NestJS, REST API, Postgres, Docker, Google, Facebook auth - Intermediate English - Available ASAP

Learn more
BEM

BEM

React

React

Node.js

Node.js

View Daniil

Victoria R., Mobile/Frontend Javascript Engineer

Dnipro, Ukraine
Last Updated: 4 Jul 2023

- Mobile/Frontend Javascript Engineer with 5 years of experience in the IT industry - 3 years of experience creating mobile applications using React Native - Deep knowledge of JavaScript, ES6+, React, React Native, Redux, other React tools (Redux-Thunk, React-query, etc.), Material-UI, HTML5, CSS3, BEM, LESS, SASS, Bootstrap, Webpack, Vite, Jest, Lodash, Docker, Google, Facebook auth - Upper-Intermediate English - Available ASAP

Learn more
BEM

BEM

React

React

React Native

React Native

View Victoria

Egor G., Full-Stack Software Engineer (Node.js + React)

Kremenchuk, Ukraine
Last Updated: 4 Jul 2023

- 4 years of professional experience with front-end and back-end development - Back-end: NodeJS (Express, Nest), REST API, Docker, Google, Facebook auth, Postgres - Front-end: HTML, CSS, BEM, SASS/SCSS, LESS, Bootstrap, Material-UI, ReactJS, Redux, Redux-Thunk, React-query, Webpack, Vite, Jest, Lodash - Available in 1 week after approval for the project

Learn more
BEM

BEM

Node.js

Node.js

React

React

View Egor

Danil T., Full-Stack Software Engineer (Node.js + React)

Dnipro, Ukraine
Last Updated: 4 Jul 2023

- 4+ years of professional experience using front-end and back-end technologies - Back-end: NodeJS, Express, Nest, REST API, Docker, Google, Facebook auth, Postgres - Front-end: React, Redux, Redux-Thunk, React-query, Webpack, Material-UI, Vite, Jest, Lodash, HTML, CSS, BEM, SASS/SCSS, LESS, Bootstrap - Intermediate English - Available in 2 weeks after approval for the project

Learn more
BEM

BEM

Node.js

Node.js

React

React

View Danil

Vlada Y., Full-stack Software Engineer (Node.js + React)

Burgas, Bulgaria
Last Updated: 4 Jul 2023

- 4+ years of professional experience using front-end and back-end technologies - Front-end: HTML, CSS, BEM, SASS/SCSS, Bootstrap, Webpack, Material-UI, ReactJS, Redux, Redux-Saga, Jest, Lodash, React-Hooks, React-Query - Back-end: NodeJS (Express), Nest.js, REST API, Docker, OAuth, Postgres, TypeOrm, Sequelize - Upper-Intermediate English level - Available in 2 weeks after approval for the project

Learn more
BEM

BEM

Node.js

Node.js

React

React

View Vlada

Talk to Our Talent Expert

Our journey starts with a 30-min discovery call to explore your project challenges, technical needs and team diversity.
Manager
Maria Lapko
Global Partnership Manager

Only 3 Steps to Hire BEM Engineers

1
Talk to Our Talent Expert
Our journey starts with a 30-min discovery call to explore your project challenges, technical needs and team diversity.
2
Meet Carefully Matched Talents
Within 1-3 days, we’ll share profiles and connect you with the right talents for your project. Schedule a call to meet engineers in person.
3
Validate Your Choice
Bring new talent on board with a trial period to confirm you hire the right one. There are no termination fees or hidden costs.

Welcome to Upstaff

Yaroslav Kuntsevych
Upstaff.com was launched in 2019, addressing software service companies, startups and ISVs, increasingly varying and evolving needs for qualified software engineers

Yaroslav Kuntsevych

CEO
Trusted by People
Henry Akwerigbe
Henry Akwerigbe
This is a super team to work with. Through Upstaff, I have had multiple projects to work on. Work culture has been awesome, teammates have been super nice and collaborative, with a very professional management. There's always a project for you if you're into tech such Front-end, Back-end, Mobile Development, Fullstack, Data Analytics, QA, Machine Learning / AI, Web3, Gaming and lots more. It gets even better because many projects even allow full remote from anywhere! Nice job to the Upstaff Team 🙌🏽.
Vitalii Stalynskyi
Vitalii Stalynskyi
I have been working with Upstaff for over a year on a project related to landscape design and management of contractors in land design projects. During the project, we have done a lot of work on migrating the project to a multitenant architecture and are currently working on new features from the backlog. When we started this project, the hiring processes were organized well. Everything went smoothly, and we were able to start working quickly. Payments always come on time, and there is always support from managers. All issues are resolved quickly. Overall, I am very happy with my experience working with Upstaff, and I recommend them to anyone looking for a new project. They are a reliable company that provides great projects and conditions. I highly recommend them to anyone looking for a partner for their next project.
Владислав «Sheepbar» Баранов
Владислав «Sheepbar» Баранов
We've been with Upstaff for over 2 years, finding great long-term PHP and Android projects for our available developers. The support is constant, and payments are always on time. Upstaff's efficient processes have made our experience satisfying and their reliable assistance has been invaluable.
Roman Masniuk
Roman Masniuk
I worked with Upstaff engineers for over 2 years, and my experience with them was great. We deployed several individual contributors to clients' implementations and put up two teams of upstaff engineers. Managers' understanding of tech and engineering is head and shoulders above other agencies. They have a solid selection of engineers, each time presented strong candidates. They were able to address our needs and resolve things very fast. Managers and devs were responsive and proactive. Great experience!
Yanina Antipova
Yanina Antipova
Хочу виразити велику подяку за таку швидку роботу по підбору двох розробників. Та ще й у такий короткий термін-2 дні. Це мене здивувало, адже ми шукали вже цілий місяць. І знайдені кандидати нам не підходили Це щось неймовірне. Доречі, ці кандидати працюють у нас і зараз. Та надать приклад іншим працівникам. Гарного дня!)
Наталья Кравцова
Наталья Кравцова
I discovered an exciting and well-paying project on Upstaff, and I couldn't be happier with my experience. Upstaff's platform is a gem for freelancers like me. It not only connects you with intriguing projects but also ensures fair compensation and a seamless work environment. If you're a programmer seeking quality opportunities, I highly recommend Upstaff.
Volodymyr
Volodymyr
Leaving a review to express how delighted I am to have found such a great side gig here. The project is intriguing, and I'm really enjoying the team dynamics. I'm also quite satisfied with the compensation aspect. It's crucial to feel valued for the work you put in. Overall, I'm grateful for the opportunity to contribute to this project and share my expertise. I'm thrilled to give a shoutout and recommendation to anyone seeking an engaging and rewarding work opportunity.

Hire BEM Developer as Effortless as Calling a Taxi

Hire BEM engineer

FAQs about BEM Development

How do I hire a BEM developer? Arrow

If you urgently need a verified and qualified BEM developer, and resources for finding the right candidate are lacking, UPSTAFF is exactly the service you need. We approach the selection of BEM developers professionally, tailored precisely to your needs. From placing the call to the completion of your task by a qualified developer, only a few days will pass.

Where is the best place to find BEM developers? Arrow

Undoubtedly, there are dozens, if not hundreds, of specialized services and platforms on the network for finding the right BEM engineer. However, only UPSTAFF offers you the service of selecting real qualified professionals almost in real time. With Upstaff, software development is easier than calling a taxi.

How are Upstaff BEM developers different? Arrow

AI tools and expert human reviewers in the vetting process are combined with a track record and historically collected feedback from clients and teammates. On average, we save over 50 hours for client teams in interviewing BEM candidates for each job position. We are fueled by a passion for technical expertise, drawn from our deep understanding of the industry.

How quickly can I hire BEM developers through Upstaff? Arrow

Our journey starts with a 30-minute discovery call to explore your project challenges, technical needs, and team diversity. Meet Carefully Matched BEM Talents. Within 1-3 days, we’ll share profiles and connect you with the right talents for your project. Schedule a call to meet engineers in person. Validate Your Choice. Bring a new BEM developer on board with a trial period to confirm that you’ve hired the right one. There are no termination fees or hidden costs.

How does Upstaff vet remote BEM engineers? Arrow

Upstaff Managers conduct an introductory round with potential candidates to assess their soft skills. Additionally, the talent’s hard skills are evaluated through testing or verification by a qualified developer during a technical interview. The Upstaff Staffing Platform stores data on past and present BEM candidates. Upstaff managers also assess talent and facilitate rapid work and scalability, offering clients valuable insights into their talent pipeline. Additionally, we have a matching system within the platform that operates in real-time, facilitating efficient pairing of candidates with suitable positions.

Discover Our Talent Experience & Skills

Browse by Experience
Browse by Skills
Browse by Experience
Arrow
Browse by Experience
Browse by Skills
Rust Frameworks and Libraries Arrow
Adobe Experience Manager (AEM) Arrow
_Business Intelligence (BI) Arrow
Codecs & Media Containers Arrow
Hosting, Control Panels Arrow

Hiring BEM developers? Then you should know!

Share this article
Table of Contents

What are top BEM instruments and tools?

  • PostCSS: PostCSS is a popular BEM tool used for transforming CSS with JavaScript plugins. It was created in 2013 by Andrey Sitnik and has gained significant adoption in the web development community. PostCSS provides a flexible and efficient way to process CSS, making it an ideal choice for implementing BEM methodology. It offers a wide range of plugins that can be used for linting, autoprefixing, minification, and many other tasks, making it a versatile tool for BEM development.
  • Sass: Sass is a CSS preprocessor that has been widely adopted in the BEM community. It was initially released in 2006 and has since become one of the most popular CSS preprocessors. Sass provides features such as variables, nesting, mixins, and inheritance, which make it easier to write and maintain BEM-style CSS. Its extensive ecosystem of libraries and frameworks, such as Bourbon and Compass, further enhance the BEM development experience.
  • Stylelint: Stylelint is a powerful linter specifically designed for CSS. It helps enforce consistent code style and detect potential errors in BEM-based CSS code. Stylelint supports custom rules and plugins, allowing developers to tailor it to their specific BEM conventions. With its extensive rule set and active community support, Stylelint is considered an essential tool for maintaining high-quality BEM codebases.
  • BEMIT: BEMIT, short for Block, Element, Modifier, and Templates, is an extension of the original BEM methodology. It provides a more comprehensive approach to structuring and organizing CSS code. BEMIT introduces the concept of templates, which are reusable sets of blocks, elements, and modifiers that can be used across multiple projects. This approach promotes code reusability and consistency, making BEMIT a popular choice among developers working on large-scale projects.
  • BEM-XJST: BEM-XJST is a templating engine specifically designed for BEM methodology. It was developed by the Yandex team and is widely used in their projects. BEM-XJST allows developers to write templates using BEM naming conventions and provides a powerful set of tools for manipulating and rendering BEM entities. It offers efficient rendering performance and seamless integration with other BEM tools, making it a valuable asset for BEM-based template development.
  • BEM Constructor: BEM Constructor is an integrated development environment (IDE) for working with BEM. It provides a comprehensive set of tools for creating, managing, and testing BEM projects. BEM Constructor offers features such as live reloading, code autocompletion, and built-in support for BEM naming conventions. It aims to streamline the BEM development workflow and provide a user-friendly interface for developers to work with BEM methodology efficiently.
  • BEM Guru: BEM Guru is an online resource dedicated to educating developers about BEM methodology. It provides comprehensive documentation, tutorials, and examples to help developers understand and implement BEM effectively. BEM Guru also hosts a community forum where developers can seek guidance and share their experiences with BEM. It serves as an invaluable resource for both beginners and experienced developers looking to enhance their understanding of BEM.

How and where is BEM used?

Case NameCase Description
1. Modular DevelopmentBEM (Block, Element, Modifier) methodology allows for modular development, where components can be easily created, reused, and maintained across different projects. This modular approach makes it easier to manage and update code, resulting in increased productivity and code maintainability.
2. ScalabilityBEM provides a scalable structure for web development projects. By dividing the user interface into independent blocks, it becomes easier to scale and maintain the codebase. This scalability is particularly beneficial for large projects with numerous components and complex layouts.
3. Code ReusabilityWith BEM, developers can create reusable components that can be used across different parts of a website or even across multiple projects. This reusability saves development time and effort, as existing blocks can be easily implemented without the need to rewrite code from scratch.
4. CollaborationBEM promotes collaboration among developers by providing a clear and consistent naming convention. This naming convention makes it easier for team members to understand and work on each other’s code. It also facilitates code reviews and reduces the chances of naming conflicts.
5. ConsistencyBEM ensures consistency in the codebase by enforcing a standardized naming convention. This consistency improves code readability and maintainability, making it easier for developers to understand and modify existing code.
6. Responsive DesignBEM supports responsive design by allowing for the creation of independent and reusable blocks that can adapt to different screen sizes and devices. This flexibility enables developers to build responsive interfaces without compromising code structure or maintainability.
7. Performance OptimizationBEM’s modular approach optimizes performance by allowing for the selective loading of specific blocks. Instead of loading the entire CSS or JavaScript file, only the necessary blocks are loaded, resulting in faster page load times and improved overall performance.
8. Code MaintainabilityBEM’s clear and consistent naming convention, modular structure, and code reusability contribute to improved code maintainability. The separation of concerns and independent blocks make it easier to debug, update, and modify code, reducing the chances of introducing errors or breaking functionality.

Hard skills of a BEM Developer

Hard skills of a BEM Developer:

Junior

  • HTML/CSS: Proficient in writing clean and semantic HTML and CSS code following BEM methodology.
  • JavaScript: Basic understanding of JavaScript and ability to write simple scripts.
  • Version Control: Familiarity with Git for code versioning and collaboration.
  • Responsive Design: Knowledge of building responsive web designs using media queries.
  • Testing: Basic understanding of unit testing and ability to write test cases for BEM components.

Middle

  • Advanced HTML/CSS: Expertise in writing complex HTML and CSS code following BEM methodology.
  • JavaScript Frameworks: Proficient in working with JavaScript frameworks like React or Angular.
  • Build Tools: Experience with build tools like Webpack or Gulp for automating development tasks.
  • Browser Compatibility: Knowledge of cross-browser compatibility and ability to write code that works across different browsers.
  • Performance Optimization: Understanding of performance optimization techniques for web applications.
  • Accessibility: Familiarity with web accessibility standards and guidelines.
  • Code Review: Ability to conduct code reviews and provide constructive feedback.

Senior

  • Advanced JavaScript: Mastery in JavaScript and ability to solve complex problems using modern JavaScript features.
  • Architecture Design: Experience in designing scalable and modular architecture for large-scale web applications.
  • Performance Monitoring: Proficiency in monitoring and optimizing the performance of web applications.
  • Code Quality: Strong focus on writing clean, maintainable, and well-documented code.
  • Leadership: Ability to mentor and guide junior developers, and coordinate with cross-functional teams.
  • Codebase Refactoring: Experience in refactoring legacy codebases to improve maintainability and scalability.
  • Security: Understanding of web security best practices and ability to implement secure coding techniques.
  • Project Management: Proficient in managing projects, estimating timelines, and prioritizing tasks.

Expert/Team Lead

  • Technical Leadership: Extensive experience in leading development teams and making technical decisions.
  • System Design: Ability to design complex systems and make architectural decisions.
  • Performance Engineering: Expertise in optimizing the performance of large-scale web applications.
  • Team Collaboration: Strong collaboration skills to work with cross-functional teams.
  • Codebase Maintenance: Proficiency in maintaining large codebases with multiple contributors.
  • Strategic Planning: Ability to align technical strategies with business goals and objectives.
  • Project Estimation: Experience in estimating project timelines and resource allocation.
  • Continuous Integration/Deployment: Knowledge of CI/CD tools and practices for automated builds and deployments.
  • Technical Documentation: Proficient in creating technical documentation and guidelines for the development team.
  • Innovation: Ability to stay updated with the latest web technologies and drive innovation within the team.
  • Problem Solving: Strong analytical and problem-solving skills to resolve complex technical challenges.

Cases when BEM does not work

  1. Limited Scalability: BEM (Block, Element, Modifier) is a popular naming convention in web development that aims to improve code maintainability and reusability. However, BEM might not be the most suitable approach for large-scale projects with complex component hierarchies. As the project grows, the number of classes can increase exponentially, making it harder to manage and maintain the codebase efficiently. This can lead to decreased productivity and increased development time.
  2. Learning Curve: BEM introduces a specific naming structure that developers need to follow consistently. While this can be beneficial for team collaboration and code readability, it also has a learning curve. Developers who are new to BEM may require additional time and effort to understand and apply the naming conventions correctly. This can slow down development initially and might not be ideal for projects with tight deadlines or frequent changes in development teams.
  3. Overuse of Classes: BEM encourages the use of descriptive class names to provide meaningful context to HTML elements. However, in some cases, this can lead to an excessive number of classes, resulting in bloated HTML markup. Bloated markup can negatively impact page load times, especially on mobile devices or slower internet connections. It is crucial to strike a balance between descriptive class names and optimized HTML structure to ensure optimal performance.
  4. Alternative Naming Conventions: While BEM is widely used and supported, it is not the only naming convention available for structuring CSS classes. Some developers might prefer other approaches, such as Atomic CSS or CSS-in-JS libraries, depending on the project requirements and personal preferences. It’s essential to consider the specific needs of the project and the development team before deciding on the best naming convention to use.

TOP 10 BEM Related Technologies

  • HTML

    HTML (Hypertext Markup Language) is the backbone of web development. It provides the structure and semantic elements for building web pages.

  • CSS

    CSS (Cascading Style Sheets) is used to style HTML elements and control the layout of web pages. It allows developers to customize the appearance of websites.

  • JavaScript

    JavaScript is a programming language that adds interactivity and dynamic behavior to web pages. It is widely used for client-side scripting and building web applications.

  • React

    React is a popular JavaScript library for building user interfaces. It allows developers to create reusable UI components and efficiently manage the state of the application.

  • Node.js

    Node.js is a JavaScript runtime environment that allows developers to run JavaScript on the server side. It enables building scalable and high-performance web applications.

  • Express.js

    Express.js is a minimalist web application framework for Node.js. It simplifies the process of building web servers and APIs, making it a popular choice for backend development.

  • MongoDB

    MongoDB is a NoSQL database that provides a flexible and scalable solution for storing and retrieving data. It is widely used in web development for its ease of use and ability to handle large amounts of data.

TOP 15 Tech facts and history of creation and versions about BEM Development

  • BEM (Block Element Modifier) is a popular front-end development methodology that was created in 2011 by Yandex, a Russian search engine.
  • BEM was initially developed to solve the problem of maintaining large-scale CSS codebases, particularly in complex web projects.
  • The methodology introduces a naming convention for CSS classes that helps developers create modular and reusable code.
  • BEM follows a hierarchical structure, with blocks representing independent components, elements as parts of blocks, and modifiers for altering the appearance or behavior of blocks or elements.
  • One of the key advantages of BEM is its ability to prevent CSS specificity conflicts, as each class name is unique and self-contained.
  • BEM encourages developers to think in terms of components and promotes code reusability, resulting in more efficient and scalable development.
  • The BEM methodology has gained widespread adoption in the development community and is used by companies like Google, Twitter, and Airbnb.
  • BEM has evolved over the years, with the introduction of BEMX (extended BEM) and BEMHTML, which provide additional features and tools for development.
  • BEMX extends the BEM methodology by introducing the concept of levels, allowing for better organization and management of code.
  • BEMHTML is a template language that complements BEM by providing a declarative syntax for generating HTML markup based on BEM blocks and elements.
  • BEM is language-agnostic and can be applied to various programming languages, including HTML, CSS, JavaScript, and even server-side technologies.
  • The BEM community is active and continuously contributes to the development of the methodology through discussions, best practices, and tooling.
  • BEM has influenced other CSS methodologies and naming conventions, such as SMACSS (Scalable and Modular Architecture for CSS) and Atomic CSS.
  • The BEM methodology aligns well with modern front-end development practices, such as component-based architectures and design systems.
  • BEM’s modular and structured approach to CSS development can lead to improved collaboration among designers and developers in large-scale projects.

Soft skills of a BEM Developer

Soft skills are essential for a BEM (Block, Element, Modifier) Developer to effectively work in a team, collaborate with stakeholders, and deliver high-quality projects. Here are the soft skills required for a BEM Developer at different levels:

Junior

  • Effective Communication: Ability to clearly express ideas and communicate with team members and stakeholders.
  • Problem Solving: Capacity to identify and resolve issues that arise during the development process.
  • Adaptability: Willingness to learn new technologies and adapt to changing project requirements.
  • Teamwork: Collaboration with other team members to achieve project goals.
  • Attention to Detail: Paying close attention to the details of code implementation and design.

Middle

  • Leadership: Taking charge of projects and guiding junior developers.
  • Time Management: Ability to effectively manage time and meet project deadlines.
  • Mentoring: Assisting junior developers in their professional growth and development.
  • Client Management: Skill in managing client expectations and ensuring client satisfaction.
  • Conflict Resolution: Resolving conflicts and maintaining a positive team environment.
  • Critical Thinking: Analyzing complex problems and finding innovative solutions.
  • Collaboration: Working closely with designers and other stakeholders to ensure seamless integration of design and development.

Senior

  • Project Management: Overseeing the entire development process and coordinating with different teams.
  • Strategic Thinking: Developing long-term plans and strategies for project success.
  • Decision Making: Making informed decisions based on project requirements and constraints.
  • Negotiation: Negotiating with clients or stakeholders on project scope, timelines, and resources.
  • Empathy: Understanding the needs and perspectives of team members and stakeholders.
  • Continuous Learning: Actively seeking opportunities to enhance skills and stay updated with industry trends.
  • Quality Assurance: Ensuring high-quality code and adherence to best practices.
  • Innovation: Encouraging and driving innovation within the development team.

Expert/Team Lead

  • Strategic Planning: Developing and executing long-term development strategies for the team.
  • Technical Leadership: Providing technical guidance and mentorship to team members.
  • Business Acumen: Understanding the business goals and aligning development efforts accordingly.
  • Risk Management: Identifying and mitigating potential risks during the project lifecycle.
  • Team Building: Building and nurturing a high-performing development team.
  • Client Relationship Management: Building strong relationships with clients and ensuring client satisfaction.
  • Influencing Skills: Persuading and influencing stakeholders to make informed decisions.
  • Project Estimation: Accurately estimating project timelines, resources, and costs.
  • Industry Expertise: Demonstrating deep knowledge and expertise in BEM development and related technologies.
  • Conflict Management: Resolving conflicts and maintaining a positive team dynamic.
  • Continuous Improvement: Driving continuous improvement initiatives within the development team.

Pros & cons of BEM

9 Pros of BEM

  • Better code organization: BEM (Block Element Modifier) provides a clear and structured way to organize code, making it easier to read and maintain.
  • Modularity: BEM promotes modular development by breaking down the user interface into smaller, reusable components, which can lead to more efficient development and code reuse.
  • Scalability: BEM allows for scalability by defining independent blocks that can be easily added, modified, or removed without affecting other parts of the codebase.
  • Easy collaboration: BEM’s naming conventions make it easier for multiple developers to work together on a project, as it provides a consistent and predictable structure.
  • Readability: BEM’s naming conventions are self-explanatory and descriptive, making it easier for developers to understand the purpose and functionality of each component.
  • Maintainability: With BEM, making changes or updates to specific components becomes more straightforward and less prone to causing unintended side effects throughout the codebase.
  • Reduced CSS specificity conflicts: BEM’s naming conventions help avoid CSS specificity conflicts by using unique class names for each component.
  • Improved performance: By breaking down the user interface into smaller components, BEM can help optimize performance by only applying necessary styles to specific elements.
  • Compatibility: BEM can be used with various front-end frameworks and libraries, making it a flexible approach that can adapt to different project requirements.

9 Cons of BEM

  • Increased verbosity: BEM’s naming conventions can result in longer class names, which may make the HTML markup less concise and increase file sizes.
  • Learning curve: BEM has a specific syntax and naming convention that developers need to learn and adhere to, which may require some initial time and effort investment.
  • Potential for naming conflicts: If not properly managed, naming conflicts can occur when different developers work on the same project, leading to inconsistencies and potential issues.
  • Overuse of modifiers: BEM’s modifier concept allows for customization, but it can be misused, resulting in an excessive number of modifiers and increased complexity.
  • Need for discipline: BEM requires strict adherence to its naming conventions and principles, which may be challenging to enforce in large development teams or projects with tight deadlines.
  • Increased CSS specificity: While BEM helps avoid specificity conflicts within components, it can result in higher CSS specificity throughout the codebase, which may lead to potential conflicts elsewhere.
  • Potential for code duplication: If not properly managed, BEM can lead to code duplication, especially when similar components need to be created with slight variations.
  • Less intuitive class names: BEM’s naming convention can sometimes result in non-intuitive class names, especially when dealing with complex nested structures.
  • Perceived overhead: Some developers argue that BEM’s strict structure and naming conventions add unnecessary overhead, especially for smaller projects or solo development.

Join our Telegram channel

@UpstaffJobs

Talk to Our Talent Expert

Our journey starts with a 30-min discovery call to explore your project challenges, technical needs and team diversity.
Manager
Maria Lapko
Global Partnership Manager