The team member in this role is a self-motivated Senior Software Engineer with a passion for building great cloud solutions and services. You are a developer who thrives working in an agile environment and is driven by challenge and solving complex problems.
n this role, you will be an instrumental member of the Technology team, working with our flagship products and building integration frameworks bridging legacy and modern core systems. You will constantly challenge and push the boundaries of what can be created and thrive working in fast development cycles.
As a Senior Software Engineer, you are expected to voice and lead technical discussions, not afraid to challenge the status quo. You shall demonstrate our culture of continuous learning by leading code/design
reviews and team discussions.
Responsibilities
- Translate customer business requirements and objectives into technical design and specifications
- Design, develop, test, and support web applications and integration services
- Provide technical expertise in troubleshooting application failures, including analysis of complex problems and recommending appropriate solutions
- Analyze and refactor existing code to optimize for performance and scalability
- Design and develop logical and physical data models that support the data architecture
- Maintain and manage source code repositories
- Document design specifications and technical artifacts
- Participate in building a stronger technology team by conducting code reviews and facilitate knowledge sharing sessions
- Ensure compliance with the documented software processes and procedures throughout the software development life cycle
- Apply best practice principles and software design patterns when designing and developing solutions and services
- Mentor peers and provide technical guidance
- Drive and help establish a culture of continuous learning and improvement within the development team
- Provide timely communication on project deliverables to the appropriate stakeholders
- Able to have a flexible work schedule and at times work outside of your normal business hours to accommodate for project deadlines as established by the company
- Help establish a community of fun at the workplace and be confident to speak up and lead initiatives
- Other duties as required; special projects as assigned
Required Qualifications
- Bachelor’s degree in Computer Science / Diploma in related field or equivalent work experience
- 6+ years design and development experience in any of the following
- C# and Microsoft.NET design
- Microsoft ASP Classic
- Advanced understanding and demonstrated experience with:
- C#, ASP.NET MVC, ASP.NET WebAPI, WCF, XML
- Classic ASP
- Microsoft.NET Framework 4.0+, LINQ, Entity Framework
- ReactJS, JavaScript, jQuery, CSS3, HTML5, Bootstrap, JSON
- MS SQL Server and Transact-SQL
- Experience working in an Agile environment
- Experience with Source Versioning Tools (E.G. VSO, TFS, GIT)
- Understanding of software development lifecycle and best practices
- Understanding of database design and development
- Understanding and experience working with common development design patterns and architectural patterns
- Good understanding of web application design principles and Classic ASP design patterns
- Strong understanding of the ASP Page life cycle
- Demonstrated ability to translate business requirements to technical design and specifications
- Champion and model continuous learning, promoting and sharing current development trends, best practices and methodologies with team
- Ability to engage in executive and senior-level technology discussions
- Excellent English verbal and written communication skills
- Advanced analytical, problem solving and conceptual skills
- Able to take initiative and execute assigned tasks in a timely and flawless manner
- Strong teamwork acumen with a profound ability to work under extreme pressure
- Strong passion for working in a fast paced and result oriented environment
- Exceptional interpersonal skills
- Attention to detail and ability to work productively with limited supervision
- Ability to deal with changing priorities and deadlines