The Software Engineer is responsible for designing, developing, maintaining, and enhancing a wide range of complex software systems. These may include high-performance analytics platforms, advanced algorithmic solutions, large-scale data processing systems, real-time applications, and business information systems. Work may be performed independently or collaboratively within a team environment. Key responsibilities include: Reviewing and testing software components to ensure alignment with design specifications, and documenting test outcomes. Troubleshooting and resolving software issues. Applying appropriate software development methodologies based on the project environment. Contributing to system design by evaluating hardware/software trade-offs, promoting software reuse, and leveraging COTS/GOTS solutions where applicable. Conducting requirements analysis from system-level down to individual software components.