We are Docplanner Phone, a product that is currently growing in the healthcare market. You can catch a glimpse of it here. We benefit both from being an established company and acting as an independent startup. We’re looking for an experienced software engineer, preferably with a solid TypeScript + Vue.js background.
Why would you like to join our team?
People: our team right now is about a dozen people — not only software engineers but the whole team responsible for product development. We all wear many hats, and we all have a say in the final product. If you like to know and understand the business, feel the users - this is something for you.
Product: we’re building a middleman for an internet telephony system, so not yet another CRUD app. We might not be blockchain-based, but we operate at the junction of telecommunications, messaging, user experience, and marketing. We found our initial market fit and we’re now in the growth phase with hundreds of clients across 5 markets.
Technology: we have a lot of freedom and we use it to manage the technical debt level. This means unit and integration testing with jest, E2Es with playwright, eslint, prettier, dependency cruiser, and more. While there are some areas we’d like to pay closer attention to and refactor continuously, there is no obvious legacy code (the whole codebase has about 48 months).
How we work in the team
You can experience our agile working culture, and at the same time, benefit from all of the initiatives and people DP Tech brings to the table (meetups, workshops, 20% rule, hackathons, and stuff).
Flexibility is key - manage your schedule to meet both personal and professional needs, ensuring your contributions to the team are impactful.
We leave a lot of autonomy to you. You can experiment and fail. We’d rather have you ask for forgiveness than for permission.
Some of our short-term technical challenges
We’re splitting up our monolithic codebase into bounded contexts. It is an ongoing process, but there’s much to be done.
Optimizations - the traffic increases so we’re starting to face non-trivial performance issues.
Our tech stack
We’re working with Vue 3 / TypeScript 5.3 using Vuex.
We’re following DDD principles, but not fanatically. We extract domain logic into classes and utilize OOP.
We started as a monolithic app, we're transitioning to a more modular approach with dependency cruiser and tsyringe as DIC.
We use some of the following services and more: Pusher (WebSockets), Twilio, GitHub & GH Actions, and Sentry. Our entire stack at StackShare
The application is above 100k LOC with more than 800 tests on top of that — not bad, but there’s much to be done!
We benefit from continuous delivery — we deploy as soon as the code review is complete, and it’s all automated.
You have a solid understanding of Object Oriented Programming principles and good knowledge of TypeScript.
You know how to test your code.
Our ideal candidate
Worked in a small team before, so they understand that nobody will do the job for them. They will need to take initiative, make decisions, and implement them.
Has experience with layered architecture and strategic DDD concepts.
Knows how to work with applications at scale.
This role’s responsibilities
You will be a part of the product team working in an agile approach delivering value to our customers (so no complaining about the "product people”, we’re a team).
Your main focus will be frontend development. You will have the opportunity to work with others on topics in your area of interest - backend, infrastructure, development process, etc.
We expect you to bring in some innovative ideas to the team — you will not always be told what to do next.
Let’s talk money
True flexibility and work-life balance
Health comes first
Keep growing with us
We promote and embrace equal opportunities in our hiring process, and also every day at work. When you apply for our roles you receive equal treatment regardless of age, disabilities, gender reassignment, marital or civil partner status, pregnancy or parental status, race, colour, nationality, ethnic or national origin, religion or belief, sex, sexual orientation or any other dimension of human difference. If you require additional support in your recruitment process, we kindly encourage you to let us know. Behind those words you’re reading, there’s a person (hi!) who already helped a candidate by adapting the interviews, and now we’re lucky to have this person with us. So, even if you’ve never asked for it before, may this serve as a sign that, now, you can do so. We can only truly be equal if we adapt to each other.
“We believe all humans, in all their beautiful diversity, should have equal rights, dignity and respect. Period.” Mariusz Gralewski, CEO