Location
Rio de Janeiro, RJ | Brazil
Job description
A U.S.-based company that is on a mission to build a next-gen data-centric security platform is looking for a Software Engineer. The engineer will be responsible for communicating risks and restrictions within the software solution environment with the rest of the team. The company's technology encrypts data and limits access to it in accordance with organizational boundaries or business regulations to make sure that data cannot leave the client without authorization. This will be a full-time, long-term position requiring 4+ hours of overlap with the PST time zone.
Job Responsibilities:
- Read and analyze technical documentation for Windows and other devices to understand how software interacts with these systems' components
- Contribute to the planning of new features and iterate quickly to implement them
- Work on implementing efficient file system drivers and building Windows services that run in user space
- Collaborate with the Product and Development teams to build required business solutions
Job Requirements:
- Bachelor’s/Master’s degree in Engineering, Computer Science (or equivalent experience)
- At least 3+ years of relevant experience as a software engineer
- Prolific experience with Kernel, Driver Integrations, and Window File Systems
- In-depth knowledge of fundamental behaviors on how files get saved and encrypted on machines
- Extensive familiarity with C/C++ is required, with a focus on building secure, thread-safe, and efficient code
- Prior experience developing Windows drivers (mini-filter drivers) and knowledge of the interactions between kernel and user mode is required
- In-depth knowledge about user space windows service development
- Extensive experience developing Windows desktop applications and Windows installer
- Knowledge of unit testing and test-driven development
- Show exceptional problem-solving and debugging abilities to identify the underlying cause of a software flaw
- Experience in delivering quality products and involvement in all phases of the software development process: Idea, Design, Implementation, Delivery, and Support
- Basic understanding of terminologies like TLS, public key cryptography, and symmetric key cryptography
- Solid grasp of the development of client - and server-side web applications (JavaScript and REST)
- Nice to have some knowledge of installers
- Prior knowledge of how permission standards work across networks is desirable
- Excellent English communication skills
Job tags
Salary