Job Description
Job Requirements
- Role and ResponsibilityCandidate shall be working as Engineer in the Linux client applications development. This is an agile methodology-based program where the candidate shall be participating in designing, implementation and peer code reviews.
- Candidate shall be working with Quest Global and Quest Globals customer teams in a collaborative development model.
- Apply subject matter knowledge to solve a variety of common business issues. Works on problems of moderately complex scope. Acts as an informed team member providing analysis of information and limited project direction input.
- Exercises independent judgment within defined practices and procedures to determine appropriate action. Follows established guidelines and interprets policies. Evaluates unique circumstances and makes recommendations.
- Designs limited enhancements, updates, and programming changes for portions and subsystems of end-user applications software running on local, networked, and Internet-based platforms.
- Analyses design and determines coding, programming, and integration activities required based on specific objectives and established project guidelines.
- Executes and writes portions of testing plans, protocols, and documentation for assigned portion of application identifies and debugs issues with code and suggests changes or improvements.
Must Have Skill Technical Skills:
- Strong coding skills for application level programming which would involve programming in C++ and Windows
- System-level programming which would involve interacting directly with the operating system and low-level components like file systems, device drivers, and kernel subsystems using system APIs and other mechanisms like reading virtual file system.
- Core Concepts: In-depth knowledge of Linux virtual file system like sysfs, devfs, procfs and daemons.
- Shell and Commands:
- Proficient in bash, cli, and general shell scripting.
- Familiarity with essential Linux commands: grep, chmod, rm, cp, mv, less, sudo, ps, service, etc.
- C++ Expertise: Proficient in C++14 to C++17 and development on C++
- Multithreading:
- Demonstrated expertise in various ways of declaring threads
- Understanding of thread synchronization mechanisms.
- Object-Oriented Concepts:
- Strong understanding of inheritance, has-a, and is-a relationships using classes.
- Knowledge of association, aggregation, and composition achieved through inheritance.
- Design Patterns and Interface: Familiarity with design patterns and interface concepts.
- Inter-Process Communication (IPC): Knowledge of IPC, shared memory, and socket programming.
- Data Structures: Solid understanding of data structures.
- Proficient in using Git for version control, with hands-on experience in tools like Gerrit and GitHub, and good understanding of git commands.
- Proficient in using library like curl, openssl, programming using REST API
Job Classification
Industry: IT Services & Consulting
Functional Area / Department: Engineering - Software & QA
Role Category: Quality Assurance and Testing
Role: Blockchain Quality Assurance Engineer
Employement Type: Full time
Contact Details:
Company: Quest Global
Location(s): Pune
Keyskills:
design analysis
c++
curl
device drivers
inheritance
networking
file system
gerrit
coding
general
scripting
git
library
linux
shell scripting
data structures
protocols
programming
servicing
cli
rest
github
interfaces
c
version control
engineering
microsoft windows
bash
agile