Make sure the team follows engineering practices: code review, unit testing, branching etc.
Write code (implement user stories) and unit tests
Propose and review the architecture
Conduct code reviews
Communicate with the clients and stakeholders
Make sure the team can meet its commitments with expected quality
Tasks assignment and distribution
Propose ideas what can be improved and how to be more efficient
Guide team development efforts towards successful project delivery.
Provide technical leadership to teammates through coaching and mentorship.
Maintain high standards of software quality within the team by establishing good practices and habits.
Identify and encourage areas for growth and improvement within the team.
Collaborate with other software developers, business analysts and software architects to plan, design, develop, test, and maintain web- and desktop-based business applications built on Microsoft technologies.
Assist in the collection and documentation of user's requirements, development of user stories, estimates and work plans.
Prepare reports, manuals and other documentation on the status, operation and maintenance of software.
Design, develop, and unit test applications in accordance with established standards.
Participate in peer-reviews of solution designs and related code.
Package and support deployment of releases. Work with teammates in the migration of legacy applications to current Microsoft technologies.
Develop, refine, and tune integrations between applications.
Analyze and resolve technical and application problems.
Adhere to high-quality development principles while delivering solutions on time and on budget. Provide third-level support to business users.
Research and evaluate a variety of software products.
7 to 8 years
7-8 years’ experiences.
Bachelor's degree in Computer Science, Computer Engineering.
Excellent written and verbal English communication skills.
Experience in both architecture and implementation-level software design
Experience in requirements capture, analysis techniques and process improvement approaches
Understanding the full software life cycle.
Excellent knowledge of using C#, ASP.NET, angular 4.
Excellent knowledge of typescript, bootstrap, CSS, HTML 5.
Excellent knowledge of MS SQL Server (2008, 2012 or 2016) and databases concepts.
Strong background in OOP.
Familiarity with Visual Studio 2010, 2013 and 2015.
Excellent knowledge of .Net 3.5/4.0/4.5.
Knowledge of the Web Services and Web APIs.
Experience in the usage of UML
An understanding and exposure to Team Foundation Server and ALM.
Excellent personal organization and ability to prioritize and carry out multiple tasks
Basic understanding of XML.
Java is a plus.
MCTS, MCPD is a plus.
An active desire to learn new skills, ability to ask the right questions.
Ability to work in team.
Ability to understand the existing code base.
Ability to suggest and make changes or improvements.