Interaction Design Foundation - IDF (11-50 Employees, 108% 2 Yr Employee Growth Rate)
Are you an ambitious PHP developer who is looking for a truly challenging role in a growing dev team? Do you wish to use your coding superpowers for a good cause and help improve the lives of millions of people around the world? Do you want to work with a team that values your insights and contributions to a dynamic product with an exciting future?
This is a rare opportunity to work exclusively with senior-level PHP devs in a diverse, highly organized, result-driven environment where you can thrive personally and professionally. We’ve gone above and beyond to carve this role into a unique dev position, where all the things that made your previous job suck are gone:
Here, you’ll never have to advocate for the importance of investing in code quality – our founder is a coder himself, and our elegant code is the vein that keeps the IxDF healthy and growing. We understand how critical your superpowers are, and don’t believe in making our dev team work on pointless tasks, nor suffer the consequences of technical decisions being made by people in other departments (we know you’ve been there). Instead, you’ll work on stimulating projects in a healthy, collaborative environment where your ideas and time are valued. You’ll be involved in decision-making processes which means there are incredible possibilities for you to take initiative and grow here. In fact, it’s encouraged! Traditional hierarchies don’t lead to brilliant, effective outcomes, so we’ve thrown them out.
We’re proud to say that we’ve put together an amazing team of unicorns who support, inspire and challenge each other every day, and we are looking for equally talented and like-minded PHP developers to join us. We’re lucky enough to get up each day and build a better future for thousands of people around the world. But something’s missing. And we think it could be you.
The Interaction Design Foundation is the biggest online design school globally. Founded in 2002, we have over 120,000 graduates and counting. We’re market leaders in online design education because the world’s leading experts create our content and because we’re specialized in design. What’s more, with over 1.5 million monthly visitors, we’re at the forefront of providing premier design education to such organizations as IBM and SAP, as well as thousands of other companies.
This is a paid full-time position and is fully remote so you can work from anywhere! You will have regular video-based contact with your colleagues and get to meet them physically on team trips a few times per year.
About our Platform
You will join our back-end team, which is constantly improving our main product — a web application with online courses, bootcamps and community tools. The architecture is a multi-page application — an MVC-based, modular monolith using Laravel as a back-end framework. It was started back in 2013, and since then we’ve relentlessly increased code quality, features and test coverage, and are proud to say that we have almost zero legacy code or technical debt. We believe a modular monolithic architecture can reach a level of perfection where it’s superior to a micro-service architecture — despite an ever-increasing number of features.
How have we achieved that?
- Well-automated CI with code quality tools: Psalm (errorLevel=”3″), PHPStan (level: 7), Rector, PHPCS, PHP-CS-Fixer, Deptrac, phpcpd, ESLint, etc.
- Regular pull request review sessions
- All front-end code built using reusable well-documented IxDF UI Kit.
The stack you will be working with
- PHP 8.1 and Laravel 9 (always the latest versions)
- Server: Docker, nginx
- DBs: MySQL, Redis
- Testing: PHPUnit, Laravel Dusk, cypress.io
- Cloud: Amazon S3, CloudFront
- CI/CD: GitHub actions + Deployer
What you will be doing
You will be working with several teams: Back-end devs, front-end devs, designers, content and product managers, as well as our founders, who are also actively involved in the processes. You will work most closely with our back-end team, which we are extending from 4 to 7 senior engineers.
Your main responsibilities will be to:
- Help develop back-end of the interaction-design.org platform: new features, refactorings and (rarely) bug-fixing.
- Write clean and maintainable back-end code (incl. our open-source projects and external packages we use).
- Communicate with other teams to clarify specifications for new features and improve existing ones.
- Keep documentation up to date for code you create and change.
- Constantly increase test coverage (we use PHPUnit, Laravel Dusk, cypress.io, and we love TDD).
- Participate in refactoring and continually eradicate technical debt whenever it arises. The goal is the ultimate developer experience.
- Optimize infrastructure (DB, nginx, queues) for better scalability.
- Review code from your colleagues (we love PR reviews as a great way to share knowledge and find optimal solutions for any challenge).
- Actively participate in planning, stand-up and workshop video calls (we have 3 meeting-free days per week for ultimate focus time)
- Regularly ship your code (we usually deploy a few releases per day: zero downtime, just a few clicks).
What you will get
- Expert-level colleagues who contribute to the Laravel framework and packages from its ecosystem.
- Zero-effort development environment based on Docker.
- Battle-tested guidelines for PHP, JS, CSS and Laravel code.
- Up-to-date domain, product and project documentation.
- Great library of books and courses to keep your knowledge and skills at peak level.
- The chance to impact the lives of tens of thousands of designers around the world and put smiles on their faces as you ease their learning journeys.
- The opportunity to do the best work of your life—if you’re willing to invest the effort that will require.
- A founder and CEO who is a developer.
- A competitive salary based on your location and local economy.
- Smooth and well-organized workflows for collaboration with other teams.
- 5 weeks (25 days) of paid vacation per year to do whatever makes you happy, rested and fulfilled.
To learn more about what it’s like working with us, refer to our main career page
- You have expert knowledge of PHP.
- You have expert knowledge of Laravel or Symfony.
- You have 6+ years of experience working professionally with OOP.
- Your work is based on a solid foundation in computer science fundamentals from data structures and algorithms to design patterns.
- You are an engineer by mindset and always try to understand how things work under the hood.
- You love to learn through doing. You’re ready to put in some hard work to expand your skills.
- You speak and write acceptable English — not perfect English, just acceptable — since you will be working with people from the US, England, Canada, Denmark, Belarus and Australia among others. Your timezone does not matter!
- You are a team player and you don’t bring your ego to work.
- You are self-motivated and self-disciplined and thus work well in a flat hierarchy with lots of freedom.
- You love to have creative freedom, make independent judgments and live up to the responsibility that comes with that freedom.
- You love to create tangible results — every hour and every day.
- You love to make a positive impact on the world and the lives of others.
You get bonus points…
- …if you have contributed to open-source projects.
- …if you have worked professionally with at least one statically typed programming language like C, C++, C#, Python, Java, Kotlin, Rust, Scala, Go, etc.
- …if you have prior experience with k8s, Stripe, GraphQL, Swoole.
- …if you have prior experience with Customer Data Platforms (like Segment) or Product Analytics & Tracking tools like Amplitude, Heap, or the Google suite (Analytics, Optimize, Tag Manager).
- …if you have a Master’s Degree in Computer Science.
- …if you have experience with test-driven development (TDD).
- …if you have experience with DDD, Event Sourcing, CQRS.
- …if you have strong database management, scaling and optimization skills.