Job Description
Job Information
π Salary :
Attractive
π Employment Type:
Full time
π Job Level :
Mid Level(3-5 years)
π Deadline :
Feb 07, 2025
Role SummaryΒ
We are seeking an experienced and innovative Software Engineer with a strong background in Artificial Intelligence (AI) to join our dynamic team. The ideal candidate will have hands-on experience in designing, developing, and deploying AI-driven solutions, with a deep understanding of machine learning algorithms, data structures, and software engineering best practices. This role offers an exciting opportunity to work on cutting-edge AI technologies that drive business solutions.
As a Senior Software Developer, you will be responsible for requirement analysis, design, implementation, testing, and commissioning of large-scale and secure software products. You will develop software solutions that meet and exceed customer needs, ensuring high-quality results. Additionally, you will be in charge of delivering captivating presentations to customers and stakeholders, providing complete documentation, and incorporating feedback until all customer requirements are fully addressed. Furthermore, you will deliver AI-based software solutions that meet the required standards, quality, timelines, and budget.
Key Responsibilities
-
Write clean, maintainable, and efficient code using modern software engineering best practices with a focus on building high-quality software that are reliable, scalable, and easy to maintain.
-
Develop and maintain web applications using a range of technologies, including Angular, ReactJS, or Blazor for the frontend, and .NET Core, Node.js, or NestJS for the backend.
-
Create responsive and user-friendly interfaces using modern JavaScript (ES6+), TypeScript, and CSS frameworks like Tailwind, FlexLayout, Angular Material, Ant Design, and PrimeNG.
-
Design and implement robust and scalable APIs using .NET Core, Node.js, or NestJS, following best practices for microservices architecture.
-
Design and manage databases using SQL Server, Oracle, MySQL, or PostgreSQL. Write clean, efficient, and optimized queries to ensure data integrity and performance.
-
Implement and maintain security best practices across the application stack, including secure coding, authentication, authorization, and data protection.
-
Write clean, maintainable, and well-documented code following SOLID principles and other software design principles.
-
Actively participate in Agile ceremonies, including daily stand-ups, Sprint planning, Sprint reviews, and retrospectives. Contribute to continuous improvement and adaptive planning within the Scrum framework.
-
Review code written by junior developers, providing constructive feedback and mentoring them in clean coding practices and best practices across various technologies.
-
Contribute to the architectural decisions of the application, including Clean Architecture principles and Microservices design, ensuring scalability, performance, and maintainability.
-
Integrate AI models and algorithms into production systems, ensuring they function effectively and efficiently at scale.
-
Develop comprehensive test cases for both frontend and backend components using appropriate frameworks, ensuring code quality and reliability.
-
Manage and maintain code repositories using Git, including branching strategies, merge requests, and conflict resolution.
-
Collaborate with the team using Azure DevOps for task management, sprint planning, and tracking progress. Ensure tasks are delivered on time according to the project schedule.
-
Identify, diagnose, and resolve complex issues and bugs in both the frontend and backend systems.
-
Optimize application performance by identifying bottlenecks and implementing solutions across the stack.
-
Manage and automate deployment pipelines, including integrating unit tests into the CI/CD process, ensuring smooth delivery of features to production environments.
-
Actively participate in team discussions, share knowledge, and collaborate with cross-functional teams to achieve project goals.
-
Clearly communicate technical concepts, project progress, and challenges to both technical and non-technical stakeholders.
-
Address and resolve conflicts within the team, fostering a positive and collaborative work environment.
-
Organize and lead knowledge-sharing sessions to keep the team informed of new technologies, best practices, and project-related insights, particularly in areas like Clean Architecture, Microservices, and security management.
-
Create and maintain technical documentation, including architecture diagrams, API specs, deployment guides, test plans, and session notes.
-
Stay up-to-date with the latest trends in AI, machine learning, and software engineering, and apply this knowledge to improve development processes and product functionality
-
Collaborate with cross-functional teams to define requirements, develop roadmaps, and ensure smooth project execution.
- Bachelorβs or Masterβs degree in Software Engineering, Computer Science and Engineering, Information Systems, AI, Data Science or a related field
- At least 3 years of professional experience in software engineering with a focus on AI, machine learning, or deep learning areas.
- Strong experience with AI frameworks and libraries such as TensorFlow, PyTorch, Keras, scikit-learn, etc.
- Solid understanding of algorithms and data structures.
- Strong proficiency in programming languages such as Python, Java, C++, or similar
- Familiarity with cloud platforms (AWS, Azure, Google Cloud) and containerization technologies (Docker, Kubernetes) for deploying AI applications.
- Strong understanding of neural networks, deep learning, reinforcement learning, and natural language processing.
- Familiarity with version control systems
- Familiarity with DevOps practices and continuous integration/continuous delivery (CI/CD) pipelines.
- Experience working in Agile development environments.
- Experience with big data technologies such as Hadoop and Spark is a plus.
- Excellent problem-solving and analytical thinking skills
- Ability to work effectively both independently and as part of a team
- Strong communication skills with the ability to explain complex technical concepts to non-technical stakeholders
How To Apply
Please send non-returnable CV and a cover letter mentioning how your experiences matches with the job until 25th of January 2025. Applications should only be sent via ethiojobs.com.Β Only shortlisted candidates will be contacted for an interview or any other technical assessments.