drjobs Golang Engineer العربية

Golang 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

  • Develop engineering solutions leveraging Golang
  • Collaborate with colleagues on technical designs and code reviews
  • Deploy and operate services developed by the team
  • Depending on your seniority, coach, mentor, and offer career development feedback
  • Develop and evangelize great engineering and organizational practices

What we are looking for in you

  • Exceptional academic track record from both high school and university
  • Undergraduate degree in a technical subject or a compelling narrative about your alternative chosen path
  • Track record of going above-and-beyond expectations to achieve outstanding results
  • Experience with software development in Golang
  • Professional written and spoken English with excellent presentation skills
  • Result-oriented, with a personal drive to meet commitments
  • Ability to travel internationally twice a year, for company events up to two weeks long

Nice-to-have skills

  • Performance engineering and security experience
  • Experience with accounting, sales, sales operations, or other business roles
  • 1. Application Development

  • Backend Development: Design and develop backend applications and microservices using Go. These applications may handle web requests, process data, or interact with databases.
  • API Development: Design and implement robust, scalable, and secure RESTful APIs or gRPC services using Go.
  • Concurrency: Leverage Go's concurrency model (goroutines and channels) to build highly scalable and performant applications that can handle multiple tasks concurrently.
  • Microservices: Build and maintain microservices-based architecture for scalable systems.
  • 2. System Design and Architecture

  • Architecture Design: Participate in designing the overall architecture of applications, ensuring that the system is scalable, modular, and easy to maintain.
  • Performance Optimization: Use Go's features to optimize system performance, such as improving memory usage, load balancing, and response times.
  • Scalability: Design systems that can handle an increasing number of users or requests without significant performance degradation.
  • 3. Testing and Quality Assurance

  • Unit Testing: Write unit and integration tests to ensure code quality and system functionality. Familiarity with Go's testing framework (e.g., testing, Testify) is essential.
  • Test-Driven Development (TDD): Follow TDD practices to write clean, tested code from the outset, improving long-term maintainability.
  • Code Quality: Review code for best practices, performance optimization, and adherence to Go's idioms.
  • 4. Collaboration and Communication

  • Cross-functional Collaboration: Collaborate with product managers, designers, and other engineers to deliver software solutions that meet the project’s objectives and deadlines.
  • Code Reviews: Participate in code reviews to ensure high-quality code is written, mentor junior engineers, and provide constructive feedback.
  • Documentation: Write clear documentation for both developers and end-users, explaining how to use APIs and services, and documenting architectural decisions.
  • 5. Deployment and Maintenance

  • CI/CD Pipelines: Implement and manage Continuous Integration/Continuous Deployment (CI/CD) pipelines for testing and deploying applications.
  • Cloud Platforms: Work with cloud platforms (e.g., AWS, GCP, Azure) for deploying and scaling Go applications.
  • Monitoring and Debugging: Use monitoring tools and debugging techniques to ensure the application performs optimally in production and address any issues or bugs.
  • 6. Research and Innovation

  • Stay Updated: Keep up to date with the latest developments in Go and the software development industry, integrating best practices and new features as they emerge.
  • Optimize Systems: Continuously look for opportunities to optimize the application’s architecture, codebase, and performance.

Desired candidate profile

1. Proficiency in Go

  • Core Go Knowledge: Expertise in the Go programming language, including syntax, data structures, error handling, concurrency (goroutines, channels), and memory management.
  • Go Standard Library: Strong understanding of Go's rich standard library for tasks such as networking, file I/O, cryptography, and HTTP handling.
  • Concurrency Management: Ability to design and implement concurrent and parallel systems using Go’s concurrency model.

2. Backend Development Skills

  • Microservices and APIs: Experience in developing microservices and APIs with Go, including RESTful and gRPC services.
  • Database Integration: Experience working with databases (SQL and NoSQL) and integrating them into Go applications, using libraries like gorm or sqlx for database management.
  • Message Queues and Asynchronous Processing: Familiarity with message queues (e.g., Kafka, RabbitMQ) and processing data asynchronously.

3. DevOps and Cloud Skills

  • CI/CD Practices: Knowledge of setting up and managing CI/CD pipelines to automate testing, integration, and deployment of Go applications.
  • Cloud Platforms: Experience with cloud platforms (AWS, GCP, Azure) to deploy and scale applications, especially in containerized environments.
  • Containerization: Familiarity with Docker and Kubernetes for deploying and managing containerized applications.

4. Testing and Debugging Skills

  • Unit and Integration Testing: Proficiency in writing unit and integration tests, ensuring that code is thoroughly tested and reliable.
  • Profiling and Performance Tuning: Ability to profile Go applications for performance bottlenecks and optimize them.
  • Debugging: Strong debugging skills to identify issues in production systems and resolve them quickly.

5. Version Control and Collaboration Tools

  • Git: Proficiency in using Git for version control and collaboration in a distributed development environment.
  • Code Collaboration: Familiarity with code collaboration tools like GitHub, GitLab, or Bitbucket.

6. Soft Skills

  • Problem-Solving: Strong analytical and problem-solving skills, with the ability to quickly address challenges and bugs in the code.
  • Communication: Strong verbal and written communication skills to collaborate effectively with cross-functional teams and document code and architecture.
  • Collaboration: Team player who can work well in an agile development environment, collaborating with other developers, designers, and product managers.

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.