Employment Type
Permanent
Closing Date
29 May 2025 11:59pm
Job Title
Senior Software Engineer
Job Summary
As a Senior Software Engineer, you thrive on understanding and translating customer needs into new products and capability. You apply deep technical expertise and experience in software application layer solutions, to develop and deliver scalable design blueprints across the end-to-end software development life cycle. Your continuous learning and improvement mindset, collaboration and influencing skills are critical to success in this role.
Job Description
Telstra is Australia’s leading telecommunications and technology company, with operations in more than 20 countries, including In India where we’re building a new Innovation and Capability Centre (ICC) in Bangalore.
We’re growing, fast, and for you that means many exciting opportunities to develop your career at Telstra. Join us on this exciting journey, and together, we’ll reimagine the future.
About the role
As a Software Engineer, you thrive on working with your team to design, build and deliver innovative software products and solutions that delight our customers. You apply broad knowledge in software application layer solutions and the software development lifecycle, to experiment, solve problems and own solutions that transform epics into new product features and capabilities. Your continuous learning and improvement mindset and collaboration skills are critical to success in this role, as you continue to deepen your knowledge and expertise in the Software Engineering Domain.
Key accountabilities
As a Software Engineer, you apply broad knowledge and technical knowledge in the Software Engineering domain to deliver the following responsibilities:
- Be most valued contributor in feature team, with a strong ownership of business capability(s)
- Understand business domain thoroughly. Design, develop and deploy business functionality in the microservices architecture.
- Design, develop, and maintain high-quality software applications using Node.js, following best practices and coding standards.
- Write clean, efficient, and maintainable code that adheres to industry standards and guidelines.
- Identify and address performance bottlenecks and optimize application performance to ensure scalability and responsiveness.
- Conduct thorough testing and debugging of applications to ensure the delivery of high-quality software.
- Participate in code reviews to provide constructive feedback and ensure code quality.
- Mentor and guide junior developers, providing technical expertise and sharing best practices.
- Stay up-to-date with industry trends, emerging technologies, and best practices in Node.js development.
- Collaborate with DevOps teams to deploy and maintain applications in production environments.
- Continuously improve development processes and tools to enhance productivity and efficiency.
- Be an active participant of team as DevOps with full accountability of CI/CD, test automation, support, and monitoring functions within a team.
- Proactively identifies problems in our product or platform. Improves areas of the code they work on. Leaves things better than they found them.
- Understand the points of integration between the different systems and highlight the potential risks associated with the delivery of solutions.
- Support your team to develop innovative software that maintains data/network security management, leveraging set processes to reduce the time between commission and production.
- Apply a continuous learning and development mindset to your work, using tried and tested methodologies but also finding opportunities to experiment to incrementally improve or resolve challenges.
- Take ownership of your own actions and seek guidance from more experienced engineers to support your development and contribute to the delivery of team/mission outcomes.
Desired skills-
- Java: Strong proficiency in Java8+ programming language, including knowledge of object-oriented programming, collections, generics, and concurrency.
- Spring Framework: In-depth understanding of the Spring Framework, including Spring Boot, Spring Core, Spring MVC, Spring Data, and Spring Security. Knowledge of dependency injection, inversion of control (IoC), and aspect-oriented programming (AOP) is important.
- Spring Boot: Expertise in Spring Boot, which simplifies the development of Java applications by providing an opinionated approach to configuration and setup. Understanding how to create and configure Spring Boot projects, use auto-configuration, and build RESTful APIs is crucial.
- RESTful APIs: Proficiency in designing and implementing RESTful APIs using Spring Boot, including mapping requests to controllers, handling request parameters and payloads, and managing HTTP methods (GET, POST, PUT, DELETE).
- Database technologies: Experience working with relational databases (e.g., PostgreSQL) and familiarity with SQL for data modeling, querying, and performing database operations. Understanding of Spring Data JPA for database access and ORM (Object-Relational Mapping) is valuable.
- Spring Security: Knowledge of Spring Security for implementing authentication, authorization, and securing APIs and web applications. Familiarity with OAuth 2.0 and JWT (JSON Web Tokens) for secure authentication and authorization is beneficial.
- Testing: Proficiency in writing unit tests and integration tests using frameworks like JUnit and Mockito. Understanding of testing techniques such as mocking, stubbing, and test-driven development (TDD).
- Build tools and dependency management: Experience with build tools like Maven or Gradle for managing dependencies and building Spring Boot projects. Understanding how to configure build scripts and handle project dependencies efficiently.
- Containerization and deployment: Knowledge of containerization technologies like Docker and familiarity with cloud platforms like AWS or Azure for deploying Spring Boot applications in the cloud.
- Application security: Understanding of common security vulnerabilities and the ability to implement security measures like input validation, secure authentication, and protection against common attacks (e.g., XSS, CSRF).
- RESTful API documentation: Familiarity with tools like Swagger or OpenAPI for documenting RESTful APIs and generating API documentation.
- Version control: Experience with version control systems like Git and understanding of collaborative development workflows, such as Git branching and pull requests.
- Problem solving and debugging: Strong problem-solving and debugging skills to identify and fix issues in Spring Boot applications, as well as the ability to analyze logs and diagnose performance problems.
- Agile methodologies: Experience working in Agile development environments, following practices like Scrum or Kanban, and collaborating effectively in cross-functional teams.
- Excellent Communication Skills.
Why join us?
We’re growing, fast, and for you that means many exciting opportunities to develop your
career with us at Telstra.
Interested? Apply now!
If you're excited about the opportunity to be part of a team, committed to delivering amazing experiences for our customers – your next step is to apply!
Telstra is an equal opportunity employer and we value diversity. We’re also committed to flexibility – giving you more choice in how you manage your work and life commitments. To learn more, visit tel.st/allrolesflex