We are looking for a Senior Software Engineer to join us in building and shaping web-based User Interfaces of our existing and novel products. We are setting up the foundation for a new graphic design tool to challenge the status quo that eases the creation of smashing design and collaboration with fellow creators.
The Job to be done
You will be joining our interdisciplinary team of software engineers and designers and work together with us on our vision to build the creative engine of the digital world. You will mainly focus on further developing our Web Application Frontend of our Photo- and Creative-Editing applications, but also be involved in adjacent engineering tasks and problems. Your job will be to work closely with the rendering/backend team as well as the design team to bring reliable and robust, as well as clean and vivid interfaces to life and help sustain and shape the experience of our User Interfaces.
This position is hands-on ReactJS based UI development ranging from developing reusable components for regular user interfaces as well as on canvas controls for the image-, text-, and design-element manipulation and editing. Also, it includes working with people from multiple fields, brainstorming, and prototyping potential solutions to yet unknown but interesting problems.
The job will require some agility from your side and depending on the current priority you will need to switch between the following working modes: In production your focus should always be on stability, robustness, maintainability, performance, and most importantly good architecture. When prototyping we need fast roundtrips, sensible shortcuts to create proof of concepts and constructive discussions across various stakeholders.
Here is a list of tasks we have been working on in the team lately. Note, we didn't work on them all at once and so we don't expect you to.
- Redesigning and implementing our PhotoEditorSDK UI with multiple layouts and extension points, theming and i18n support, and much more.
- Conceptualizing and building a new cross-platform creative/graphics rendering engine written in C++ and compiled to WebAssembly.
- Building the basis for the User Interface of our new products that use the said engine.
- Setting up the whole development environment including rollup and the integration with the WebAssembly backend.
- Creating UI components and the design system to ease the development of the User Interface.
- Implementing the crop mode and various other image editing UI elements and wiring those to the engine.
- Prototyping a concept for dynamic inspector and on-canvas controls (our Gizmos).
What you bring to the Table
We are looking for a candidate who has experience in building web applications, preferably with ReactJS but not necessarily. You should like to be challenged regularly. As your work will touch many areas of our products we hand over a lot of responsibilities to you. We don’t expect you to know everything from the get-go, just openness, and willingness to grow with the team. For this job it’s a plus to have a feeling for good usability and visual design, while you have expert designers helping you, it’s always a plus to be able to design a few things yourself.
At img.ly we like to be able to work autonomously on our tasks and so should you. We keep in touch whenever necessary and everyone is available whenever input is necessary.
We are all generalists, life-long learners, and tech enthusiasts who love what they do. We think and plan before we act while getting things done when needed. We believe that done is better than perfect and iterate after we understand the problem. We all feel responsibility and ownership for what we do, we never let someone down, and we support each other.
We want a candidate that recognizes themself in this description. We have built a team from diverse backgrounds and experiences and see the benefit of that. We don’t beat around the bush and also expect you to be direct and fair.
Long term relationships are important to us, and as such we always look out for each other, we don’t believe in constant crunch modes but in a healthy equilibrium between work and life and enough regeneration times. We believe in work-life blending and as such, we work with people we respect and like and also like to spend quality time with.
We generally don’t believe that certificates like CS degrees are what matters most. We care about what you do and how you do it. Building real stuff counts a lot more for us.
We have an office in Bochum, Germany, but we have always worked from where it’s best for us. We are currently migrating to a remote-first company while still keeping our offices in Bochum, Germany. The caveat is that you must be a good communicator, and as such comfortable with effective writing and on-demand video calls with the team. While you can be anywhere you want, we require you to overlap at least 4 hours with a workday in Germany.
Benefits and Pay
As we like to swap ideas on a daily basis and like to get to know our teammates better, we occasionally meet once or twice a year with everyone at a location to hang out for a week. We visit meetups and conferences and have remote workshops to different topics on a per interest basis. Our goto hardware is a MacBook and whatever everyone feels is necessary for themself.
We work from where we work best and so should you, whether it’s our office in Bochum or your favorite coffee shop next to your home. We value transparency and as such all our numbers are open to everyone in the company. So, last but not least, the salary for this role ranges from 50.000 € to 65.000 € depending on your experience.
How to Apply
We want to integrate people into our team that are as dedicated as we are. That doesn’t mean that we need a novel as a cover letter. A polished CV or your LinkedIn profile can be a safe bet. But, we are far more interested in the projects you’ve been working on, some code, or anything that you want to show us. Rise above the noise. Surprise us.
Our process then is plain and simple. You’ll have an initial chat with us over a cup of coffee to introduce ourselves to each other. Next up is a more sophisticated interview with colleagues from our team about all the technical questions that prey on your mind. In the last step, we set our whole team on meeting you. That means, you’ll have a trial project where you have the chance to get to know our team and our work better, and in turn, we want to see if you fit our motley bunch of people. If everything comes together, we are happy to welcome you to our pack!
If you're interested, drop us a line to firstname.lastname@example.org