Experienced PHP developer

Codefort is hiring an experienced PHP developer with experience in building professional, scalable, and testable architecture.

We're a hosted e-commerce platform with a focus on medium-large scale e-commerce businesses.

We're a bootstrapped company and have been running our company profitable for the last four years.

We're hosting more than 300 shops and processing more than 50M EUR of payments transactions pr. year.

About the job

You'll be working on our Laravel application and it's surrounding tech stack:

  • PHP
  • MySQL
  • Redis / DynamoDB
  • SQS / S3 / SES
  • Laravel Blade / HTML / Tailwind / VueJS (minimal)

Most of your work will be in our internal architecture within our monolith and it's integrations with lots of third-party services.

  • Payment gateways
  • Fulfillment services
  • General e-commerce apps

Payment gateways integrations are a big part of our system and are the most critical domain in our application.

We integrate with a lot of third-party services and are going to add a lot more in the future. It's therefore important that our internal architecture allows for easy extendability and testability.

You'll be working on performance optimizations in our storefront. Our clients have full control over their storefront and it's not always easy to optimize when we don't have the full control of what data they are going to request in their liquid files.

You'll be working on our shop API to allow clients to build apps around our platform. There is an almost infinite amount of third-party software providers for e-commerce platforms. So giving our clients the option to build custom apps with our platform is important.

The role, in general, is flexible and this is just to give a rough idea of our platform and what we're looking for.

It's also possible to include more operational tasks in your position, however, it's not necessary for this job.

Tasks we've recently worked on

Improve Storefront caching

  • Expand cache coverage for the most used models.
  • Per request caching for data retrieved multiple times.
  • Make an architecture for cache-busting on cross-tenant models.
  • Minimize lazy-loading (n+1) with multi-level nested relations through normalization.

Improve our payment architecture

  • Decouple models from the payment logic.
  • Decouple testing of our 10 gateways from our payment flow.
  • Improve error handling for recurring payments.
  • Improve test-coverage for edge-cases.

Compile CSS and JS

  • Compile, purge, and minify PostCSS based on the tenants' theme files.
  • Set up and compile Webpack and javascript files based on the tenants' theme files and setup.
  • Handle the necessary security concerns around allowing the client to execute these compilers in our multi-tenant setup.

Improve our event handling

  • Implement a strategy to de-bounce events across our application.
  • Propagate events from sub-models to their main domain models. (e.g. ProductImage -> ProductVariant -> Product)
  • Simplify our third-party integrations based on these changes.

We have a lot of interesting and challenging problems to solve on our platform. We're looking for a person we will love problem-solving and we'll make sure to give you the uninterrupted time you need to focus and solve those.

About you

You have a track record of building, maintaining, and improving web applications.

You're experienced working with PHP applications that evolve over time and you know how to make incremental improvements without making breaking changes.

You're able to follow existing patterns with ease and can set and maintain professional standards for the application and across the team.

You have a good understanding of MySQL and know how to build performant PHP applications and maintain data structures.

You are able to work with HTML/CSS/JS in an existing design. Your work in this area will be basic and minimal, but you'll be developing frontend flows necessary to interact with your backend code most of the time.

It's a fully remote position and you should be comfortable working alone most of the time. We're giving you long stretches of uninterrupted time.

Pay and benefits

The salary is dependent on your skill level and experience.

It's a fully remote, full-time position. However, you need to have at least 2 overlapping hours with CET 9:00 - 17:00.

You'll be working 37,5 hours/week. We expect you to work during regular working hours and in a consistent schedule, most of the time, but we're always flexible to make it work with your private life and family.

We're a Danish company and are therefore not able to hire you as a traditional employee unless you're living in Denmark. However, we're still giving you the same benefits as if you were employed in Denmark,

  • 25 days of yearly paid leave.
  • 10 extra days of paid leave for national holidays.
  • Full salary during sick leave.
  • Paid maternity leave.

We're paying up to 300 EUR/month to use towards any coworking space in your local area. The position is entirely remote, and you should be comfortable working from home and on your own most of the time. However, it can be great to get away from home once in a while.

We're paying up to 100 EUR/month for any learning materials, books, and services you need to develop your personal and professional skills.

We're providing you with the hardware and software you need to succeed. This includes a high-quality laptop and external monitors.

We're providing you with a Codefort credit card you can use on any company-related purchases and expenses.

About our company

We're a small company with six full-time employees.

We've been bootstrapping our platform for four years and are a profitable business. We don't believe in venture capital and crazy start-ups, hours, and whatever follows. We're quite the opposite.

We're an informal workplace that puts employees first. You'll get much responsibility, and we always trust that you are doing the best you can.

We're giving you space and time to focus on your tasks.

It's essential for us that you are always learning and developing your professional skills.

How to apply

Send an application to mark@codefort.com.

We're not interested in your degrees and certificates but will much rather look at your real-life experiences and results.

© 2017-2020 Codefort. All rights reserved.