Senior Software Engineer - Python
Primary Responsibilities
Contribute to the ongoing design, development and maintenance of runtime security agent-based products and proof of concept prototypes
Investigate, perform root cause analysis, and solve complex issues identified in the field
Perform all the tasks required of a software developer within an Agile SDLC
Prioritize code quality with comprehensive and effective code reviews, and targeted unit and integration test coverage
Collaborate with a cross-functional team of developers, product managers and quality engineers, pre-sales engineers and field support engineers
Qualifications
7+ years of software development within the Python ecosystem
Natural curiosity, initiative and creativity in problem solving
Solid grasp of both fundamental and advanced software development concepts in Python, including module handling, concurrency (threading, multiprocessing), asynchronous development and application packaging (pip, setuptools, etc.)
Fluidity developing Python software and working with virtualization and version dependencies
Experience with WSGI (Flask, Django, etc.) and ASGI Web Servers & Frameworks (FastAPI, etc.)
Proficient at profiling, optimizing, and debugging server-side Python code
Experience with nox, tox or other Python testing framework
Experience working with containerized environments (e.g. Docker, Kubernetes)
Knowledge of design patterns and an understanding of software development best practices
Understanding of git best practices
Ability to communicate complex concepts clearly and effectively to both technical and non-technical audiences
B.Tech or Masters (M.Tech/M.E) in Computer science or related degree
Preferred experience
Familiarity with the ctypes module, cffi library or other techniques to achieve interoperability with native applications and libraries
Understanding how software security exploits work and experience building software that mitigates them
Significant experience with at least one other development language (JavaScript, PHP, Java, C/C++, Go, etc.)
Experience with performance testing tools and techniques
Experience with penetration testing tools and techniques
At Thales we provide CAREERS and not only jobs. With Thales employing 80,000 employees in 68 countries our mobility policy enables thousands of employees each year to develop their careers at home and abroad, in their existing areas of expertise or by branching out into new fields. Together we believe that embracing flexibility is a smarter way of working. Great journeys start here, apply now!