Hire Deeply Vetted Groovy Developer

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

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

Bogdan S., Senior Java engineer

Kharkiv, Ukraine
Last Updated: 4 Jul 2023

- 12+ years of experience in the development using Java and related technologies (Java, Groovy) - Spring, Spring Boot framework - Intermediate English - Available ASAP

Learn more


View Bogdan

Vladyslav K, Senior AWS DevOps Engineer

Vinnitsa, Ukraine
Last Updated: 4 Jul 2023

- 4 years in IT field as a DevOps Engineer. Strong scripting skills (Python, Bash, Groovy). - Good understanding of Software Development processes. Practical experience and professional competence in CI/CD (Jenkins, Azure DevOps), infrastructure as code (Terraform, CloudFormation), monitoring (ELK, Zabbix, Grafana), cluster management (Kubernetes, Kubespray, Helm), configuration management (Ansible) and computer network. Proficiency in Amazon Web Services. Extensive background in UNIX-like Operating Systems administration and maintenance. - Upper-Intermediate English

Learn more


Amazon Web Services (AWS)

Amazon Web Services (AWS)

View Vladyslav

Yaroslav M., DevOps Engineer

Dnipro, Ukraine
Last Updated: 26 Oct 2023

- Highly motivated Systems Engineer and DevOps with 13+ years of experience in Linux and FreeBSD systems administration, scripting, automation, and configuration management; - Experienced in troubleshooting and root-cause analysis of complex infrastructure issues; - Proficient in cloud platforms such as AWS, Azure, and GCP, as well as CI/CD tools like GitLab CI and Jenkins; - Skilled in containerization with Docker and Kubernetes, and monitoring tools like Grafana and Prometheus; - Strong background in database management with MariaDB, MySQL, PostgreSQL, and more; - Proficient in programming languages such as Groovy, Bash, and PowerShell; - Experienced in virtualization technologies like VMware ESXi and Proxmox, as well as hardware infrastructure planning and maintenance.

Learn more


Amazon Web Services (AWS)

Amazon Web Services (AWS)

View Yaroslav

Ivan P., Python Software Engineer

Last Updated: 16 Aug 2023

- 5+ years of experience in Python development. - Proficient in Python, Bash, Groovy, Django, Django REST Framework, and other related technologies. - Strong knowledge of AWS services and architecture. - Experienced in designing and implementing RESTful APIs. - Skilled in Git and CI/CD practices. - Good understanding of testing approaches. - Bachelor's degree in computer science. - AWS Certified Solutions Architect. - Upper-Intermediate English

Learn more




View Ivan

Vladimir Sh., Lead QA Engineer

Last Updated: 6 Sep 2023

Highly experienced software engineer with over 10 years in QA, leading various QA teams and projects. - Expertise in testing automation tools Appium, Selenium, Cypress, WebDriver, and Protractor; - Experience with Java, Groovy, JavaScript, and TypeScript; - Skilled in creating test automation frameworks for Web UI/API/Mobile platforms; - Proficient in developing test documentation such as test plans, test cases, and incident reports; - Good understanding of systems development life cycle methodology and QA methodology and tools; - Strong knowledge of CI environment configuration and different operating systems (Windows, Linux); - Ability to quickly learn new technologies and approaches and implement them effectively.

Learn more






View Vladimir

Talk to Our Talent Expert

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

Only 3 Steps to Hire Groovy Engineers

Talk to Our Talent Expert
Our journey starts with a 30-min discovery call to explore your project challenges, technical needs and team diversity.
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.
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

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.
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 Groovy Developer as Effortless as Calling a Taxi

Hire Groovy engineer

FAQs about Groovy Development

How do I hire a Groovy developer? Arrow

If you urgently need a verified and qualified Groovy developer, and resources for finding the right candidate are lacking, UPSTAFF is exactly the service you need. We approach the selection of Groovy 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 Groovy developers? Arrow

Undoubtedly, there are dozens, if not hundreds, of specialized services and platforms on the network for finding the right Groovy 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 Groovy 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 Groovy 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 Groovy 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 Groovy 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 Groovy 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 Groovy 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 Groovy 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
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 Groovy developers? Then you should know!

Share this article
Table of Contents

How and where is Groovy used?

Case NameCase Description
Automated TestingGroovy is widely used in the field of automated testing. Its powerful scripting capabilities and integration with popular testing frameworks like Selenium make it an ideal choice for writing test scripts. Groovy’s dynamic nature allows for flexible and concise test code, enabling developers to write more efficient and maintainable test cases.
Build AutomationGroovy is commonly used for build automation tasks. With tools like Gradle, developers can leverage the simplicity and expressiveness of Groovy to define and manage their build process. Groovy’s built-in support for XML and JSON processing, file handling, and task configuration make it a valuable tool for automating the compilation, testing, and deployment of software projects.
Scripting and Task AutomationGroovy’s scripting capabilities make it a popular choice for general-purpose scripting and task automation. From simple scripting tasks like file manipulation and data processing to more complex automation workflows, Groovy provides a concise and readable syntax that allows developers to quickly prototype and execute their scripts. Its seamless integration with Java libraries also enables developers to leverage existing Java code and libraries in their scripts.
Web DevelopmentGroovy is increasingly used in web development, especially with frameworks like Grails. Grails, built on top of Groovy, provides a convention-over-configuration approach, allowing developers to build web applications rapidly. Groovy’s dynamic nature and concise syntax make it well-suited for creating dynamic web pages, handling HTTP requests, and interacting with databases. Additionally, Groovy’s seamless integration with Java frameworks and libraries provides access to a wide range of tools and resources.
Data Processing and ETLGroovy is a powerful tool for data processing and Extract, Transform, Load (ETL) tasks. Its expressive syntax and built-in support for XML, JSON, and regular expressions make it easy to manipulate and transform data. Groovy’s integration with popular data processing frameworks like Apache Spark enables developers to leverage its capabilities for large-scale data processing and analytics tasks.
DSL DevelopmentGroovy’s dynamic nature and flexible syntax make it an excellent choice for creating Domain-Specific Languages (DSLs). Developers can leverage Groovy’s metaprogramming features to define custom DSLs that are tailored to specific business domains or use cases. DSLs built with Groovy can provide a more expressive and readable syntax, enabling domain experts to write code that closely resembles natural language and better aligns with their specific requirements.

What are top Groovy instruments and tools?

  • Gradle: Gradle is a powerful build automation tool that is widely used in the Groovy ecosystem. It was first released in 2007 and has gained significant popularity due to its flexibility and scalability. Gradle allows developers to define and manage their project’s build process using a Groovy-based DSL (Domain-Specific Language). It supports incremental builds, dependency management, and multi-project builds, making it a preferred choice for building and deploying Groovy applications.
  • Spock: Spock is a testing framework for Groovy and Java applications. It combines the power and flexibility of Groovy with the simplicity and expressiveness of a behavior-driven development (BDD) testing framework. Spock provides a highly readable and concise syntax for writing tests, making it easy for developers to write and maintain test code. It supports features like data-driven testing, mocking, and stubbing, making it a popular choice among Groovy developers for writing unit and integration tests.
  • Groovy Grape: Groovy Grape is a dependency management tool for Groovy applications. It allows developers to easily manage the dependencies of their Groovy projects by specifying them in a Grape configuration file. Groovy Grape can resolve dependencies from various sources, including Maven repositories, Ivy repositories, and local files. It simplifies the process of managing dependencies and makes it easier for developers to include external libraries in their Groovy projects.
  • Grails: Grails is a web application framework built on top of Groovy. It follows the convention-over-configuration principle and aims to provide a productive and seamless development experience. Grails leverages the power of Groovy’s dynamic nature and offers a wide range of features, such as scaffolding, ORM integration, and plugin system. It has gained popularity among web developers due to its simplicity and the ability to quickly build robust and scalable web applications.
  • GroovyConsole: GroovyConsole is a graphical tool that allows developers to interactively write and execute Groovy scripts. It provides a convenient environment for experimenting with Groovy code snippets, exploring APIs, and debugging scripts. GroovyConsole offers features like syntax highlighting, code completion, and script execution history, making it a useful tool for learning and developing with Groovy.
  • Griffon: Griffon is a desktop application framework for Groovy. It follows the convention-over-configuration paradigm and provides a structured and productive way to build desktop applications using Groovy and Swing. Griffon supports features like MVC architecture, data binding, and plugin system, making it a popular choice for developing cross-platform desktop applications with Groovy.

Let’s consider Difference between Junior, Middle, Senior, Expert/Team Lead developer roles.

Seniority NameYears of experienceResponsibilities and activitiesAverage salary (USD/year)
Junior0-2 yearsAssisting senior developers in coding and testing, bug fixing, and basic software development tasks. Learning and gaining experience in development processes and technologies.$50,000 – $70,000
Middle2-5 yearsDeveloping software solutions independently, participating in code reviews, and collaborating with team members. Taking ownership of smaller projects or specific modules within larger projects.$70,000 – $90,000
Senior5+ yearsLeading and mentoring junior developers, designing and implementing complex software solutions, and driving technical decision-making. Taking responsibility for end-to-end project delivery and ensuring high-quality code.$90,000 – $120,000
Expert/Team Lead8+ yearsLeading software development teams, defining technical strategies, and overseeing project timelines and deliverables. Providing technical guidance and mentoring to team members. Collaborating with stakeholders and driving innovation in software development processes.$120,000 – $150,000+

Cases when Groovy does not work

  1. Unsupported Platforms: Groovy is primarily designed to run on the Java Virtual Machine (JVM). Hence, it may not work on platforms that do not support JVM, such as embedded systems, microcontrollers, or other non-Java based environments.
  2. Version Compatibility: Groovy versions are tightly coupled with specific JVM versions. If you are using an older or incompatible JVM version, there may be issues when running Groovy code. It is important to ensure that you have the correct JVM version for your Groovy installation.
  3. Compilation Errors: Groovy is a dynamically typed language, which means that it performs type checking at runtime rather than compile time. This can lead to compilation errors that are only discovered during runtime, making it more difficult to catch and fix errors before deploying the code.
  4. Performance Issues: While Groovy offers great flexibility and productivity, it may not be as performant as other statically typed languages like Java. This is because dynamic typing and runtime metaprogramming incur some overhead. If your application requires high-performance execution, Groovy may not be the best choice.
  5. Memory Consumption: Groovy’s dynamic nature and additional runtime features can sometimes result in higher memory consumption compared to statically typed languages. If memory usage is a critical concern for your application, you might need to consider alternative solutions.
  6. Integration Challenges: Groovy integrates well with Java, but it may face challenges when working with other languages or frameworks that do not provide native support for Groovy. This can lead to compatibility issues or additional development effort when trying to integrate Groovy into existing software ecosystems.

Pros & cons of Groovy

9 Pros of Groovy

  • 1. Simplicity: Groovy offers a simplified and concise syntax, making it easier for developers to write and read code.
  • 2. Java Compatibility: Groovy seamlessly integrates with Java, allowing developers to leverage existing Java libraries and frameworks.
  • 3. Dynamic Typing: Groovy supports dynamic typing, enabling developers to write code that is more flexible and adaptable.
  • 4. Scripting Capabilities: Groovy is a powerful scripting language, making it ideal for tasks such as automation and rapid prototyping.
  • 5. Gradle Build Tool: Groovy is the preferred language for writing build scripts in Gradle, a popular build automation tool.
  • 6. Metaprogramming: Groovy provides advanced metaprogramming capabilities, allowing developers to modify and extend code at runtime.
  • 7. Testing Frameworks: Groovy has excellent support for testing frameworks like Spock, making it a great choice for writing test cases.
  • 8. Functional Programming Features: Groovy supports functional programming concepts like closures and higher-order functions, enhancing code expressiveness.
  • 9. Community and Support: Groovy has a vibrant and active community, with numerous resources, forums, and libraries available for developers.

9 Cons of Groovy

  • 1. Performance: Compared to Java, Groovy can be slower in certain scenarios due to its dynamic nature and additional features.
  • 2. Compilation Time: Groovy has a longer compilation time compared to Java, which can impact development speed in larger projects.
  • 3. Learning Curve: While Groovy shares similarities with Java, there is still a learning curve for developers transitioning from other languages.
  • 4. Tooling Support: Although Groovy has good IDE support, it may not have the same level of tooling and ecosystem as Java.
  • 5. Static Typing Limitations: While Groovy supports static typing, it may not offer the same level of type safety as strictly typed languages.
  • 6. Limited Job Market: The demand for Groovy developers may be more limited compared to popular languages like Java or Python.
  • 7. Documentation: While Groovy has decent documentation, it may not be as extensive or comprehensive as some other languages.
  • 8. Debugging Challenges: Debugging Groovy code can be more challenging compared to Java due to its dynamic nature.
  • 9. Compatibility Issues: Upgrading from older versions of Groovy to newer ones may introduce compatibility issues and require code modifications.

Soft skills of a Groovy Developer

Soft skills are essential for a Groovy Developer to excel in their role and collaborate effectively with others. These skills enable them to not only write efficient and clean code but also contribute positively to the overall success of the team and project.


  • Effective Communication: Ability to convey technical concepts clearly and concisely to team members and stakeholders.
  • Adaptability: Willingness to learn and adapt to new technologies, frameworks, and project requirements.
  • Problem Solving: Aptitude to analyze and solve coding challenges and troubleshoot issues.
  • Teamwork: Collaboration with peers to achieve project goals and contribute to a positive team environment.
  • Time Management: Efficiently managing tasks and meeting deadlines.


  • Leadership: Demonstrating leadership qualities by guiding and mentoring junior team members.
  • Critical Thinking: Ability to analyze complex problems and propose innovative solutions.
  • Decision Making: Making informed decisions based on analysis and project requirements.
  • Conflict Resolution: Effectively resolving conflicts within the team and promoting a harmonious work environment.
  • Attention to Detail: Paying close attention to code quality and ensuring adherence to best practices.
  • Customer Focus: Understanding and prioritizing customer needs to deliver high-quality solutions.
  • Project Management: Coordinating tasks and ensuring project milestones are met.


  • Mentorship: Mentoring and guiding junior and middle-level developers to enhance their skills.
  • Strategic Thinking: Developing long-term strategies to improve software development processes.
  • Collaboration: Working closely with cross-functional teams to align project objectives.
  • Empathy: Understanding and empathizing with team members to foster a positive and inclusive work environment.
  • Influence: Influencing stakeholders and advocating for the adoption of best practices and new technologies.
  • Continuous Learning: Keeping up-to-date with industry trends and advancements in Groovy and related technologies.
  • Risk Management: Identifying and mitigating potential risks that may impact project delivery.
  • Quality Assurance: Ensuring code quality through code reviews and implementing testing strategies.

Expert/Team Lead

  • Strategic Planning: Developing long-term roadmaps and aligning them with organizational goals.
  • Team Management: Leading and managing a team of developers to achieve project success.
  • Architecture Design: Designing scalable and efficient software architectures.
  • Technical Mentorship: Providing guidance and mentorship to developers at all levels.
  • Project Estimation: Accurately estimating project timelines and resource requirements.
  • Stakeholder Management: Effectively managing relationships with stakeholders and clients.
  • Innovation: Driving innovation and exploring new technologies to improve development processes.
  • Business Acumen: Understanding the business objectives and aligning technical solutions accordingly.
  • Strategic Partnerships: Establishing strategic partnerships to leverage expertise and resources.
  • Conflict Management: Resolving conflicts and facilitating productive discussions within the team.
  • Continuous Improvement: Identifying areas for improvement and implementing process enhancements.

TOP 10 Facts about Groovy

  • Groovy is a dynamic programming language for the Java Virtual Machine (JVM) that combines the features of both scripting languages and compiled languages.
  • It was created in 2003 by James Strachan as a dynamic language alternative to Java, providing a simpler syntax and enhanced productivity.
  • Groovy is fully compatible with Java, allowing developers to seamlessly integrate Groovy code with existing Java codebases.
  • One of the key features of Groovy is its support for scripting, which enables developers to write concise and expressive code for tasks such as automation, scripting, and rapid prototyping.
  • Groovy supports both static and dynamic typing, giving developers the flexibility to choose the level of type checking that best suits their needs.
  • With its powerful metaprogramming capabilities, Groovy allows developers to modify or extend existing classes at runtime, making it a popular choice for frameworks and libraries that require runtime customization.
  • Groovy offers a range of built-in features that enhance developer productivity, such as closures, which simplify the writing of anonymous functions, and builders, which provide a convenient DSL-like syntax for creating complex data structures.
  • Developers can leverage the vast ecosystem of Java libraries and frameworks from within Groovy, making it easy to reuse existing Java code and take advantage of the rich Java ecosystem.
  • Groovy has a vibrant and active community, with numerous open-source projects and libraries available, making it easy to find support and resources for any development needs.
  • Many popular software applications and frameworks, such as Gradle, Grails, and Jenkins, are built on top of Groovy, highlighting its versatility and widespread adoption in the industry.

TOP 10 Groovy Related Technologies

  • Groovy

    Groovy is a dynamic programming language that runs on the Java Virtual Machine (JVM). It offers seamless integration with Java, making it an excellent choice for software development. With its concise syntax and powerful features, Groovy allows developers to write clean and maintainable code. It supports scripting, functional programming, and object-oriented programming paradigms, making it a versatile language for various applications.

  • Grails

    Grails is a web application framework built on top of Groovy. It follows the convention-over-configuration principle, allowing developers to focus on writing business logic rather than dealing with boilerplate code. Grails provides a rich set of features for rapid application development, including built-in support for ORM, scaffolding, and testing. It leverages the power of Groovy to deliver highly productive and scalable web applications.

  • Spock

    Spock is a testing framework designed specifically for Groovy and Java applications. It combines the best features of traditional unit testing frameworks with behavior-driven development (BDD) principles. With Spock, developers can write expressive and readable tests using a concise syntax. It supports a wide range of testing scenarios, including unit tests, integration tests, and acceptance tests, making it an indispensable tool for Groovy software development.

  • Gradle

    Gradle is a build automation tool that provides a flexible and efficient way to build, test, and deploy software projects. It offers a Groovy-based DSL (Domain-Specific Language) for defining build scripts, allowing developers to express complex build logic in a concise and readable manner. Gradle’s plugin ecosystem makes it easy to integrate with various frameworks and libraries, making it a popular choice for Groovy software development.

  • Ratpack

    Ratpack is a lightweight and asynchronous web framework for Groovy. It focuses on delivering high-performance and scalable web applications. With its reactive programming model, Ratpack allows developers to handle a large number of concurrent requests efficiently. It provides a simple and intuitive API for building RESTful APIs and web services. Ratpack’s integration with Groovy makes it a compelling choice for building modern and responsive web applications.

  • Geb

    Geb is a browser automation framework built on top of Groovy. It provides a concise and expressive API for interacting with web browsers. With Geb, developers can write automated tests and web scraping scripts in a readable and maintainable way. It leverages the power of Groovy’s dynamic nature to simplify common web automation tasks. Geb’s seamless integration with popular testing frameworks like Spock makes it a valuable tool for testing web applications.

  • Apache Groovy Console

    The Apache Groovy Console is an interactive environment for experimenting and running Groovy scripts. It provides a convenient way to quickly test and prototype code snippets. The console supports syntax highlighting, code completion, and error highlighting, making it easy to write and debug Groovy code. It also allows developers to explore Groovy’s extensive standard library and experiment with different language features.

Join our Telegram channel


Talk to Our Talent Expert

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