Job Title: Rust Software Engineer – Industrial Development
Employment Type: Full-time (On-site)
Job Location: Dhaka, Bangladesh
Department: Technology
Number of Vacancies: 1
Job Context
MIAKI is an organization with skillful resources that are relentlessly working to make a difference in the spectrum of Tech & Digital Services. As a Multi-Country Service Provider, we specialize in delivering customized software solutions, mobile applications, digital transformation services, and managed services across local and international markets.
We are looking for a skilled Rust Software Engineer to join our technology team and contribute to the development of reliable, high-performance, and production-grade software solutions for industrial applications.
The ideal candidate will have strong hands-on expertise in Rust, solid software engineering fundamentals, and the ability to work with performance-sensitive and technically complex systems. The candidate should be comfortable working collaboratively with engineering, QA, DevOps, and product teams while taking ownership of the quality and reliability of delivered solutions.
Role & Responsibilities
- Design, develop, and maintain production-grade software solutions using Rust.
- Translate technical and business requirements into scalable, reliable, and maintainable software solutions.
- Develop efficient and performance-oriented applications for industrial and production environments.
- Apply sound software architecture, coding standards, and engineering best practices throughout the development lifecycle.
- Analyze, troubleshoot, and resolve complex technical issues across development, testing, and production environments.
- Optimize application performance, memory utilization, reliability, and overall system stability.
- Participate in technical design discussions, code reviews, and architectural decisions.
- Develop and maintain unit and integration tests to ensure software quality and reliability.
- Collaborate closely with Product, QA, DevOps, and other engineering teams to ensure successful delivery.
- Contribute to deployment, release, monitoring, and continuous improvement activities.
- Prepare and maintain technical documentation related to system design, implementation, and operational processes.
- Stay current with developments in Rust, systems programming, software architecture, and modern engineering practices.
Job Requirements
Educational Requirements
- Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or a related discipline.
- Candidates with strong practical experience and relevant technical expertise may also be considered.
Experience Requirements
- Proven professional experience in Rust software development.
- Strong hands-on experience developing and maintaining production-quality software.
- Experience in industrial software, systems programming, embedded systems, automation, or other performance-critical applications will be highly preferred.
Required Technical Skills
Rust & Systems Programming
- Strong proficiency in Rust.
- Strong understanding of:
- Ownership and borrowing
- Lifetimes
- Memory safety
- Error handling
- Concurrency
- Asynchronous programming
- Ability to write efficient, reliable, and maintainable Rust code.
- Understanding of performance optimization and resource management.
Software Engineering & Architecture
- Strong understanding of software engineering principles and design patterns.
- Knowledge of modular, scalable, and maintainable software architecture.
- Strong debugging and root-cause analysis capabilities.
- Understanding of software development lifecycle and engineering best practices.
Development & Collaboration
- Proficiency with Git and version control.
- Experience working with code reviews and collaborative development workflows.
- Ability to work effectively within Agile or other structured software development environments.
Testing & Quality
- Experience developing unit and integration tests.
- Strong focus on code quality, reliability, maintainability, and testability.
- Ability to identify and resolve complex technical issues.
Preferred Skills
- Experience with industrial, embedded, systems, automation, or performance-critical software development.
- Strong Linux development experience.
- Familiarity with low-level programming and system-level concepts.
- Experience with networking, APIs, distributed systems, or communication protocols.
- Experience with CI/CD and automated software delivery.
- Exposure to Docker and containerized environments.
- Familiarity with modern DevOps practices.
- Experience working with hardware/software integration will be an advantage.
- Experience using AI-assisted development tools to improve engineering productivity will be an advantage.
Key Competencies
- Strong analytical and problem-solving skills.
- Excellent debugging and troubleshooting mindset.
- Strong attention to detail and commitment to software quality.
- Ability to understand and work with complex technical systems.
- Strong ownership and accountability.
- Ability to work independently while collaborating effectively with cross-functional teams.
- Adaptability and willingness to learn new technologies.
- Strong communication and technical documentation skills.
Salary: Competitive and negotiable based on experience and market standards.
Compensation & Benefits: As per company policy.
Interview Process
- Introductory discussion with HR.
- Technical interview with the Engineering Team.
- Final interview with the Project Owner.
Application Process
Interested candidates are encouraged to submit their updated CV highlighting their Rust development experience, production-grade software projects, systems programming expertise, and experience with industrial or performance-critical applications.
