Senior Software Engineer

Agrimatic - New Cairo, Cairo

Applicants for
1 open position
Experience Needed:
3 to 5 years
Career Level:
Job Type:
Full Time
Education Level:
Bachelor's Degree at least
Arabic, English
1 open position
About the Job

A Senior Software Engineer should have 3-5 years of experience in coding, testing, and implementing configuration changes and assisting in the design of software applications to meet both functional and technical requirements. The candidate should also have experience in the development of information systems by studying operations; designing, developing, and installing software solutions; supporting and developing technically and professionally other members in your team.

We are looking for a Senior Software Engineer to produce and implement functional software solutions. He/She will work with upper management to define software requirements and take the lead on operational and technical projects.

In this role, the Senior Software Engineer should be able to work independently, and with minimal supervision. Candidates should have excellent organization and problem-solving skills, as well as experience in software development life cycles and agile methodologies.

The Senior Software Engineer’s goal will be to develop high-quality software that is aligned with company needs and business goals.

Job Responsibilities:

  • Producing, testing and debugging code.

  • Leading Software engineers and developers.

  • Develop software solutions by studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle.

  • Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.

  • Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts and clear code.

  • Analyze business requirements, breakdown the projects and manage software lifecycle.

  • Prepare and install solutions by determining and designing system specifications, standards, and programming.

  • Improve operations by conducting systems analysis; recommending changes in policies and procedures.

  • Provide information by collecting, analyzing, and summarizing development and service issues.

  • Support and develop software engineers by providing advice, coaching and educational opportunities, and mentor junior and mid-level engineers.

  • Diagnose and resolve software problems quickly and efficiently.

  • Identify, prioritize and execute tasks in the software development life cycle.

  • Document development phases and monitor systems.

  • Prepare and install solutions by determining and designing system specifications, standards and programming.

  • Support in growing engineering teams by interviewing, recruiting and hiring.

  • Understand business needs and know how to create the tools to manage them.

  • Gathering business requirements and converting it to technical requirements.
Job Requirements


  • BSc/BA in Computer Science or a related degree.

  • Self-taught engineers with enough and relevant experience are welcome to apply.

  • Strong coding skills and willingness to continue coding. This is not a manage/lead only role.

  • Experience in software development and agile methodologies.

  • Knowledge of source control (specifically “git”).

  • Knowledge of ERP systems (specifically “Odoo”).

  • Knowledge of databases is a must (experience with NoSQL is a plus).

  • DevOps activities experience..

  • Strong knowledge of Python.

  • Front end knowledge (JavaScript/HTML/CSS).

  • Other programming languages are a plus.

  • Knowledge of embedded is a plus.

  • Knowledge of C/C++ is a plus.

Necessary abilities:

  • Extensive experience in software development, scripting and project management.
  • Excellent understanding of project estimating, and ability to communicate issues and risks that might impact development timeline, budget or resources.
  • Ability to work on multiple projects simultaneously.
  • Experience designing modules for dynamic responsive web pages
  • Ability to follow development patterns already set by other developers at times, while suggesting improvements as necessary.
  • Experience in all areas of the software development: including designing, coding, testing, debugging, configuring, and documenting software.
About this Company

Agrimatic is so much more than just a “farming” company. We are attempting to paint a picture of what the agriculture industry could look like, by blending agriculture, technology, and architecture to create a wealth of opportunities for the future.

We are... (More)

See all Careers and Jobs at Agrimatic