As a Senior Application Software Engineer, you will work with Product/Design during the design phase, author a technical approach to building the features, and breakdown, refine, and deliver the work with your team. The ideal candidate will be passionate, self-motivated, able to multitask effectively, and have strong communication skills. Daily tasks include microservices development, testing, CI/CD, participating in scrum activities, and collaboration with Support, Product Management, and other Service Teams. Performs deep debugging across a bounded set of distributed services, driving fixes that protect downstream consumers and upgrade paths.
Technical Qualifications
- BS degree in Computer Science or related fields or equivalent experience
- 5+ years of experience in software development
- Expert in Java programming language
- Experience building interfaces, including JSON REST APIs.
- Experience with test frameworks like Junit, Enzym, Jest
- Knowledge of database technologies (e.g., MongoDB, PostgreSQL, MySQL).
- Experience with distributed source control, including GIT
- Experience with continuous deployment tools like Jenkins
- Familiarity with log analysis tools and debugging tools
- Excellent problem-solving and communication skills
- Proficient is using AI coding tools to accelerate the development
- Experience in frontend development is a plus
Functional Qualifications
Experience with Agile Methodologies, specifically Scrum
- Experience using ticket tracking systems such as JIRA
- Ability to quickly pick up new languages and technologies
- Self-driven, able to work independently on a project
- Strong desire to stay on top of new technologies and services
- Passionate about learning
- Strong communication skills, including cross-team collaboration
- Ability to deliver basic functionality and iterate
Experience working with geographically distributed teams
Experience in the healthcare industry and clinical applications is a plus
Key Responsibilities
Software Development and Coding - Design, Testing, and Optimization
- Designs software solutions and analyzes and helps identify requirements to achieve business and operational goals, independently.
- Adheres to and suggests improvements to all phases of the software development lifecycle.
- Utilizes working knowledge to develop new software features and enhancements following design specifications and develops documents to clarify software design and code.
- Leads code reviews in designated areas to help drive improvements.
- Conducts debugging and troubleshooting to identify and fix moderately complex software issues. Develops fixes for identified issues.
- Implements software testing (e.g., functional and non-functional testing), quality assurance processes, software error logging, monitoring, and observability for effective debugging, ensuring review by manager and/or lead throughout the process.
- Exercises judgment and discretion to conduct performance profiling and optimization of coding.
- Troubleshoots and resolves moderately complex issues related to application programming interface (API) functionality and integration.
- Implements moderately complex API versioning, lifecycle, and interoperability strategies.
Software Architecture - Software System Structural Design
- Designs and develops software, systems, and services aligned to pre-defined system architecture.
- Develops working knowledge of software architecture decisions and best practices.
- Collaborates with team leads to review work to ensure alignment with software architecture.
- Implements moderately complex performance optimization and scalability strategies in software design.
Issue/Defect Collaboration - Software Products Support
- Collaborates within and beyond immediate team to understand customer issues and align solutions.
- May provide technical guidance and support to customers regarding customer-reported issues, independently.
- Coaches, mentors, and guides others to advocate for customers' interests and suggests product enhancements based on feedback.
- Influences team to ensure customer satisfaction through timely resolution of issues and effective communication.
- Implements customer issue and/or defect handling and training processes, independently.
- Investigates and troubleshoots complex product maintenance issues to ensure customer agreement on short- and long-term solutions (e.g., future enhancements).
Practices and Standards Compliance - Security and Compliance
- Collaborates with the team to establish and follow development practices and coding standards.
- Exercises judgment and discretion to ensure code quality and adherence to broad acceptance criteria during development.
- Keeps up to date with industry best practices and applies them to software development processes.
- Implements secure coding practices to prevent security vulnerabilities.
Development Operations - System Maintenance
Performs periodic maintenance and testing operations for systems that require upgrading or patching (e.g., for critical vulnerabilities).
Exercises judgment and discretion to drive improvements, ensure automation, testing, and debugging of systems to ensure service/product availability, health, support, and reliability.
Core Responsibilities
Planning & Execution
Independently manages work, monitoring timelines and deliverables to ensure projects or initiatives stay on track and meet requirements. Proactively prioritizes work and adapts to resource or timeline shifts, suggesting adjustments to maintain project efficiency.
Collaboration & Partnership
Collaborates across teams to align on expectations and achieve shared objectives. Builds and maintains a comprehensive understanding of business, stakeholder, and/or customer needs to build and support effective partnerships. Actively listens to diverse perspectives and asks questions to ensure understanding of others.
Problem Solving
Independently identifies and addresses standard and non-standard issues in accordance with standard practices, escalating more complex issues as appropriate. Analyzes data and/or information from multiple sources to troubleshoot standard and non-standard errors. Contributes to knowledge sharing and best practices.
Continuous Learning
Embraces continuous learning by actively seeking to build knowledge and new skills and/or tools and staying current with industry trends and best practices. Seeks out and leverages feedback and training to improve skills. Contributes to a culture of continuous learning and knowledge sharing with team members.
Continuous Improvement
Develops ideas and recommends updates to increase the efficiency and effectiveness of processes, protocols, and workflows within a team. Seeks input from team members on alternative approaches and methods for improving work.
Job description provided by Oracle.
View the original posting