One of the things our customers love most about our offering is our UI. It’s built in Angular, and it’s really, really cool. It’s intuitive, and straightforward to operate. We work hard to ensure that it allows our users to be as productive as possible. You can see it in action in various videos we have on our website. In addition to our main UI, we also provide a React UI that caters to DevOps engineers. Our front-end team also helps with the development of OAuth.tools, the JS OAuth Assistant, and some of our open source projects. They’re a great bunch of products, but we’re nowhere near the end of our meeting all our customers’ UI needs.
To this end, we are seeking another UI developer to join our front-end team. To fit well into this group and keep up, you’ll need 3-5 years of Web development experience, much of it with Angular. The group is made up of various nationalities, so you’ll need to be flexible and be comfortable speaking and writing in English.
We are very focused on testing at Curity. As a result, you will be writing tests whenever you add new functionality to the products you work on. These could be unit tests in Protractor or automated browser tests using Cypress, Jasmine, or Robot Framework. The style and maintainability of these tests are very important, as we have to maintain them for the long haul.
We work in a complex space — Identity and Access Management. The UIs aim to simplify this complexity, so that means you’ll be asked to code some daunting abstractions. The back-end has a massive data model. The UI isn’t dynamic (except in a few places), but it does depend heavily on the schema of the data model. Fetching data, traversing it, and presenting it will probably take some getting used to. Once you get it though, it’ll make your development so much easier. You won’t need to worry about state management, configuration validation, rolling back changes, etc. That’s all handled.
Deadlines are a fact of life, but more important than arbitrary points in time is quality. When building security software, the product must be solid, tested, and safe. For this reason, we work with “trains”. The train leaves the station every six weeks, and we release it at that time. If a feature is ready, it’s merged to the main development branch and will ship on the next train. If it’s not ready, the work continues on an integration branch till it is. This working model allows us to provide consistent deliveries without sacrificing quality.
Keeping track of changes is essential. Source-level changes are managed with git. We rendezvous at Bitbucket, where we also review every substantial change (ones greater than four lines) in a PR. We also specify what changes should be made in Jira tickets. We often design things by talking, and then type it up in a Jira ticket. If it’s more complex, we will write an architectural description of the problem. We often spike out such challenging parts.
We strive to keep meetings to the bare minimum. We have a morning standup though (at 09:20 CET), where we talk about what we did the previous day, what we plan to do today, and if we’re blocked or not. These aren’t reporting meetings for a manager; they’re for you to keep in sync with your colleagues. You’ll need this because things move fast at Curity!
If Curity sounds like a fun place to work, please apply. To be successful at it, you’ll want to be sure you have the following skills:
- Typical front-end testing frameworks (e.g., Cypress, Jasmine, Protractor, Mocha, etc.)
- State management (using Redux etc.)
- HTML and basic CSS
- Git and version control
- Object Oriented Design and Programming (OOD/OOP)
- Computer science and software engineering fundamentals
- Basic knowledge of accessibility, browser APIs, and performance
- Good English communication skills, both spoken and written
- Basic understanding of OAuth 2 is a plus
Also, please be sure to read about how we hire, and send us your application. We’d love to have you on board!