drjobs Associate Software Engineer العربية

Associate Software Engineer

Employer Active

1 Vacancy
drjobs

Job Alert

You will be updated with latest job alerts via email
Valid email field required
Send jobs
Send me jobs like this
drjobs

Job Alert

You will be updated with latest job alerts via email

Valid email field required
Send jobs
Jobs by Experience drjobs

Not Mentionedyears

Job Location drjobs

Dubai - UAE

Salary drjobs

Not Disclosed

drjobs

Salary Not Disclosed

Nationality

Emirati

Gender

Male

Vacancy

1 Vacancy

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.
  • 1. Software Development

  • Coding and Implementation: Write clean, maintainable code for new features or bug fixes under the guidance of more senior engineers. Typically, this includes using programming languages like Java, Python, JavaScript, C++, or others, depending on the project and technology stack.
  • Collaborating on Design: Contribute to the design of new features or solutions, working with senior engineers to ensure alignment with system architecture and technical specifications.
  • Code Reviews: Participate in code reviews, offering constructive feedback to peers and learning from feedback received on your own code.
  • Bug Fixing: Debug and resolve issues, following best practices for testing and troubleshooting in the development process.
  • 2. Testing and Quality Assurance

  • Unit Testing: Write unit tests to ensure the correctness and functionality of the software, ensuring that individual components or modules work as expected.
  • Automated Testing: Contribute to the creation or maintenance of automated tests that help ensure the reliability and performance of the software.
  • Testing Documentation: Document test cases and test results, reporting any bugs or issues to senior engineers for further analysis.
  • 3. Collaboration and Communication

  • Team Collaboration: Work with other software engineers, product managers, and designers to implement features or fix issues. Regularly attend team meetings to discuss progress, blockers, and upcoming tasks.
  • Cross-functional Communication: Communicate with team members to clarify requirements, resolve issues, and provide updates on work progress.
  • 4. Learning and Skill Development

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

  • Code Documentation: Write and maintain clear documentation for code, including comments and explanations of key logic or components.
  • Technical Documentation: Contribute to or create user guides, release notes, or system documentation as needed to support other teams or users.

Desired candidate profile

1. Programming Languages

  • Core Languages: Proficiency in one or more programming languages, such as Java, Python, C++, JavaScript, or others, depending on the company’s tech stack.
  • Frameworks and Libraries: Familiarity with frameworks and libraries relevant to the role, such as React, Angular, Django, Spring, or Node.js.

2. Software Development Practices

  • Version Control: Experience with version control systems, particularly Git, to manage code changes and collaborate with other developers.
  • Agile Methodologies: Basic understanding of Agile development practices (Scrum, Kanban) and participating in sprint planning, stand-ups, and retrospectives.

3. Problem-Solving

  • Algorithms and Data Structures: Knowledge of common algorithms and data structures, as well as the ability to apply them in real-world scenarios to optimize performance.
  • Debugging and Troubleshooting: Ability to debug code and resolve issues in a logical and methodical way.

4. Software Testing

  • Unit and Integration Testing: Familiarity with testing practices such as writing unit tests, integration tests, and understanding testing frameworks (e.g., JUnit, Mocha, pytest).
  • Test-Driven Development (TDD): Exposure to TDD concepts and practices is often a plus.

5. Database and Storage

  • SQL/NoSQL Databases: Basic knowledge of working with databases (e.g., MySQL, PostgreSQL, MongoDB) and writing queries to interact with them.
  • Data Modeling: Basic understanding of how to design and model data for efficient storage and retrieval.

6. Soft Skills

  • Communication: Strong verbal and written communication skills to articulate technical concepts and collaborate with team members.
  • Teamwork: Ability to work effectively in a team environment, helping and supporting others, and contributing to team success.
  • Time Management: Ability to manage time effectively, prioritize tasks, and meet deadlines with guidance from senior engineers.

Employment Type

Full-time

Company Industry

Accounting

Department / Functional Area

Engineering

About Company

Report This Job
Disclaimer: Drjobs.ae is only a platform that connects job seekers and employers. Applicants are advised to conduct their own independent research into the credentials of the prospective employer.We always make certain that our clients do not endorse any request for money payments, thus we advise against sharing any personal or bank-related information with any third party. If you suspect fraud or malpractice, please contact us via contact us page.