O

Oracle

Builds databases, business apps and cloud services

Principal Application Software Engineer

Backend EngineeringConfirmed live in the last 24 hours
Full-timeNashville, TN, USAIn-person

About the Job

Requirements

  • A Bachelor of Science or Master of Science degree in Computer Science or a relevant technical field involving coding, or equivalent practical experience.
  • At least 6 years of total software development experience, including building scalable solutions and web applications.
  • Ability to write code using Java, Go, C#, or similar object-oriented languages.
  • Ability to deliver products and experience with the full software development lifecycle.
  • Experience working on large-scale, highly distributed services infrastructure.
  • Experience working in an operational environment with mission-critical tier-one live-site servicing.
  • A systematic problem-solving approach, strong communication skills, a sense of ownership, and drive.
  • Experience designing architectures with deep technical depth in one area or spanning many products to enable high availability, scalability, market-leading features, and flexibility for future business demands.

Responsibilities

  • Drive feature development within an application.
  • Provide global production support to cloud-based applications as needed for critical issues, applying working knowledge of at least one specialty area.
  • Troubleshoot and debug routine and non-routine Oracle application services, Oracle Cloud infrastructure, end-user application integrations, or acquisitions.
  • Partner with quality assurance and engineering teams to discuss changes affecting application functionality and ensure quality and consistency across applications.
  • Consider existing software architecture when developing application code.
  • Translate requirements and features into a structured, scalable, maintainable, and performant application code plan.
  • Contribute to establishing dependencies, such as APIs, associated with application functionality.
  • Discuss application requirements with customers, consider scalability and reliability, recommend build priorities within teams, and define build priorities within the team.
  • Reference and share feedback sources, such as online forums and live-site maintenance reports, to refine application requirements.
  • Collaborate with designers, product managers, software engineers, and stakeholders to evaluate and integrate customer specifications and business requirements.
  • Design software solutions and analyze and identify requirements to achieve business and operational goals, sharing results with the manager upon completion.
  • Adhere to and improve execution of all phases of the software development lifecycle, providing guidance and coaching to engineers to drive improvements.
  • Develop and guide new software features and enhancements, lead design specifications, ensure accessibility, and develop documents clarifying software design and code.
  • Lead code reviews across multiple areas to drive improvements.
  • Debug and troubleshoot complex software issues and develop fixes for identified issues.
  • Implement comprehensive software testing, including functional and non-functional testing, quality assurance processes, software error logging, monitoring, and observability for effective debugging, sharing work with the manager or lead upon completion.
  • Conduct performance profiling and code optimization, build scalable solutions, and anticipate and resolve potential outcomes.
  • Troubleshoot and resolve complex API functionality and integration issues; implement complex API versioning, lifecycle, and interoperability strategies.
  • Implement and contribute to developing software, systems, and services, ensuring review by a manager or senior technical leaders upon completion; recommend project or design scope.
  • Provide technical guidance and coaching to less experienced developers in existing software architecture.
  • Contribute to periodic reviews and ensure adherence to architectural standards.
  • Collaborate with stakeholders and external contacts to ensure work aligns with software architecture.
  • Implement complex performance optimization and scalability strategies in software design.
  • Conduct technology research and evaluation for potential architectural changes that may affect team results.
  • Collaborate with stakeholders to understand customer issues and align solutions.
  • Provide advanced technical guidance and support to customers regarding customer-reported issues when needed.
  • Advocate for customer interests and suggest product enhancements based on feedback.
  • Provide input to support customer satisfaction through timely issue resolution and effective communication.
  • Identify and implement customer issue or defect handling and training processes.
  • Investigate and troubleshoot complex and broad-reaching maintenance issues to reach customer agreement on short- and long-term solutions, including future enhancements.
  • Collaborate with the team and external parties to follow development practices and coding standards, providing coaching to less experienced team members.
  • Participate in peer reviews, provide technical leadership, and independently ensure code quality and adherence to broad acceptance criteria.
  • Demonstrate and share advanced knowledge of industry best practices and apply them to software development processes.
  • Implement complex secure coding practices to prevent security vulnerabilities.
  • Perform periodic maintenance and testing for systems requiring upgrades or patches, including patches for critical vulnerabilities, sharing results with the manager upon completion.
  • Drive improvements and ensure automation, testing, and debugging of systems to maintain service and product availability, health, support, and reliability.
  • Manage and coordinate moderately complex tasks; monitor timelines and deliverables for timely completion and adherence to requirements on a moderately sized project or initiative; delegate, monitor, and prioritize work across projects, provide technical oversight, and adjust plans for resource or timeline changes.
  • Collaborate across the organization to align expectations and achieve shared objectives; use knowledge of business leaders, stakeholders, and customers to ensure proposed solutions meet their needs; seek and listen to diverse perspectives to support inclusivity.
  • Identify and address moderately complex issues by analyzing data and information, proactively escalate unresolved or critical issues with an assessment and potential solutions, and review, contribute to, and document problem-solving strategies.
  • Pursue learning opportunities to expand knowledge and skills or tools, stay current with industry trends and best practices, and use ongoing feedback and training to improve skills.
  • Coach and mentor junior team members and foster continuous learning and knowledge sharing within and across teams.
  • Develop ideas, recommend updates, or collaborate on process improvements across teams, evaluate their impact on stakeholders, and solicit feedback on alternative approaches and methods.
  • Participate in candidate interviews, assess candidates, and provide hiring recommendations.

Desired Qualifications

  • Experience as a technical lead on large-scale applications and systems.
  • Hands-on experience developing and maintaining services on a public cloud platform such as OCI, AWS, or Azure.
  • Experience working with Kubernetes.
  • Knowledge of Infrastructure as Code languages, preferably Terraform.
  • Strong knowledge of SQL and NoSQL databases.
  • Strong knowledge of computer networking, including OSI layers, HTTP, DNS, TCP/IP, DHCP, routers, gateways, and subnets.
  • Knowledge of Linux internals and Linux/Unix troubleshooting skills.
  • Familiarity with host virtualization technologies, including KVM, containers, and Docker.
  • Ability to communicate technical ideas verbally and in writing, including technical proposals, design specifications, architecture diagrams, and presentations.
  • Experience with hiring, mentorship, and raising the talent bar across the organization.

About the Company

Oracle

Builds databases, business apps and cloud services

Oracle builds databases, business applications, and cloud infrastructure for companies and public-sector organizations. Oracle Database stores and processes business data, while Oracle Cloud Infrastructure provides computing, storage, and networking for applications and AI workloads. Fusion Cloud Applications support finance, human resources, supply chains, and customer service, helping businesses manage everyday operations and reporting. Customers pay for cloud subscriptions and usage, software licenses, support, hardware, and consulting, with deployment options in Oracle's cloud or their own data centers. Oracle was founded in 1977 and is headquartered in Austin, Texas.

Company size
10,001+
Company stage
IPO
Headquarters
Austin, TX
Founded
1977

Recently Posted Jobs

Explore more opportunities at Oracle

See more jobs