Hallmark Global Solutions Ltd Verified
Information Technology & Services
Software Engineer
Vancouver, British Columbia, CanadaOnsiteContractPosted 1 day ago
Roles and Responsibilities:
- Candidate 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.
- 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
Technical Skills:**
- Strong coding skills for application level programming which would involve programming in C++ and C#
- 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
Nice to Have Skills:
- Profiling of code using various tools.
- Worked on a VM and docker environment.
- Test-driven development experience.
- CICD understanding
- Exposure to cloud (AWS, Azure, Any).
- Debugger – GDB
- Experience in openssl or security libraries
Additional Information
- Team Player
- Good written and verbal communication skill
- Willingness to cross-skill
Similar roles
- Lead Software EngineerElanco · Lake County, Indiana, United States · Onsite
- Software EngineerAMERICAN SYSTEMS · Fredericksburg, Virginia, United States · Onsite
- Software EngineerHaystack · San Diego, California, United States · Hybrid
- SR Software EngineerThe Intersect Group · Georgia, United States · Onsite
- Software EngineerACS Technologies Group, Inc. · United States · Remote