Log InSign Up

Top 12 Lotus Notes Developer Skills to Put on Your Resume

In today's rapidly evolving tech landscape, standing out as a Lotus Notes developer requires a robust set of skills that highlight your expertise and adaptability. Crafting your resume with a careful selection of top skills not only showcases your proficiency but also positions you as a prime candidate for competitive roles in this niche area.

Top 12 Lotus Notes Developer Skills to Put on Your Resume

Lotus Notes Developer Skills

  1. LotusScript
  2. Formula Language
  3. XPages Development
  4. Domino Designer
  5. JavaScript
  6. LEI (Lotus Enterprise Integrator)
  7. RESTful APIs
  8. Java
  9. HTML/CSS
  10. IBM Notes Client
  11. Workflow Design
  12. SSJS (Server-Side JavaScript)

1. LotusScript

LotusScript is a scripting language similar to Visual Basic, designed for developing applications within the Lotus Notes/Domino environment. It enables developers to manipulate the data and interface of Notes applications programmatically.

Why It's Important

LotusScript is important for a Lotus Notes Developer because it enables the creation and manipulation of custom applications within the Lotus Notes environment, providing a powerful tool for automating tasks, enhancing functionality, and tailoring applications to specific business needs.

How to Improve LotusScript Skills

Improving your LotusScript skills involves understanding the language's nuances, best practices, and utilizing resources effectively. Here are concise steps with inline linking to elevate your proficiency:

  1. Grasp the Basics: Ensure a strong foundation by revisiting the LotusScript Language Guide from IBM.

  2. Follow Best Practices: Adopt coding standards and best practices, such as those found in the IBM DeveloperWorks forums, where you can also ask questions and share knowledge.

  3. Utilize Documentation: Make the IBM Knowledge Center your go-to for official documentation, where you can find detailed explanations and examples.

  4. Experiment and Practice: Apply what you learn through small projects or enhancements to existing applications. Troubleshoot and refine your code, learning from each challenge.

  5. Learn from the Community: Engage with the Lotus Notes and Domino community, including forums and blogs, which can be invaluable for finding solutions and new ideas.

  6. Explore Advanced Topics: Deepen your knowledge with advanced topics like web services, external libraries, and integration techniques. Resources like IBM Redbooks can provide in-depth material on these subjects.

  7. Continuous Learning: Stay updated with the latest developments in Lotus Notes and Domino by regularly checking HCL’s Notes/Domino Blog (Note: IBM Notes & Domino are now under HCL Technologies).

By following these steps and utilizing the provided resources, you can significantly improve your LotusScript skills and enhance your development projects within Lotus Notes.

How to Display LotusScript Skills on Your Resume

How to Display LotusScript Skills on Your Resume

2. Formula Language

Formula Language is a high-level, easy-to-use scripting language used in Lotus Notes for creating and manipulating document data, generating reports, and customizing user interfaces. It enables developers to define the behavior of database documents, automate tasks, and manage application logic within the Lotus Notes environment.

Why It's Important

For a Lotus Notes Developer, Formula Language is crucial because it enables the automation of tasks, the manipulation of document fields and items, and the creation of complex application logic within the Lotus Notes environment, enhancing the application's functionality and user experience.

How to Improve Formula Language Skills

To improve your Formula Language skills as a Lotus Notes Developer, focus on the following concise tips:

  1. Master the Basics: Ensure a strong grasp of syntax, operators, @functions, and data types. IBM's Official Documentation is a great starting point.

  2. Practice: Apply your knowledge by solving real-world problems. Experiment with different formulas in a development environment.

  3. Utilize Templates and Libraries: Explore and learn from the formulas in templates and script libraries within Domino Designer. OpenNTF offers a wealth of resources and custom applications.

  4. Stay Updated: Keep up with the latest developments and best practices in Formula Language and Lotus Notes by following IBM's Notes/Domino Product Documentation.

  5. Join Communities: Participate in forums and communities like Stack Overflow and IBM DeveloperWorks to ask questions, share knowledge, and learn from experienced developers.

  6. Read Blogs and Tutorials: There are numerous blogs and tutorials by seasoned Lotus Notes developers. A Google search can lead you to many of these resources, providing insights and tips that are not found in official documentation.

Remember, consistent practice and learning from a variety of sources are key to mastering Formula Language in Lotus Notes.

How to Display Formula Language Skills on Your Resume

How to Display Formula Language Skills on Your Resume

3. XPages Development

XPages Development refers to a web and mobile application development framework that is built into IBM Lotus Domino, designed for creating feature-rich, interactive applications accessible through web browsers or mobile devices. It allows Lotus Notes developers to use HTML, CSS, JavaScript, and LotusScript to design, develop, and deploy applications within the IBM Domino environment, leveraging existing Notes/Domino skills and infrastructure for modern web application development.

Why It's Important

XPages development is important for a Lotus Notes Developer because it enables the creation of modern, web-based applications that extend the capabilities of IBM Lotus Domino environments, facilitating enhanced user interfaces, improved application functionality, and access across multiple devices, thus ensuring applications remain relevant and accessible in today's web-oriented world.

How to Improve XPages Development Skills

Improving XPages development, especially for a Lotus Notes Developer, involves expanding your skill set, leveraging available resources, and adopting best practices. Here are concise recommendations:

  1. Master JavaScript and CSS: Since XPages heavily relies on these technologies, enhancing your skills in JavaScript and CSS can significantly improve your development capabilities. Mozilla Developer Network (MDN) is an excellent resource for learning.

  2. Utilize IBM Documentation: IBM provides comprehensive guides and documentation for XPages. Make the most of these resources to understand the framework better. IBM Knowledge Center is a good starting point.

  3. Explore OpenNTF: OpenNTF is a treasure trove of projects, custom controls, and snippets specifically for XPages and Lotus Notes. Incorporating these resources can save development time and inspire new solutions. Visit OpenNTF for more.

  4. Engage with the Community: Join forums and social media groups where you can ask questions, share knowledge, and learn from experienced XPages developers. Stack Overflow and the XPages Slack Channel are excellent platforms for community engagement.

  5. Follow Blogs and Tutorials: Many experienced XPages developers share their knowledge through blogs and tutorials. Websites like XPages.TV offer video tutorials that cover various aspects of XPages development.

  6. Implement Version Control: Using tools like Git for version control can enhance your development process, allowing for better collaboration and code management. GitHub and Bitbucket are popular platforms for hosting your repositories.

  7. Adopt Development Tools: Tools like Domino Designer in Eclipse (DDE) can streamline your development workflow. Familiarize yourself with its features and shortcuts to enhance productivity.

By focusing on these areas, you can significantly improve your XPages development skills and contribute more effectively to your projects.

How to Display XPages Development Skills on Your Resume

How to Display XPages Development Skills on Your Resume

4. Domino Designer

Domino Designer is an integrated development environment (IDE) for creating applications for IBM Lotus Notes and Domino platforms, enabling developers to build, test, and deploy collaborative applications, workflows, and web services.

Why It's Important

Domino Designer is crucial for a Lotus Notes Developer as it serves as the integrated development environment (IDE) for creating, modifying, and maintaining Lotus Notes applications, enabling the development of both client-based and web-based applications within the Lotus Notes framework.

How to Improve Domino Designer Skills

Improving your Domino Designer skills as a Lotus Notes Developer involves understanding both the software's capabilities and the best practices for design and development. Here are concise steps to enhance your proficiency:

  1. Understand the Basics: Ensure you have a solid foundation in Domino Designer fundamentals. IBM's official documentation is a great starting point for learning the basics.

  2. Utilize Templates and Samples: Explore and dissect templates and sample applications. IBM provides a variety of templates and samples that can serve as excellent learning tools.

  3. Learn LotusScript and Formula Language: These are key to customizing and extending the capabilities of your applications. IBM offers resources for LotusScript and Formula Language.

  4. Explore XPages: XPages allow you to create modern, web-based applications. Start with IBM's XPages tutorial to familiarize yourself with the basics.

  5. Master Best Practices: Learn from experts in the field. Blogs like IBM's Social Business Toolkit and forums such as Stack Overflow can offer practical advice and solutions to common problems.

  6. Continuous Learning: Technology evolves, and so should your skills. Regularly update your knowledge through IBM training and certifications and stay informed on the latest features and best practices.

By following these steps and actively engaging with the resources provided, you can significantly improve your Domino Designer skills and enhance your capabilities as a Lotus Notes Developer.

How to Display Domino Designer Skills on Your Resume

How to Display Domino Designer Skills on Your Resume

5. JavaScript

JavaScript is a versatile scripting language primarily used for creating and controlling dynamic content on web pages, enhancing user interfaces, and building web applications. For a Lotus Notes Developer, it can be utilized within XPages to add interactivity, validate forms, and manipulate the Document Object Model (DOM) in Lotus Notes/Domino web applications.

Why It's Important

JavaScript is crucial for Lotus Notes Developers because it enables the creation of dynamic and interactive web applications within the Lotus Notes platform, enhancing user experience and interface capabilities.

How to Improve JavaScript Skills

Improving your JavaScript skills as a Lotus Notes Developer involves embracing modern JavaScript practices, understanding the ecosystem, and continuously learning. Here are concise steps and resources:

  1. Learn Modern JavaScript (ES6+): Understand new syntax and features introduced in ES6 and beyond. Mozilla Developer Network (MDN) Web Docs is an excellent resource.

  2. Understand Asynchronous Programming: Master promises and async/await for better handling of asynchronous operations. JavaScript.info provides a clear guide.

  3. Get Comfortable with Frameworks/Libraries: Explore frameworks like React, Vue, or libraries like jQuery, especially if you're building or integrating web interfaces. React and Vue have great official documentation.

  4. Practice, Practice, Practice: Build projects or contribute to open-source. Websites like GitHub offer numerous opportunities to engage with real-world projects.

  5. Follow JavaScript Blogs and Podcasts: Stay updated with the latest in JavaScript by following reputable blogs like JavaScript Weekly and listening to podcasts like Syntax.

  6. Use Developer Tools: Master the developer tools in browsers like Chrome or Firefox to debug and optimize your code. The Chrome DevTools documentation is a good starting point.

  7. Join JavaScript Communities: Engage with other developers through forums like Stack Overflow or Reddit’s JavaScript community.

Remember, transitioning from Lotus Notes development to mastering JavaScript requires patience and continuous learning. Focus on building a strong foundation in modern JavaScript and gradually expand your skills to frameworks and libraries relevant to your projects.

How to Display JavaScript Skills on Your Resume

How to Display JavaScript Skills on Your Resume

6. LEI (Lotus Enterprise Integrator)

LEI (Lotus Enterprise Integrator) is a tool designed for Lotus Notes developers to facilitate the integration and synchronization of data between Lotus Domino databases and external databases or systems, enabling seamless data exchange and enhancing application functionality.

Why It's Important

LEI (Lotus Enterprise Integrator) is crucial for a Lotus Notes Developer as it enables seamless integration of Lotus Notes/Domino applications with external databases and systems, thereby enhancing data accessibility and facilitating efficient data synchronization and workflow automation across diverse platforms.

How to Improve LEI (Lotus Enterprise Integrator) Skills

Improving Lotus Enterprise Integrator (LEI) involves optimizing performance, enhancing security, and ensuring efficient data integration. Here are concise tips for a Lotus Notes Developer:

  1. Optimize Connectivity: Use Connection Pooling to reduce the overhead of establishing connections to databases.
  2. Update and Patch: Regularly update LEI and Lotus Domino to the latest versions for improved performance and security.
  3. Efficient Data Integration: Utilize Direct Transfer for high-volume data operations and Replication for real-time data synchronization.
  4. Scripting for Flexibility: Use LEI scripting to create custom integration solutions that can handle complex logic.
  5. Monitor and Tune Performance: Implement monitoring for LEI activities and tune performance based on the insights gathered.
  6. Security Best Practices: Apply security best practices for LEI, including using SSL for connections and following the principle of least privilege for database access.

For detailed guidance and best practices, refer to the IBM Lotus Enterprise Integrator documentation.

How to Display LEI (Lotus Enterprise Integrator) Skills on Your Resume

How to Display LEI (Lotus Enterprise Integrator) Skills on Your Resume

7. RESTful APIs

RESTful APIs (Representational State Transfer) are standardized interfaces that allow different software applications to communicate over the internet using HTTP methods. For a Lotus Notes developer, think of them as a way to interact with external systems, databases, or services in a stateless, cacheable, and uniform manner, enabling integration with modern web technologies.

Why It's Important

RESTful APIs are important for a Lotus Notes Developer because they enable easy integration with other web services and applications, facilitating data exchange and enhancing the capabilities of Lotus Notes applications with modern web technologies.

How to Improve RESTful APIs Skills

Improving RESTful APIs, especially for a developer with a background in Lotus Notes, involves focusing on key areas such as understanding REST principles, ensuring security, enhancing performance, and maintaining good documentation. Here’s a concise guide:

  1. Understand REST Principles: Grasp the fundamentals of RESTful design to create intuitive and standard-compliant APIs. REST API Tutorial.

  2. Use HTTP Methods Appropriately: Ensure you’re using GET, POST, PUT, DELETE, etc., correctly for CRUD operations. This aligns with REST standards and expectations. HTTP Methods.

  3. Implement Versioning: Safeguard your API from future changes by implementing versioning, making it easier to introduce updates without breaking existing integrations. API Versioning.

  4. Secure Your API: Implement OAuth for secure access, use HTTPS to encrypt data in transit, and validate input to protect against common vulnerabilities. OWASP REST Security.

  5. Optimize Performance: Use techniques like caching, pagination, and data compression to improve the response time and efficiency of your API. API Performance Optimization.

  6. Ensure Error Handling: Implement meaningful HTTP status codes and error messages to help clients debug issues when they occur. Error Handling Practices.

  7. Maintain Documentation: Use tools like Swagger or Postman to create, maintain, and share documentation, making it easier for developers to understand and integrate with your API. Swagger.

  8. Leverage Existing Frameworks: Utilize frameworks that can help scaffold and manage your API projects efficiently. Express.js for Node.js can be a good starting point.

  9. Understand JSON: As JSON is commonly used in RESTful APIs for data interchange, a solid understanding of JSON is crucial. JSON Guide.

  10. Continuous Testing: Incorporate automated testing for your APIs to ensure reliability and detect issues early. Postman Testing.

By focusing on these areas, a Lotus Notes developer can effectively improve their skills in developing and managing RESTful APIs.

How to Display RESTful APIs Skills on Your Resume

How to Display RESTful APIs Skills on Your Resume

8. Java

Java is a versatile, object-oriented programming language used to develop a wide range of applications, including web, mobile, and desktop applications. For a Lotus Notes Developer, Java can be used to extend the functionality of Lotus Notes/Domino environments through custom applications, agents, and integrations with other systems.

Why It's Important

Java is important for a Lotus Notes Developer because it enables the creation of complex, platform-independent applications and agents within IBM Notes and Domino environments, enhancing functionality, integration capabilities, and user experiences.

How to Improve Java Skills

Improving your Java skills, especially as a Lotus Notes Developer, involves a focused approach on understanding core Java concepts, practical application through projects, and continuous learning. Here are concise steps with resources:

  1. Master Core Java Concepts: Understand object-oriented programming principles, data structures, Java APIs, and Java 8+ features. Oracle's Java Tutorials offer comprehensive learning.

  2. Practice Coding: Apply what you've learned by solving problems on platforms like LeetCode or HackerRank. This helps in understanding how to implement theoretical knowledge in practical scenarios.

  3. Work on Real Projects: Apply your skills to real-world projects or contribute to open-source. GitHub is a great place to find projects or share your own. GitHub.

  4. Learn Frameworks Relevant to Lotus Notes: Understanding frameworks that integrate well with Lotus Notes, like XPages, can be beneficial. Explore resources and communities specific to Lotus Notes development for guidance.

  5. Continuous Learning: Java is constantly evolving, so subscribe to Java-focused blogs, forums, and websites to stay updated. Websites like Baeldung and InfoQ offer great articles and updates on Java.

  6. Networking and Community Engagement: Join Java and Lotus Notes developer communities such as Stack Overflow and IBM Community to exchange knowledge, tips, and get support on challenges.

  7. Courses and Certifications: Consider taking advanced Java courses or obtaining certifications to validate your skills and deepen your knowledge. Platforms like Coursera and Udemy offer courses tailored to various levels.

By focusing on these strategies and utilizing the provided resources, you can significantly improve your Java skills in the context of Lotus Notes development.

How to Display Java Skills on Your Resume

How to Display Java Skills on Your Resume

9. HTML/CSS

HTML (HyperText Markup Language) is the standard language used to create and design web pages and applications. It provides the structure of the page.

CSS (Cascading Style Sheets) is a stylesheet language used to describe the presentation of a document written in HTML. It controls the layout, colors, and fonts.

For a Lotus Notes Developer, think of HTML/CSS as tools for designing the front-end of web applications, much like how you might design forms and views in Lotus Notes but for the web environment.

Why It's Important

For a Lotus Notes Developer, understanding HTML/CSS is crucial for designing and customizing user-friendly, web-enabled database applications and interfaces, ensuring they are visually appealing and functionally robust across different web environments.

How to Improve HTML/CSS Skills

Improving your HTML/CSS skills, especially coming from a Lotus Notes development background, involves understanding the core concepts of web design and applying best practices. Here are concise steps and resources:

  1. Learn the Basics: Understand the foundation of HTML and CSS. Mozilla Developer Network (MDN) offers a comprehensive guide.

  2. Responsive Design: Learn how to make your designs work on any device. Start with CSS Tricks' guide on Flexbox and CSS Grid for layout techniques.

  3. CSS Preprocessors: Simplify CSS coding with preprocessors like SASS or LESS. The SASS guide is a good starting point.

  4. Web Performance: Optimize loading times by following best practices in web performance. Google's Web Fundamentals has a section dedicated to this.

  5. Practice: Apply what you learn by building projects. Frontend Mentor provides real-world HTML/CSS challenges.

  6. Stay Updated: Web standards and best practices evolve. Follow CSS-Tricks, Smashing Magazine, and Web.dev for the latest trends and techniques.

  7. Use Developer Tools: Master browser developer tools to debug and fine-tune your web pages. The Chrome DevTools documentation is a great resource.

By following these steps and utilizing the resources provided, you'll be able to significantly improve your HTML/CSS skills, making your transition from Lotus Notes development smoother and more efficient.

How to Display HTML/CSS Skills on Your Resume

How to Display HTML/CSS Skills on Your Resume

10. IBM Notes Client

IBM Notes Client, formerly known as Lotus Notes, is a desktop application that provides access to email, calendars, databases, and applications on IBM Domino servers, facilitating collaboration and development within an enterprise environment. It serves as both a user interface for Lotus Domino applications and a development platform for creating and managing business-critical applications.

Why It's Important

For a Lotus Notes Developer, the IBM Notes Client is crucial as it serves as the primary interface for designing, deploying, and testing applications within the IBM Notes and Domino platform, enabling the development of customized database applications for collaboration and business process management.

How to Improve IBM Notes Client Skills

Improving the IBM Notes Client, especially from a Lotus Notes Developer perspective, involves focusing on customization, performance optimization, and user experience enhancement. Here’s how you can achieve this:

  1. Utilize IBM Domino Designer: Leverage Domino Designer to create and customize applications, forms, and views that enhance user interaction and productivity within the IBM Notes environment.

  2. Optimize View Indexes: Ensure efficient design of views and minimize the number of columns to improve load times and performance. IBM provides guidance on optimizing view performance.

  3. Leverage LotusScript and @Formulas: Use LotusScript and @Formulas effectively for backend processing and to automate tasks, reducing client-side load. Refer to the official documentation for best practices and optimization techniques.

  4. Implement XPages for Modern Web Applications: Utilize XPages for creating modern, web-based applications that can run within the Notes client or a web browser, offering a better user experience and leveraging the latest web technologies.

  5. Use DAOS (Domino Attachment and Object Service): Implement DAOS to reduce disk space usage and improve the performance of email and applications by storing attachments more efficiently.

  6. Apply Best Practices for Application Development: Follow IBM's best practices for application development, focusing on efficient design, security, and scalability to improve the overall performance and maintainability of applications.

  7. Stay Updated and Utilize New Features: Keep the Notes Client and Domino Designer updated to the latest versions to take advantage of new features, security patches, and performance improvements. Stay informed through the IBM Support portal.

By focusing on these key areas, Lotus Notes Developers can significantly improve the performance, usability, and functionality of the IBM Notes Client, enhancing the overall user experience.

How to Display IBM Notes Client Skills on Your Resume

How to Display IBM Notes Client Skills on Your Resume

11. Workflow Design

Workflow design in the context of a Lotus Notes developer involves creating and structuring automated processes within Lotus Notes applications to streamline and manage tasks, document approvals, and data routing efficiently according to business rules and requirements.

Why It's Important

Workflow design is crucial for a Lotus Notes Developer because it ensures efficient, error-free processes by clearly defining the sequence of tasks, decision points, and data flow within applications, enhancing user productivity and system performance.

How to Improve Workflow Design Skills

Improving workflow design, especially for a Lotus Notes Developer, involves a few concise steps focused on enhancing efficiency, usability, and maintenance. Here's a short guide:

  1. Understand User Requirements: Clearly understand the end-users' needs by engaging with them directly. This ensures the workflow is designed to meet actual requirements rather than assumed needs.

  2. Simplify Processes: Aim for simplicity in your workflow design. Break down complex processes into smaller, manageable tasks. This reduces errors and improves user satisfaction.

  3. Use Templates and Libraries: Leverage existing templates and script libraries to speed up development and ensure consistency across different workflows.

  4. Automate Repetitive Tasks: Identify repetitive tasks within the workflow and use LotusScript or @Formulas to automate them, reducing manual errors and saving time. IBM’s Automation Guide can provide insights into best practices for automation within Lotus Notes.

  5. Optimize for Performance: Design your workflows with performance in mind. This includes optimizing LotusScript code, minimizing document lookups, and efficiently indexing views. The IBM Performance Tuning Guide offers detailed advice on this topic.

  6. Regular Testing and Feedback: Implement a cycle of testing and feedback with actual users to identify any issues or areas for improvement. This iterative approach ensures the workflow remains aligned with user needs and expectations.

  7. Documentation and Maintenance: Maintain thorough documentation of the workflow design and any changes made. This simplifies future maintenance and updates. IBM’s Documentation provides a framework for proper documentation practices.

  8. Stay Updated with Latest Features: Keep up with the latest developments and features in Lotus Notes by regularly visiting the IBM Lotus Notes/Domino Support Portal. New features can offer more efficient ways to achieve tasks within your workflows.

By following these steps and utilizing the resources available, you can significantly improve workflow design in Lotus Notes, leading to more efficient, user-friendly, and maintainable applications.

How to Display Workflow Design Skills on Your Resume

How to Display Workflow Design Skills on Your Resume

12. SSJS (Server-Side JavaScript)

SSJS (Server-Side JavaScript) refers to a programming model where JavaScript code is executed on the server side, rather than in the client's web browser. For a Lotus Notes Developer, SSJS is used within the context of developing applications on the Domino platform, allowing for the creation and manipulation of Domino objects, implementing business logic, and interacting with databases directly on the server.

Why It's Important

SSJS (Server-Side JavaScript) is important for a Lotus Notes Developer because it enables the creation and manipulation of dynamic web applications directly within the IBM Domino environment, leveraging familiar JavaScript syntax for server-side logic. This facilitates seamless integration with Domino data and services, enhancing the development of modern, interactive applications.

How to Improve SSJS (Server-Side JavaScript) Skills

Improving your skills in Server-Side JavaScript (SSJS), particularly from the perspective of a Lotus Notes Developer, involves understanding both the JavaScript language and how it integrates with the Lotus Domino/Notes environment. Follow these concise steps:

  1. Master JavaScript Basics: Ensure a solid foundation in JavaScript. Mozilla Developer Network (MDN) is an excellent resource for learning and reference.

  2. Understand SSJS in Domino: Learn how SSJS is implemented within Lotus Domino. IBM's documentation on Using JavaScript in Domino applications provides a good starting point.

  3. Explore XPages: XPages heavily utilizes SSJS for web application development in Lotus Domino. IBM's XPages documentation offers insights into creating advanced web applications.

  4. Practice and Experiment: Build small projects to apply what you've learned. Use Domino Designer for practical application development.

  5. Join Communities: Engage with communities such as Stack Overflow and the XPages Forum for support, tips, and sharing knowledge.

  6. Stay Updated: Technologies evolve, so keep learning. Follow blogs and tutorials focused on SSJS and Lotus Domino development to discover new techniques and best practices.

By focusing on these areas, a Lotus Notes Developer can significantly improve their proficiency in Server-Side JavaScript, enhancing their ability to develop dynamic and efficient applications within the Lotus Domino environment.

How to Display SSJS (Server-Side JavaScript) Skills on Your Resume

How to Display SSJS (Server-Side JavaScript) Skills on Your Resume