Associate Software Engineer

Canonical
Dubai
AED 50,000 - 200,000
Job description

Roles and Responsibilities

  • Proactively collaborate within and contribute to design, architecture, and feature-selection for solutions across distributed teams
  • Write high-quality, API-first Python code with unit tests
  • Debug issues and produce high-quality fixes
  • Review code produced by other engineers
  • Work from home with global travel 2 to 4 times a year for internal and external events

Who You Are

  • You love technology, working with brilliant people, and solving interesting problems
  • You are a strategic thinker
  • You are curious, flexible, articulate, and accountable
  • You value soft skills and are passionate, enterprising, thoughtful, and self-motivated
  • You have a Bachelor's or equivalent in Computer Science, STEM or similar degree
  • You have proficiency delivering robust code to production, preferably written in Python
  • You have experience and enjoy maintaining and improving large and mature web applications
  • You have experience with databases, ORMs (PostgreSQL a plus), data management, and data modelling
  • You have an interest in, or experience with, integration, infrastructure, and operations
  • You believe that robust security requires conscious efforts at every stage of delivery
  • You have familiarity with Ubuntu as a development and deployment platform
  • You have a solid understanding of the structure of various software packaging systems, including Debian/Ubuntu packages

Software Development

  • Coding and Implementation: Write clean, maintainable code for new features or bug fixes under the guidance of more senior engineers, using programming languages like Java, Python, JavaScript, C++, or others
  • Collaborating on Design: Contribute to the design of new features or solutions, ensuring alignment with system architecture and technical specifications
  • Code Reviews: Participate in code reviews, offering constructive feedback to peers and learning from feedback received
  • Bug Fixing: Debug and resolve issues, following best practices for testing and troubleshooting

Testing and Quality Assurance

  • Unit Testing: Write unit tests to ensure the correctness and functionality of the software
  • Automated Testing: Contribute to the creation or maintenance of automated tests
  • Testing Documentation: Document test cases and test results, reporting any bugs or issues to senior engineers

Collaboration and Communication

  • Team Collaboration: Work with other software engineers, product managers, and designers to implement features or fix issues
  • Cross-functional Communication: Communicate with team members to clarify requirements, resolve issues, and provide updates on work progress

Learning and Skill Development

  • Continuous Learning: Participate in training, mentorship, and learning opportunities to improve technical skills
  • Following Best Practices: Learn and apply industry best practices in coding, testing, version control, and other aspects of software engineering

Documentation

  • Code Documentation: Write and maintain clear documentation for code
  • Technical Documentation: Contribute to or create user guides, release notes, or system documentation as needed

Desired Candidate Profile

  • Programming Languages: Proficiency in one or more programming languages, such as Java, Python, C++, JavaScript
  • Frameworks and Libraries: Familiarity with frameworks and libraries relevant to the role, such as React, Angular, Django, Spring, or Node.js
  • Software Development Practices: Experience with version control systems, particularly Git, and basic understanding of Agile development practices
  • Problem-Solving: Knowledge of common algorithms and data structures, and the ability to apply them in real-world scenarios
  • Software Testing: Familiarity with testing practices such as writing unit tests and understanding testing frameworks
  • Database and Storage: Basic knowledge of working with databases (e.g., MySQL, PostgreSQL, MongoDB)
  • Soft Skills: Strong verbal and written communication skills, ability to work effectively in a team environment, and manage time effectively
Get a free, confidential resume review.
Select file or drag and drop it
Avatar
Free online coaching
Improve your chances of getting that interview invitation!
Be the first to explore new Associate Software Engineer jobs in Dubai