Multithreading and Synchronization experience is a plus
Develop and lead .NET applications in a hybrid team environment
Collaborate with cross-functional teams to implement new features
Mentor junior developers and provide technical guidance
Ensure high-availability and performance of applications
Participate in project planning and architectural design discussions
Identify bottlenecks and optimize application performance
Write and maintain unit and integration tests to ensure code quality
Maintain documentation of application features and architecture
Requirements
BS in Computer Science or related technical field.
7+ years of development using a Microsoft technology stack, including .NET and C#.
Strong experience with object-oriented programming concepts, including algorithms and data structures.
Strong experience writing unit and integration tests.
Experience working with SQL or NoSQL databases.
Experience with scripting languages and efficient storage and retrieval techniques including stressful service management and storage.
Strong written and verbal communications, teamwork, and problem-solving skills.
Self-motivated with a passion for resolving technical problems quickly and in line with platform strategy and vision.
Familiarity with distributed event streaming platforms, such as KAFKA.
Experience in working large volume transactions per second and assuring high-availability and high thruput services.
Experience in Container Orchestration services including Docker and Kubernetes, and a variety of GCP tools and services.
Strong experience on control-m design and development and technical in building best flow/pattern for edge use-cases.
Optimize data pipeline performance and resource utilization, identify bottle necks and opportunities for improvement in data processing and streaming.
Experience with Task Parallel Library (TPL), async/await methods.
Understanding of and ability to apply SOLID principles and design patterns.
Effective time management, must be able to prioritize and multi-task effectively.
Must have a passion for problem-solving, the ability to learn new technologies quickly, and able to interact with all levels of technical and business teams.
Must be a team player and able to work collaboratively across organizations and geographic locations.