Responsibilities : Designing, coding, and debugging software . Maintaining and upgrading existing software . Establish technical standards for developing and testing software . Responsible for designing, developing, and implementing complex software applications and systems . Responsible for managing the software development life cycle, including requirements gathering, design, implementation, testing, and deployment . They are also responsible for ensuring that the software applications are scalable, maintainable, and meet performance and security standards . Requirements : Strong analytical skills . Good communication skills . Experience in software development methodologies . Experience in high-level programming languages, like Java . Strong technical and leadership skills, the ability to manage and motivate a team, and a deep understanding of software development principles and practices are essential for success in this role .