Senior Software Engineer

Digikala Tehran

Posted 2 months ago

Job Description

Digikala's software engineers develop the next-generation technologies that change how millions of users connect, explore, and interact in e-commerce. We're looking for engineers who bring fresh ideas from all areas, large-scale system design, networking and data storage, security, artificial intelligence, and mobile; the list goes on and is growing every day. We need our engineers to be versatile, display leadership qualities, and be enthusiastic to take on new problems across the full stack as we continue to push technology forward. A software engineer is a skilled and experienced professional responsible for designing, developing, and maintaining software applications and systems. This role involves collaborating with cross-functional teams to deliver high-quality software solutions, taking a leadership role in technical decision-making, and mentoring junior engineers. The Software Engineer plays a crucial role in the development lifecycle, contributing to the architecture, and codebase, and ensuring the scalability and performance of software products.

Responsibilities:

  • Write and test product or system development code.
  • Participate in, or lead design reviews with peers and stakeholders to decide amongst available technologies.
  • Contribute to existing documentation or educational content and adapt content based on product/program updates and user feedback.
  • Triage product or system issues and debug/track/resolve by analyzing the sources of issues and the impact on hardware, network, or service operations and quality.
  • Review code developed by other developers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).
  • Collaborate with cross-functional teams, including QA engineers, product managers, and operations, to ensure successful product development and deployment.

Requirements:

  • Bachelor’s degree or equivalent practical experience.
  • 5 years of experience with software development in one or more programming languages, and with data structures, and algorithms.
  • 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
  • Excellent communication and teamwork skills.
  • Knowledge of version control systems, such as Git.
  • Proven expertise in software architecture and design.
  • Experience with PHP, Laravel, Mysql, Redis, Memcached, and Elasticsearch.

To see more jobs that fit your career