Role/Responsibilities :
A Software Engineer fulfils the following responsibilities with little to moderate guidance of more senior team members.
Take ownership of stories and interpret business requirements for these stories with the assistance of project managers.
Design and implement new features in product and improve existing features as required.
Provide feedback on requirements from a technical perspective, and provide estimates for user stories and tasks.
Provide input into technical design, at the story and/or module level.
Comply with coding standards.
Collaborate with quality assurance engineers to fix defects.
Collaborate with build and release engineers to prepare packages and solve environment issues.
Investigate and find the root cause for software problems reported by clients.
Maintain technical documents.
Review code of other team members.
Mentor Associate Software Engineers.
Qualifications :
Minimum Bachelor's degree in Computer Science or related major from top institutions, Master's degree is a plus.
3+ years of professional software development experience on multi-tiered enterprise applications.
Deep understanding of Object-Oriented design and development.
Experience with relational databases.
Willing to learn new technologies; capable of self-directed learning.
Ability to handle multiple assignments concurrently and independently manage time.
Works well in a fast-paced team environment; able to work under pressure to meet tight deadlines.
Very good verbal and written communication skills.
Has superb analytical skills and persistence in problem solving.
Must-Have Technical Skills:
Experienced in Programming Languages: Visual C++ (with MFC), Visual C#, Visual Basic, etc.
Experienced in MS SQL Server, MS Access, etc.
Experienced in Development tools: Visual Studio.
Experienced in Development Platforms: Microsoft Windows.
Nice-to-Have Technical Skills:
Experienced in Others: TFS, Git, etc.
Experienced in Cloud Services: Microsoft Azure, Amazon AWS, Google Cloud Platform.
Able to work well within the constructs of an agile development process, including SCRUM, Unit Testing, Continuous Build and Integration, etc