We defend and believe in open-source, and proof of this is that our main project, Penpot, reflects that.
We're convinced that technology isn't neutral, which is why we like to shake things up and go against the status quo.
Penpot is the free open-source design tool that allows true collaboration between designers and developers.
Hand-off drama disappears, thanks to features like CSS Grid, Flex Layout, and the Code Inspect tab.
Kaleidos is the company boosting Penpot.
If you're interested in getting a deeper sense of our culture and values, have a look at our website to gain insight into who we are and what we believe in.
How we value experience: For us, a senior is someone who, regardless of years on the job, has dealt with tough development issues, finding solutions and learning along the way.
From our perspective, it's possible that a senior might be someone with relatively few years of experience but who has faced complex development challenges.
On the other hand, a mid-level might be someone who, despite many years in the workforce, has had a more specialized experience and hasn't faced those types of challenges.
Step into our world: the challenges you'll face with us: We want to share the challenges we encounter that keep us motivated and in constant learning mode.
The following list doesn't mean we expect you to handle all of them right away—your ability to tackle these will depend on your experience.
But our goal is for you to grow with us so you can hit the ground running in the future.
Vector drawing development: implementing vector drawing with transformations using DOM/SVG as the rendering base requires knowledge of matrix calculations and a high awareness of DOM performance.Editing system design and implementation: designing and implementing an editing system for the drawing engine, with a strong focus on redo/undo capabilities and concurrent editing.Complex data structures validation: using and validating complex data structures for structural, semantic, and referential integrity.
Given the high interactivity of our application, these structures are often eventually consistent.Low-level language module development: developing application modules in low-level languages like C, C++, or Zig to transition parts of the application to WebAssembly (WASM).Highly interactive interface development: creating a highly interactive interface that requires coordinating multiple sources of events (e.g., an SVG path editor).Custom rich text editor development: developing an ad-hoc rich text editor with proper handling of RTL (Right-To-Left) text and IME (Input Method Editor), and integrating it with SVG texts.New functionality: adding new features using ClojureScript and Reactive Streams (RX). Profile and skills: We believe education can be acquired in many ways, not just through a degree.
#J-18808-Ljbffr