Senior Software Engineer (16027) - Calgary

Calgary
Technology – Royalties /
Full-time /
Remote
Who You Are:

You have extensive experience with .NET and web services. You are enthusiastic about the pragmatic application of agile engineering practices. You are passionate about engineering durable software that withstands the test of time. You like to collaborate with a team of other skilled engineers to solve complicated problems. You can combine your strong base of existing skills with new technologies. You can lead as well as follow; can speak with confidence and listen with humility. You have the self-discipline and infrastructure to work collaboratively within a distributed team. You have the curiosity and determination to research that which is unknown or unstructured and can pragmatically translate those learnings into usable code. You have some experience with cloud-based paradigms and would like to acquire more.

Job Summary:

Work from a remote location on a distributed team responsible for the royalties platform used by all of Getty Images’ brands. Use .NET and SQL Server technologies to shore up existing royalties processes. Support existing systems and participate in design and implementation of a new service-based distributed royalties system, using a blend of .NET and other technologies, including ECS, Kafka, RabbitMQ, DynamoDB, EMR, and S3. Analyze existing SQL-based systems to infer rules and manage migrations. Agile paradigms (including CI, pairing, swarming, and test-first) will be followed throughout.

Your Next Challenge:

    • Work with team to support existing critical path workflows
    • Migrate and extend web services using .NET Technology, supporting complex business rules and dataflow cases
    • Develop simple Web UIs in .NET for internal administrative systems
    • Implement code that is engineered for the long term, while delivering with a sense of urgency
    • Exercise shared ownership of all code developed by the team, working within the team to troubleshoot and resolve issues
    • Work with team and leaders to develop stories and provide status

What You'll Need:

    • 5+ years of C# experience
    • 2+ years working with web services
    • 2+ years of experience with Git
    • Skilled in SQL Server development with T-SQL
    • Some experience working in an environment that is cloud-based (such as AWS or Azure) or at least container-centric (such as Docker or Kubernetes)
    • Experience in implementing or maintaining sophisticated distributed systems
    • Experience in agile engineering approaches (e.g. test-first, SOLID, etc.)
    • Experience in agile processes (e.g. Scrum or Kanban, pairing, etc.)
    • Ability to analyze and understand complex data structures and data flows
    • A quiet location with reliable high-speed internet connectivity, environment suitable for professional work (desk, chair, external monitor, etc.)

Nice to Have:

    • Experience with Amazon Web Services
    • Experience in domain-driven design (DDD)
    • Experience with messaging services such as RabbitMQ, ActiveMQ, or Kafka
    • Experience with PostgreSQL and/or NoSQL databases like MongoDB or DynamoDB

Mental and Physical Demands:

    • Frequent communication with others to exchange information.
    • Frequent sedentary work that primarily involves sitting/standing; Time of each will vary.
    • Constant operation of computer and frequent usage of other office machinery, including (but not limited to) calculator, copy machine, computer printer, etc.
    • Constant assessment of accuracy and thoroughness of the work assignment.