The Senior Software Developer is a deep technical expert in building complex data warehousing and business intelligence applications.
At this level, the incumbent demonstrates a passion and in-depth knowledge of large, complex application development methodologies.
They motivate themselves and the team to refine their skills and adopt best practices for developing pragmatic software solutions for the organization.
Leading the charge, they continue to raise the bar on mastery of business intelligence application development within the team and the organization.
KEY DUTIES & RESPONSIBILITIES
Uses in-depth knowledge of advanced programming techniques, design patterns and hardware / software interfaces to develop business intelligence and data warehouse applications.
Designs, tests and integrates data warehouse and BI modules and resolves programming errors using various debugging tools and techniques.
Provides guidance / mentors on programming practices and techniques to individuals and cross-functional teams.
Provides support, guidance and production assurance for very complex or urgent problems.
Performs work with minimum supervision, and work is assigned in terms of technical objectives.
Prepares technical documentation (e.g., user guides, technical specifications).
Assists in the design of business solutions.
Conducts impact analysis for proposed changes to or problems across the system.
Leads team discussions in the analysis and collaboration to clarify and improve specifications or to identify alternative programming solutions.
Makes recommendations or decisions on architecture, application design, standards and process improvements.
Enforces team and organizational standards and practices (e.g. at walkthroughs and peer code reviews).
Engages in continuous learning by developing and executing on a learning plan.
Takes responsibility for individual and the team's results.
Advocates for quality in all aspects of development efforts based on the team's definition of quality.
Estimates and prioritizes work to maximize value while taking into account risk, effort and dependencies.
Raises impediments, risks, and issues as early as possible and work with the team to mitigate as needed.
KNOWLEDGE & SKILLS
University graduation and minimum 5-10 years of relevant experience
Demonstrates in-depth knowledge of Microsoft BI architecture, established data warehouse development methodologies, multi-dimensional data modelling, OLAP, metadata management, data security, predictive analysis and big data processing.
In-depth experience in Microsoft Power BI, SQL Server, DAX, MDX, 2012 / 2016 SSIS / SSRS / SSAS, .NET 4.5+ framework, C# and TSQL.
Knowledge of Oracle, Microsoft Azure / BI services such as Stream Analytics and Machine Learning a definite asset.
Experience in programming and debugging multi-tier complex web or business intelligence applications as part of a multi-disciplinary
team environment (following an agile framework such as SCRUM preferred), based on Microsoft Team Foundation Server.
Experience in writing unit tests to support production code using a unit test framework.
Experience with database management (i.e. database design, schema creation, concurrency and performance considerations).
Takes ownership and initiative and collaborates well with a team of peers.
Demonstrates a commitment to continuous learning (e.g. user groups, blogs, conferences, community awareness, and next generation tooling).
Able to clearly communicate in both a verbal and written form within a predominantly English working environment.
Has a positive, passionate, idea generating attitude when faced with challenges.
Licenses and / or Professional Accreditation
Certification in Microsoft technologies preferred