Software Developer/ Engineer/ Architect

Software Engineer - C# SDK

Job Description

 

Who we're looking for
Our mobile engineering teams power customer engagement in some of your favorite apps, via our SDK integration, used by millions of users. We also deliver the best customer experiences for customer service agents using our apps, as well as the Sell app that helps the salesperson to work on the move.


We are looking for someone to join the Unity SDK team and help us grow our products. You’ll be working in Unity, using C# to build an SDK that’s currently being used by some of the world’s biggest mobile game developers such as Rovio, Sega, Sony, Moonactive and Cartoon Network!

What you’ll be doing

Be part of a team of intelligent, passionate, and humble engineers who own their products and share a vision for what they build.

Work with the engineering, product, and design team to define, architect, develop, launch, and maintain our Unity SDKs.

Collaborate with other team members to ensure high-quality product delivery that brings the best experience to Zendesk Customers.

Build and influence engineering culture by establishing the best engineering practices and standards.

Actively participate in coding, pair programming, reviewing pull requests and testing.

Participate in the development life-cycle including conception, design, implementation, testing and release.

Participate in technical discussions and communicate your ideas or vision to others. You thrive in dealing with sophisticated problems, open to debates and brainstorming.

Proactively contribute to improving our infrastructure, code, and processes.

Required experience:

Applicant should have strong C# object-oriented programming in a commercial environment.

Strong experience interacting with RESTful APIs.

Experience in API design and developing clean, maintainable, and testable code.

Experience delivering UI features.

Strong understanding of SOLID principles.

Experience with Unit Testing.

Proficient with version control tools, ideally Git.

Familiar with various design and architectural patterns.

Excellent communication skills - you can effectively express your point of view to others and just as importantly, actively listen to others ensuring a good discussion.

Ambition and high motivation to understand complex systems, focused on identifying and decomposing requirements.

Interest in working with Unity.

Preferred experience:

Experience with Unity (e.g. games, plugins) is a huge plus.

Experience developing SDKs or libraries.

Experience developing mobile apps for Android/iOS.

Experience working with WebSockets.

Experience with Mocking and Dependency Injection frameworks.