ShortlistFox
← Back to results

Principal Application Software Engineer

Oracle

BENGALURU, KARNATAKA, India

Apply

About the role

As a Principal 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.  This individual will be autonomous and be expected to contribute to a wide range of high-impact projects across the Oracle Cloud Infrastructure console. Daily tasks include microservices and frontend development, testing, CI/CD, participating in scrum activities, and collaboration with Support, Product Management, and other Service Teams.

 

Technical Qualifications:

  •    BS degree in Computer Science or related fields or equivalent experience
  •    8+ years of experience in full stack software development
  •    Has used AI tooling like Claude or Codex to develop, test and debug code
  •    Experience building interfaces, including JSON REST APIs, GraphQL
  •    Experience in web markup, including HTML5, CSS3
  •    Experience in front-end scripting, including Javascript, Typescript, ReactJS, KnockoutJS
  •    Expert in multiple languages, including Java, Node.js, C++, Python
  •    Expert in microservices frameworks such as Spring, Micronaut
  •    Experience with container-based deployment like Docker, Kubernetes
  •    Additional skill in one or more of Kafka, Elasticsearch, Redis
  •    Experience with test frameworks like Postman/Newman, Junit, Enzym, Jest, Karma, Mocha, Chai, Puppeteer
  •    Experience with distributed source control, including GIT
  •    Experience with build tools such as Gradle, Maven, Webpack, Npm, Yarn
  •    Experience with continuous deployment tools like Teamcity, Jenkins
  •    Working experience within a Linux-based environment
  •    Familiarity with log analysis tools and debugging tools

 

Functional Qualifications:

  •    Hands-on experience with a public cloud platform like AWS, Azure, Oracle
  •    Experience developing distributed, fault-tolerant applications
  •    Experience with Agile Methodologies, specifically Scrum
  •    Experience using ticket tracking systems such as JIRA
  •    Ability to translate wireframes into prototypes and production-read interfaces
  •    Ability to quickly pick up new languages and technologies
  •    Self-driven, able to work independently on a project even while the design is evolving
  •    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
Application Software Development:

  • Drives feature development within an application.

  • Provides global production support to cloud-based applications as needed for critical issues by applying a working knowledge of at least one specialty area.

  • Troubleshoots and debugs routine and non-routine Oracle applications services and Oracle Cloud infrastructure, end-user application integrations, or acquisitions.

  • Partners across QA and engineering teams to discuss changes impacting an application's functionality and ensures quality and consistency across specific applications.

  • Considers designs of the existing software architecture when developing code for applications.

  • Translates requirements and features into a structured, scalable, maintainable, and performant code plan for an application.

  • Contributes to establishing the dependencies (e.g., API) associated with the functionality of an application.

  • Discusses application requirements with the customer while considering scalability and reliability, and recommends build priorities within teams and defines build priorities within team.

  • References and shares other sources of feedback (e.g., online forums, live site maintenance reports) to refine application requirements.

  • Collaborates with Designers, Product Managers, Software Engineers, and stakeholders when evaluating and integrating customer specifications and business requirements.

Software Development and Coding - Design, Testing, and Optimization:

  • Designs software solutions and analyzes and identifies requirements to achieve business and operational goals, sharing results with manager upon completion.

  • Adheres to and improves execution of all phases of the software development lifecycle; provides guidance and coaching to engineers to drive improvements.

  • Utilizes advanced knowledge to develop and guide new software features and enhancements leading design specifications, ensuring accessibility, and develops documents to clarify software design and code.

  • Leads code reviews in multiple areas to help drive improvements.

  • Conducts debugging and troubleshooting to identify and fix complex software issues.

  • Develops fixes for identified issues.

  • Implements comprehensive software testing (e.g., functional and non-functional testing), quality assurance processes, software error logging, monitoring, and observability for effective debugging, sharing work with manager and/or lead upon completion.

  • Conducts performance profiling and optimization of coding, building scalable solutions, and anticipating and resolving potential outcomes.

  • Troubleshoots and resolves complex issues related to application programming interface (API) functionality and integration. Implements complex API versioning, lifecycle, and interoperability strategies.

Software Architecture - Software System Structural Design:

  • Implements and contributes to developing software, systems, and services, ensuring review by manager and/or senior technical leaders upon completion. Recommends project or design scope.

  • Provides technical guidance and coaching to less experienced developers in existing software architecture.

  • Contributes to periodic reviews and ensures adherence to architectural standards.

  • Collaborates with stakeholders and networks externally to ensure work aligns with software architecture.

  • Implements complex performance optimization and scalability strategies in software design.

  • Occasionally conducts technology research and evaluation for potential architectural changes that may have an impact on results for the team.

Issue/Defect Collaboration - Software Products Support:

  • Collaborates with stakeholders to understand customer issues and align solutions.

  • May provide advanced technical guidance and support to customers regarding customer-reported issues.

  • Advocates for customers' interests and suggests product enhancements based on feedback.

  • Provides input to ensure customer satisfaction through timely resolution of issues and effective communication.

  • Identifies and implements customer issue and/or defect handling and training processes.

  • Investigates and troubleshoots complex and broad-reaching/scoped 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 and externally to follow development practices and coding standards, providing coaching to less experienced team members.

  • Participates in peer review processes, provides technical leadership, and ensures code quality and adherence to broad acceptance criteria during development, independently.

  • Demonstrates and shares advanced knowledge of industry best practices and applies them to software development processes.

  • Implements complex 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), sharing results with manager upon completion.

  • Drives improvements, ensures automation, testing, and debugging of systems to ensure service/product availability, health, support, and reliability.

 

Core Responsibilities
Planning & Execution:

  • Manages and coordinates moderately complex tasks, monitoring timelines and deliverables to ensure timely completion and adherence to requirements for a moderately sized project or initiative. Efficiently delegates, monitors, and prioritizes work across multiple projects, providing technical oversight and adjusting plans to address shifts in resources or timelines.

Collaboration & Partnership:

  • Collaborates across the organization to align on expectations and achieve shared objectives. Leverages understanding of business leaders, stakeholders, and/or customers to ensure proposed solutions meet their needs. Supports inclusivity by actively seeking and listening to diverse perspectives, ensuring others feel heard and respected.

Problem Solving:

  • Identifies and addresses moderately complex issues by analyzing a wide range of data and/or information to identify solutions in accordance with standard practices. Proactively escalates unresolved or critical issues with a thorough assessment and suggests potential solutions. Reviews, contributes to, and documents problem-solving strategies.

Continuous Learning:

  • Pursues learning opportunities to expand knowledge and skills and/or tools in new areas and stays abreast of the latest industry trends and best practices. Proactively seeks and leverages ongoing feedback and training to improve skills. Coaches and mentors junior team members, fostering continuous learning and knowledge sharing within and across teams.

Continuous Improvement:

  • Develops ideas, recommends updates, and/or collaborates on the implementation of process improvements to increase the efficiency and effectiveness of processes, protocols, and workflows across teams, and evaluates the impact on key stakeholders. Solicits feedback from others on ideas for alternative approaches and methods for continued improvement.

Performance and Development:

  • Contributes to the talent development pipeline by participating in candidate interviews, assessing candidates, and providing hiring recommendations.