Qualifications
•
Overall 5+ years of experience in managing databases and high-volume enterprise systems
•
At least 3-5 years of extensive experience managing Cassandra NoSQL databases in Linux operating system
•
Well versed with Relational and NoSQL database concepts
•
Must have experience in Cassandra clusters planning which includes Data sizing estimation and identify hardware requirements based on the estimated data size and transaction volume
•
Must have experience with working in mid to large size production environment across multiple Datacenters
•
Experience in working and coordinating with Business Teams, Application Teams, Datastax Support etc
•
Experience in working with development and other support teams to participate in release and change management processes to implement new features/functions as well apply mandatory patches or upgrades
•
Ability to effectively share technical information, communicate technical issues and solutions to all levels of business
•
Experience with conducting a stress test on a Cassandra clusters and interpret the performance results
•
Deep knowledge of Cassandra DB performance/scaling concepts and tuning best practices
•
Experience with taking a Backup and restore DB data to secure the system in the event of failure
•
Experience with tuning the performance of Java Virtual Machine (JVM), caches, and compaction
•
Knowledge on public clouds and services offerings like GCP, Azure etc
•
Implement proactive monitoring of all databases and provide recommendations
•
Knowledge of NoSQL best practices & NoSQL data modeling
•
Experience with Monitoring Performance using Datastax OpsCenter or other similar monitoring tools
•
Experience in writing Unix/Linux bash scripts
•
Ability to handle multiple projects and identify primary and secondary objectives, prioritize time, and communicate timeline to team members
•
Ability and desire to take product/project ownership
•
Ability to work a flexible schedule based on department and Company needs
•
Highly self-motivated with the desire to embrace new database technologies and must be able to work independently or within a team in a high demand and dynamic environment.
Responsibilities
•
This Lead Software Engineer role in Macy’s Technology is a leader in the design and development of cross-functional, multi-platform application systems
•
Translate business requirements into well-engineered, tested and deployed application systems that are used by the business and support these systems while in production
•
Interface with internal customers to determine the most efficient and cost-effective approach to meet business requirements and design, develop, test, install, and deploy the required software applications
•
Develop solutions utilizing a variety of software technologies, including new code construction, modifications to existing modules, configuration and/or package implementation
•
Perform other duties as assigned
•
Lead the development of the strategy and technical design for large work type 2 and 3 projects, i.e. define timelines and project plans, analyze and estimate feasibility, cost, time, and compatibility with hardware and other programs; ensure that expected application performance levels are achieved
•
Commit to overall deliverables with customers and/or management
•
Recommend vendors for projects, and negotiates terms/conditions with vendors, and support evaluation of new technical direction and approach with recommendations to Macy’s Technology senior management
•
Lead the coding/configuration, testing, implementation and documentation of solution and develop detailed design specifications
•
Perform complex applications programming activities, including code, test, debugging, documentation, maintenance, and modification to complex application programs
•
Monitor and establish operating efficiency of existing application systems and provide (or arrange for) proactive maintenance; lead the resolution of customer inquiries
•
Serve as a coach and mentor to more junior developers to include delegating and managing tasks, as appropriate
•
Serve as a technical expert on existing applications and other inter-related/adjacent systems and applications
•
Design systems/applications with high level of complexity (e.g. many interfaces, multiple packages, platforms)
•
Evaluate the applicability of leading-edge technologies and use this information to significantly influence future business strategies
•
Generate technical and/or business systems knowledge and ideas from external sources and incorporate those ideas into IT work
•
Consistently demonstrate regular, dependable attendance & punctuality