Job Openings
Intermediate Software Engineer (C#)
About the job Intermediate Software Engineer (C#)
Minimum requirements:
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- Extensive experience in software development, including significant hands-on experience in building and delivering web applications.
- Demonstrated experience in leading software development projects or teams.
- Strong understanding of software design principles, architectural patterns, and system scalability.
- Experience in designing and architecting complex, distributed, and highly available systems.
- Familiarity with cloud platforms (AWS, Azure, Google Cloud) and microservices architecture.
- Proficient in implementing and driving software testing strategies, including unit testing, integration testing, and automated testing.
- Experience with continuous integration and deployment (CI/CD) pipelines.
- Strong focus on code quality, performance optimization, and security best practices.
- Excellent communication and interpersonal skills, with the ability to effectively lead and collaborate with cross-functional teams.
- Experience in providing technical mentorship, coaching, and guidance to junior engineers.
- Demonstrated ability to drive technical initiatives and influence technical decision-making.
Responsibilities:
- Software development and implementation: Lead the design, development, and implementation of complex web applications.
- Utilize your expertise in programming languages, frameworks, and libraries to deliver high-quality, scalable, and maintainable solutions that meet business requirements
- Technical design and architecture: Take a leading role in the design and architecture of software systems, ensuring scalability, performance, and reliability.
- Collaborate with cross-functional teams to define technical requirements, establish best practices, and drive technical innovation
- Code review and quality assurance: Conduct comprehensive code reviews to ensure code quality, adherence to coding standards, and best practices.
- Mentor junior engineers, provide constructive feedback, and help drive continuous improvement in code quality and maintainability.
- Technical leadership and collaboration: Provide technical guidance and leadership to a team of engineers.
- Foster a collaborative and inclusive work environment, promoting knowledge sharing, mentorship, and teamwork.
- Collaborate with product managers, designers, and other stakeholders to ensure successful project delivery
- Troubleshooting and problem-solving: Investigate and resolve complex technical issues that arise during the software development lifecycle.
- Utilize advanced problem-solving skills to diagnose and address software defects, performance bottlenecks, and system failures.
- Provide guidance and support to team members in resolving technical challenges.
- Research and innovation: Stay up-to-date with emerging technologies, industry trends, and best practices
- Conduct research and evaluate new tools, frameworks, and methodologies to drive innovation and enhance development processes.
- Identify opportunities for process optimization, automation, and tooling enhancements.