Software Developer 2
Oracle
About the Role
As a member of the software engineering division, this role involves applying knowledge of software architecture to tasks associated with developing, debugging, or designing software applications or operating systems according to provided design specifications. You will build enhancements within an existing software architecture and/or suggest improvements to the architecture.
Key Responsibilities
- Design, develop, troubleshoot, and/or test/QA software.
- Apply knowledge of software architecture to perform tasks associated with developing, debugging, or designing software applications or operating systems.
- Build enhancements within an existing software architecture.
- Suggest improvements to the software architecture.
Requirements & Tech Stack
- Object-oriented programming languages: Java, Python
- Linux systems: shell scripting, filesystem concepts and permissions, process management, package management (DNF, RPM)
- Build and release tools: Git, Maven
- Cloud platforms: Oracle Cloud Infrastructure (OCI), Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP)
- Test automation tools and frameworks: JUnit, Playwright
- Continuous integration and continuous delivery (CI/CD)
- Computer science: data structures, algorithms
- Systems programming concepts: service architecture, storage fundamentals, caching and memory management
- Software development: designing, implementing, debugging, code reviewing production services and libraries
Qualifications
- Bachelor’s degree in Computer Science, Engineering, or related technical field.
- Experience applying data structures and algorithms to performance and scalability problems.
- Experience with systems programming concepts including service architecture, storage fundamentals, and caching and memory management.
- Experience with software development including designing, implementing, debugging, and code reviewing production services and libraries.
- Experience developing and operating cloud services in public cloud environments.
- Experience with test automation tools and frameworks, integrating automated tests into CI pipelines, and maintaining test reporting.
- Experience with Linux systems including shell scripting, filesystem concepts and permissions, process management, and package management.
- Experience with build and release tools for continuous integration and continuous delivery.