Job Openings
Principal Software Engineer
About the job Principal Software Engineer
Position: Principal Software Engineer
Organization: O-Trade & Logistics
Job Description:
The Principal Software Engineer will provide technical leadership and strategic direction for the development and maintenance of high-quality, 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, enterprise-grade software architectures using the .NET stack (e.g., ASP.NET 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 decision-making processes.
- Software Development and Implementation:
- Develop and maintain high-quality, scalable, and secure software applications.
- Write clean, efficient, and well-documented code.
- Troubleshoot and resolve complex technical issues.
- Optimize application performance and ensure system stability.
- Implement and maintain automated testing strategies (unit, integration, and end-to-end).
- 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 non-technical audiences.
- Participate in agile development processes, including sprint planning, daily stand-ups, 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:
- Bachelor's 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.NET 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.
- Expert-level knowledge of the .NET framework and related technologies.
- Strong understanding of software design patterns and principles.
- Proficiency in object-oriented programming and design.
- Experience with RESTful APIs and web services.
- Knowledge of front-end 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 problem-solving 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.