Software Engineer
Summary:
The main function of a Software Engineer is to design, develop, implement, test, and maintain business and computer applications software or specialized utility programs including mainframe and client/server applications, and major enhancement of existing systems
Job Responsibilities:
• Fine-tune and improve a variety of sophisticated software implementation projects
• Gather and analyze system requirements, document specifications, and develop software solutions to meet client needs and data
• Analyze and review enhancement requests and specifications
• Implement system software and customize to client requirements
• Prepare the detailed software specifications and test plans
• Code new programs to client’s specifications and create test data for testing
• Modify existing programs to new standards and conduct unit testing of developed programs
• Create migration packages for system testing, user testing, and implementation
• Provide quality assurance reviews
• Perform post-implementation validation of software and resolve any bugs found during testing
Qualifications:
• Bachelor's degree in a technical field such as computer science, computer engineering or related field required
• 5-7 years experience required
• A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design
• large systems software design and development experience
• Experience performing in-depth troubleshooting and unit testing with both new and legacy production systems
• experience in programming and experience with problem diagnosis and resolution
Responsibilities:
• Collaborating with product owner, architect, and the team to create secure, reliable, and scalable software solutions
• Full lifecycle application development using standard frameworks and coding standards/patterns
• Efficiently producing well-organized, optimized, and well-documented source code
• Designing and developing code into independent reusable components
• Decomposing requirements (typically user stories) into meaningful tasks with estimations
• Work closely with senior developers and software engineers to gain additional knowledge and expertise.
• Perform code reviews to suggest, encourage, and support coding best practices
• Providing application support to software running production
• Proactively engage in the identification / remediation of software issues related to code or solutions quality, security, and/or pattern/frameworks and software usability or end user related issues
• Perform root cause analysis, do technology evaluations, and develop quick prototypes
• Promote improvements in programming practices such as continuous integration, and continuous delivery
#LI-TL1
#LI-RS1