Responsibilities
* Develop and deliver well-defined, moderately complex features.
* Debug and resolve issues across development, testing, and production environments.
* Write high-quality, scalable, and reusable code following best practices.
* Manage team meetings and RFC processes for proposing changes and improvements.
* Act as the initial on-call responder for team-managed software.
* Collaborate with team members, support new junior engineers, and mentor Software Engineers.
* Participate in hiring, prioritize intra-team initiatives, and contribute to process improvements.
Qualifications
* Expert in basic C# concepts like the usage of extension methods, access modifiers.
* Expert in object-oriented design, usage of polymorphism and inheritance.
* Expert in the usage of C# data structures like lists and queues.
* Expert in performance related topics like the usage of parallelism.
* Proficient in latest .net Framework features and technologies (C#, .NET, .NET Core, BCL).
* Proficient in the efficient usage of multithreading and concepts like async and parallel programming.
* Proficient in memory management related topics.
* Proficient in the usage of reflection where appropriate.
* Proficient in applying the right level of logging.
* Proficient in design patterns like SOLID and Dependency Injection.
* Proficient in software testing processes and tools – unit testing and load/performance testing.
* Proficient in HTTP communication.
* Proficient in basic database concepts like CRUD and ACID.
* Proficient in advanced database concepts like indexes and transaction isolation levels.
* Proficient in service communication via Messaging solutions like TIBCO, Kafka or RabbitMQ.
* Proficient in NoSQL data storage.
* Proficient in troubleshooting performance related incidents with the help of diagnostic tools like OpenTelemetry or Grafana.
#J-18808-Ljbffr