The 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 Business Analysts.
- 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 Associate Software Engineers.
- Mentor Associate Software Engineers.
- Minimum Bachelor's degree in Computer Science or related major from top institutions, Master's degree is a plus.
- Deep understanding of Object Oriented design and development
- 2+ years of professional software development experience on multi-tiered enterprise applications.
- Experienced in Programming with: C#
- Experienced in Application Frameworks & Engines: ASP.NET MVC, ASP.NET Web API, Entity Framework etc.
- Experienced in Development tools: Visual Studio, GitHub.
- Experienced in Development Platforms: Microsoft Windows, IIS.
- Familiarity with Databases SQL or NoSQL is a plus
- Familiarity with React or TypeScript is a plus
- Able to work well within the constructs of an Agile development process, including Scrum, Unit Testing, Continuous Build and Integration, etc.
- Willing to learn new technologies; capable of self-directed learning.
- Very good verbal and written communication skills
- 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
Has superb analytical skills and persistence in problem solving.