Senior Software Engineer
About The Position
Aqua Security enables enterprises to secure their container-based and cloud-native applications from development to production, accelerating container adoption and bridging the gap between DevOps and IT security.
About The Position
We are building a state-of-the-art security platform for large enterprises in the exciting and innovative new field of software containers. Our systems are deployed on thousands of customer servers around the world. A distributed system to watch over distributed systems!
We are looking for a talented semior Software Engineer to join our server team, in charge of developing Aqua's management console - a multi-component system with many responsibilities, performing various background jobs and large-scale data processing; supplying REST APIs, a web based UI and more.
In this role, you will take part in further development of our management console, writing features across the entire application stack: SQL queries, business logic, background processes, REST APIs and web-based user interfaces.
At Aqua, you will not be writing code for in-house applications. You will be writing code for large technology companies, banks, government agencies and multi-national chains.
Our product is composed of multiple components, mostly installed on-premise in our customer's cloud environments, but also has SaaS components, plugins for various CI/CD systems and many more. Almost everything runs inside containers. It is written in Go - an exciting new language from Google, and heavily depends on free software/open source components. Our web UI is currently written in VueJS. We are primarily a Linux company, but our software also supports Windows and Mac. Our R&D team is comprised of both young and experienced developers who love what they do. We are using cutting-edge technologies in an environment that encourages new ideas and experimentation.
- Track record of delivering various features in large-scale applications or core systems with at least 5 years of experience. If you've written code in big data applications handling multitudes of data or real-time events, you're in.
- Experience writing multi-component systems or micro-services, with architectures requiring efficient inter-application communication. If you know what Kafka is, and think it's the bee's knees, we will think the same of you.
- Experience writing in a high-level language such as Go, C, Rust, Python, Ruby, etc.. If you're already writing Go, or spent a weekend debugging the worse memory leak ever, that's a big plus.
- Experience writing APIs (either RESTful or not) and RPCs. If you've broken backwards compatibility for your customers once, and dealt with the fallout, we want you (to deal with the fallout again).
- Experience with RDBMS systems (e.g. MySQL, PostgreSQL, Oracle, SQLite) and/or NoSQL databases (e.g. MongoDB, Redis, Cassandra, Couchbase). If you've written queries with more than two joins, or have a strong opinion of why an integer is better as a primary key (or maybe a UUID), we'd like to hear from you.
- Experience with container platforms and orchestrators such as Docker, Kubernetes and OpenShift is a plus. If you can name one way in which a container is different than a regular process, you're golden.
- Are you a free software/open source nerd? Do you maintain open source projects? Are you a Hacker News reader? Do you remember the days when you had to compile your own Linux kernel? Do you believe it should be called GNU/Linux? Have you ever been in a fight with an Emacs user? Are you an Emacs user? well do we have the job for you!