Senior Software Engineer (java)

Mastercard Mastercard · Fintech · Vancouver, BC +1 · Engineering

Mastercard is seeking a Senior Software Engineer (Java) to join their Cyber & Intelligence Solutions team in Vancouver. This role focuses on implementing solutions for performance, scaling, and security, designing applications and interfaces, refining development processes, and managing server infrastructure. The ideal candidate will have strong Java experience, knowledge of testing frameworks, experience with scalable APIs, and familiarity with Linux and monitoring tools. Experience with cloud environments, infrastructure as code, and databases is a plus.

What you'd actually do

  1. Implement solutions that solve complicated challenges around performance, scaling, and security while instrumenting services to provide high quality insight into emerging issues
  2. Design and develop applications, system to system interfaces and complete software solutions, perform vendor-related activities, and create documentation such as user guides and software development guides
  3. Refine and enhance the development process used within our teams to drive improvements to development efficiency
  4. As a developer, you will manage your own time when accomplishing project goals and are encouraged to grow your skills with continual learning, workshops, conferences, and talks. Leadership is technical, meetings are short.
  5. As an operator, you will manage colonies of servers across multiple environments and regions, deploying updates, migrating databases, and architecting self-healing infinitely scaling services

Skills

Required

  • Demonstrated software development experience in a professional development setting Java experience, or experience with at least one language such as JavaScript, Java, C#, C++, Python, or Scala with some prior experience with Java
  • Knowledge of testing frameworks and source control systems (Git)
  • Experience designing, developing, and implementing scalable and resilient restful API services
  • Experience with building and managing software packages and/or server images
  • Experience in managing servers, networks, and infrastructure with broad knowledge of the following: Linux, networking, servers, virtualization, security, availability, resiliency, redundancy, alerting, and monitoring
  • Familiarity with building scalable distributed data processing and visualization tools
  • Strong problem-solving, algorithm design, and complexity analysis skills
  • Exceptional communication, both written and spoken

Nice to have

  • Experience writing documentation and creating diagrams
  • Experience working with cloud-based server environments
  • Experience with AWS services such as EC2, S3, RDS, Kinesis, SQS, SNS, etc. or other cloud providers
  • Familiarity with infrastructure as code tools, such as CloudFormation or Terraform
  • Familiarity with DevOps tools such as Packer, Vagrant, Vault, and Consul
  • Familiarity with monitoring tools such as Graphite, Influx, Statsd, Kibana and Logstash
  • Familiarity with databases, such as Redis, Cassandra, Elasticsearch, MySQL, or Postgres
  • Bachelor of Computer Science, equivalent degree or equivalent work experience
  • An interest in fraud detection and security

What the JD emphasized

  • artificial intelligence for mission critical decision making
  • rock-solid code