What do we do?
We are AttackIQ and we are engineering a disruptive security product called FireDrill that delivers continuous validation of your enterprise security program so you can find the gaps, strengthen your security posture and exercise your incident response capabilities.
We work with top companies around the world which surely use their products or services on a daily basis. We give an answer to their needs by helping them validate their security-related assumptions.
How do we do it?
At the core of our values at AttackIQ is the ability to challenge ideas and engage in thoughtful discourse. We've created an environment where every employee is well respected and where anyone can be respectfully challenged regardless of their position.
Our work environment is joyful while holding ourselves to high standards. We like to be surrounded by amazing peers from whom we can learn from. We like to joke, we like to learn, we take ownership and we take pride in our work. We also like to play ping pong!
Who are you?
You are a passionate person. You are not only a dedicated individual contributor but also a team player. You demonstrate a genuine interest in understanding why you are working on something and you are able to respectfully challenge any decision in pursuit of a solution to engineering and customer problems.
You don’t feel comfortable working as if in a supply chain and you are eager to get involved in anything that could tangentially impact your work.
You are used to getting things done and you are confident about your skills but still humble and able to accept criticism and follow guidelines.
As a software engineer at AttackIQ you will develop state of the art cyber attacks in order to validate security controls and processes.
You will have to follow best engineering practices to write software that is extensible, easy to package and deploy, as well as, maintainable and well tested.
You will have to design and implement all the infrastructure the scenarios rely on, which means you have to be familiar with infrastructure as code concepts, containerization, and its orchestration.
Proficient English communication skills.
Understands and can employ Object Oriented Design Principles (SOLID)
Deep knowledge of py2 / py3 and ecosystem (lambda functions, decorators, unicode issues, threading, multiprocessing, queues, most used Python libraries, etc)
Deep knowledge of packaging and distributing Python libraries (JFrog Artifactory, pip, setup.py, wheels)
Understand TDD; Ability to implement automated tests and code coverage
Understand software development patterns
Knowledge about Windows OS and how to troubleshoot software running there (Windows Event Log, Registry, Procmon, Process Explorer, etc)
Experience with development tools like Git (Git workflows such as Gitflow or GitHub flow) and Unix systems
Experience configuring server technology (uWSGI, nginx, supervisord)
Experience with databases, message brokers and caching (e.g postgresql, celery, redis)
Experience with Django Rest Framework
Experience with Terraform and Ansible
Experience with Docker, Docker-Compose, and Kubernetes
Experience developing in C or C++