D
demo 2
All Jobs

sde

About the Role

We are seeking a highly skilled Software Development Engineer (SDE) to join our team, responsible for designing, developing, and maintaining large-scale software systems. As an SDE, you will have the opportunity to work on complex projects, collaborating with cross-functional teams to deliver high-quality solutions. Your expertise will play a crucial role in driving innovation and growth within our organization.

Responsibilities

  • Design, develop, and test software applications, ensuring they meet the required standards and specifications, with a focus on scalability, reliability, and performance.
  • Collaborate with product managers to understand product requirements and develop solutions that meet customer needs, providing technical guidance and expertise.
  • Work closely with the quality assurance team to identify and resolve software defects, implementing automated testing and validation procedures.
  • Develop and maintain technical documentation, including design documents, user manuals, and release notes, to ensure knowledge sharing and continuity.
  • Participate in code reviews, providing constructive feedback and suggestions for improvement, to maintain high coding standards and best practices.
  • Troubleshoot and resolve complex technical issues, using debugging tools and techniques to identify root causes and implement fixes.
  • Stay up-to-date with industry trends and emerging technologies, applying this knowledge to improve our software development processes and practices.
  • Mentor junior engineers, sharing knowledge and expertise to help them grow and develop in their roles.
  • Contribute to the development of our software development lifecycle, including agile methodologies and DevOps practices.

Requirements

  • Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field, with a strong foundation in computer science fundamentals.
  • 5+ years of experience in software development, with a focus on languages such as Java, Python, or C++, and expertise in relevant frameworks and libraries.
  • Strong understanding of software design patterns, principles, and methodologies, including object-oriented design, microservices architecture, and test-driven development.
  • Experience with agile development methodologies, such as Scrum or Kanban, and version control systems like Git.
  • Excellent problem-solving skills, with the ability to analyze complex issues and develop creative solutions.
  • Strong communication and collaboration skills, with experience working with cross-functional teams and stakeholders.
  • Familiarity with cloud-based platforms, such as AWS or Azure, and containerization technologies like Docker.
  • Experience with continuous integration and continuous deployment (CI/CD) pipelines, using tools like Jenkins or Travis CI.

Nice to Have

  • Experience with machine learning or artificial intelligence, with knowledge of relevant frameworks and libraries like TensorFlow or PyTorch.
  • Familiarity with cybersecurity principles and practices, including secure coding, authentication, and authorization.
  • Knowledge of DevOps tools and practices, including infrastructure as code (IaC) and monitoring and logging systems.
  • Experience with container orchestration using Kubernetes, and serverless computing using AWS Lambda or Azure Functions.