Senior Software Engineer

New Today

Senior Software Engineers will have experience in developing solutions to complex problems and will be expected to provide expertise in development and testing best practices and methodologies. You will work on a collaborative agile development team, and in addition to your strong individual contributions, you will provide advice and assistance to more junior team members, as needed, to help in continually improving the productivity and quality of the team.
Tasks and responsibilities Develop, test, and implement new software programs. Test, maintain and recommend software improvements to ensure strong functionality and optimization. Make good technical decisions that provide solutions to business challenges. Possess up-to-date knowledge of technological developments in the industry. Know best practices and how to implement them. Identify ideas to improve system performance and impact availability. Resolve complex technical design issues. Can take up a full-on ‘development-deployment-launch’ workflow process. Composes tech specifications and terms of reference. Defines initial risks in working on large projects. Is responsible for mentoring junior and middle team members. Do regular code reviews for less experienced colleagues. Can independently solve different problems due to experience. Can distill complex problems through the application of design patterns. Can manage a team of guys doing simple- to mid-level tasks. Attention to detail is essential and all tasks must be carried out to the highest standard. Analyze user requirements and convert requirements to design documents. Compile timely, comprehensive, and accurate documentation and/or reports as requested. Communicate effectively and professionally in all forms of communication with management and technical support colleagues. Work with experienced team members to conduct root cause analysis of issues, review new and existing code and/or perform unit testing. Facilitate root cause analysis of system issues. Possess strong problem-solving and decision-making skills while using good judgment. Multi-task and change from one task to another without loss of efficiency or composure. Work independently when required. Requirements Knowledge and experience Essential Strong knowledge of the following technologies: C#, .NET 4, REACT, nodeJS, MVC 4, Entity Framework, LINQ, nUnit / xUnit, Moq, AJAX, JavaScript, JQuery, HTML 5, CSS3 Hands on experience in authentication and identity protocols: OpenID Connect, SAML 2.0, OAuth 2.0. Experience in DevOps process (e.g., Scrum, Git Flow, CI/CD, deployment, etc.). Strong knowledge in Azure SQL Server development including relational database design, T-SQL queries, stored procedures, functions, and performance optimization. Hands on experience in cloud-based Microsoft development (Azure Web Apps, Azure Functions). Hands on experience in REST API implementation, Creating, maintaining and versioning API’s. Good understanding of software development methodologies, object-oriented programming, database design, and development. Advocate of design patterns such as MVC, Factory Pattern, dependency injection and unit testing. Excellent command of the English language.
Preferred Exposure to Microsoft Azure DevOps. Experience working with Azure API Manager. Experience working with Azure Cosmos DB. Experience working with Azure Search (or Elasticsearch). Experience working with Azure Service Bus (or similar message queues broker). Experience working with Microsoft Azure Application Insights (or similar event logging technologies). Experience working with in-memory objects cache technologies (e.g., Redis, Memcached, etc.).
Qualifications and specialist skills Self-starter, pro-active and able to take the initiative and manage own time. Can do attitude, delivery driven, passionate to learn new technologies. Excellent communication skills, able to build and maintain credibility both internally with users and peers. Apply proven communication, analytical and problem-solving skills to help maximize the benefit of IT system investments. A strong academic background including a degree in a relevant field. Proven development skills with a positive and energetic style able to deliver results in a fast changing, demanding environment. Logical approach to problem solving. Excellent team player able to get on well with others. Creative thinker able to identify new opportunities for adding value to the business, quickly able to translate business requirements into practical application design. High personal standards and integrity.
Competencies Takes the initiative to proactively resolve issues within own remit and recognize when requires escalation. Delivers on personal objectives to deliver to strategic and department plans, focuses on delivery, strives to exceed expectations. Shows drive and determination to achieve high standards.
Behaviors All employees are expected to display behaviors reflective of our company values: Integrity and Ethics, Collaboration and Teamwork, Commitment to People and Professionalism and Excellence.
Location:
Us