Position: Principal Software Engineer
Organization: OTrade & Logistics
Job Description:
The Principal Software Engineer will provide technical leadership and strategic direction for the development and maintenance of highquality scalable and performant software solutions using the .NET framework. This role will drive innovation mentor team members and ensure adherence to best practices contributing to the overall success of the organization.
Key Responsibilities:
- Technical Leadership and Architecture:
- Design and implement complex enterprisegrade software architectures using the .NET stack (e.g. ASP Core Entity Framework C#.
- Provide technical guidance and mentorship to software engineers fostering a culture of excellence and continuous improvement.
- Evaluate and select appropriate technologies frameworks and tools to meet project requirements.
- Conduct code reviews and ensure adherence to coding standards and best practices.
- Define and maintain architectural patterns and design principles.
- Lead technical discussions and decisionmaking processes.
- Software Development and Implementation:
- Develop and maintain highquality scalable and secure software applications.
- Write clean efficient and welldocumented code.
- Troubleshoot and resolve complex technical issues.
- Optimize application performance and ensure system stability.
- Implement and maintain automated testing strategies (unit integration and endtoend).
- Work with databases including design optimization and query tuning.
- Collaboration and Communication:
- Collaborate with product managers designers and other stakeholders to define requirements and deliver solutions.
- Communicate effectively with technical and nontechnical audiences.
- Participate in agile development processes including sprint planning daily standups and retrospectives.
- Document technical designs specifications and procedures.
- Contribute to the creation of roadmaps.
- Continuous Improvement:
- Stay up to date with the latest .NET technologies and industry trends.
- Identify and implement opportunities to improve software development processes and tools.
- Conduct research and development to explore new technologies and approaches.
- Promote and implement DevOps practices.
Qualifications:
- Bachelors or masters degree in Computer Science Software Engineering or a related field.
- 8 years of experience in software development with a strong focus on the .NET stack.
- Proven experience in designing and implementing complex software architectures.
- Extensive experience with C# ASP Core Entity Framework and related technologies.
- Experience with cloud platforms (e.g. Azure AWS) is highly desirable.
- Experience with microservices architecture and containerization (Docker Kubernetes) is a plus.
- Proven experience with relational databases (e.g. SQL Server PostgreSQL) and NoSQL databases.
- Expertlevel knowledge of the .NET framework and related technologies.
- Strong understanding of software design patterns and principles.
- Proficiency in objectoriented programming and design.
- Experience with RESTful APIs and web services.
- Knowledge of frontend technologies (e.g. JavaScript Angular React) is a plus.
- Strong understanding of software testing methodologies and tools.
- Experience with CI/CD pipelines and DevOps practices.
- Strong knowledge of security best practices.
- Excellent problemsolving and analytical skills.
- Strong leadership skills.
- Effective communication and collaboration skills.
- Ability to work independently and as part of a team.
- Strong attention to detail and a commitment to quality.
- Ability to adapt to change.