Front-end Developer in SaaS Team - LayoutPreview

For You?

We're looking for a core-team member to the LayoutPreview team here at Aptoma, as we are preparing a multi-year project to meet emerging business requirements from an international media industry.

Our codebase is well maintained and has a very decent test-coverage, and the main motivation for the position is for it to remain so going forward. But there are also some hallmarks of fast-paced development over an extended time period, and a certain amount of catching up on maintenance is also to be expected.

We're looking for someone with an affinity for technical maintenance, technical improvements to reliability, robustness, testing and performance. You should be motivated by working with both short-term and long-term maintenance goals, but as you get familiar with the codebase, we will also need feature development contributions from you.

The current team has remained stable for a long time and we are now looking for a new team member to help us achieve our future plans for LayoutPreview. We can tell you more about the maintenance goals we have and what plans we have for innovations when we meet.

The Technology

LayoutPreview is a fully automated news design tool, which also supports manual overrides for all operations. It's been used for digital editions since 2010, with a WAN-IFRA World award "Best in Tablet Publishing" to show for it. It now also replaces Adobe Indesign and the likes for newspaper production in hundreds of different newspapers since 2019, with a resulting European Newspaper of the Year award for regional newspapers as a result.

Performance and reliability are imperative aspects of the software, as it's producing hundreds of thousands, if not millions, of layouts for hundreds of newspapers daily. There's a lot of calculations going on to produce every single automated layout.

While we deem this a front-end developer position, we'd like to emphasise that front-end today is sophisticated and business critical technology with a significant runtime. There is also a Node.js backend. You'll have to be comfortable working with an extensive but well organised software codebase.

Most core-parts of the codebase have extensive testing, and we catch most errors prior to manual QA and almost all regressions prior to deployment. Certain parts of the codebase don’t have full test coverage, most notably the GUI-features.

The Team

Currently only Peter is full time in the team. You'd be the second full-time member.

The team is small and productive, and you'll be exposed to the entire codebase. The codebase consists of modern framework technologies such as Redux, React and native web components, but mainly the codebase relies heavily on vanilla JavaScript. LayoutPreview is pushing the boundaries of what browsers are capable of, and therefore frameworks can get in the way.

The Interview

The interview is a mutual thing. We should have a chat to figure out whether the job is right for you, and if you're right for the job.

We will show you the software and we will show you parts of the code, and we can poke around together. We deem the codebase an important part of your working environment, and we want you to have a look. We can also give you an overview of the current maintenance backlog.

We will be interested in your preferences and any prior experience you have that you deem relevant for the job, and we'll be interested in your questions about us, the team and the codebase.

We also would like to explore how the job could pan out in practice in terms of your role, your work location, and how we can interact effectively on a day-to-day basis.

To Apply

Send your application and resumé to geir@aptoma.com
Subject: Application – Front-end developer
Applications can be submitted in Norwegian, Swedish and English.
Applications are reviewed on an ongoing basis.

What It's Like to Work in Aptoma

What we expect from you

Tabs and semicolons (we had to decide something to avoid this whole situation)
End-to-end responsibility: You'll usually be responsible for tasks from start to finish — that is, from requirements phase and during tech. specs, UX specs, development, deployment, bug fixing and direct communciation with customers on support tickets relating to your features. We try not to do any handovers during feature development.
Tech and UX development: While we expect decent UX and tech solutions from you, you will have colleagues interested in reviewing your pull reqests and UX proposals as part of our QA process.
Talk to customers: When required to solve the task, you'll engage with the customer without any mediation.
Autonomy: We have no full-time managers (and probably never will have), so sometimes your manager will be busy developing and not following up on you. You'll have to raise relevant questions and concerns yourself.
Integrity: If you have enough on your plate and we're trying to give you another task, you need to make it explicitly clear that you'll need to offload other tasks to accomodate more work.
Criticism: At the core of our productivity with a small team is our ability to reveal why something shouldn't be done — we expect you to point to problems and potential problems whenever you see them.

What we don't expect from you

We don't expect you to thrive on multitasking — we know multitasking can reduce productivity for many. We include that in our cost/benefit considerations.
We expect you not to say yes to any meeting — it's appropriate to require a reason for your attendance to a meeting.
We don't expect you to be extrovert — while you should be able to communicate when needed, we usually prefer silent get-shit-done-productivity when there's nothing of importance to discuss.

What we can provide

Interesting and challenging development tasks with a clear purpose.
Seniors on first line of support — you won't be called after hours with mundane questions.
A desk, a computer and free coffee
Productive silence at the office.
Flexitime outside core hours 09-15.
Ad hoc use of home office.
Competitive salary and pension arrangements.
Shower at the office and a safe place to stash your bike.
A yearly company trip — nothing fancy, though.
The odd skiing trip, boat trip, and trip to the beach.
A monthly-ish snack and drink with colleagues.

What we can't provide

Hand holding — to get help, you'll usually have to ask for it.
A safe place to hide — there is not always backlog to pull tasks from nor a ticket system with ready todo tech tasks. Sometimes we all have to reach out to people to figure things out.
Glamour — we're craftsmen 99% of the time.
Freedom from legacy tech — while we invest heavily in modernising our tech base, we still have backends developed in PHP etc. Whenever required, we maintain, modify and extend those technologies.
A large organisation — our modestly sized organisation is built around a dozen or so very capable, skilled, strong and autonomous individuals more than anything else.

How Aptoma is Run

We have an all-hands meeting 1-2 times per month, where we discuss any company wide topics.

Each team has a weekly or bi-weekly status and planning meeting (STAPL), where priorities are discussed and decided.

We have a business team run by CEO which is preparing all major product and/or company decisions, but these decisions are all made in the all-hands meeting.

The company is fully owned by the CEO and some of the employees, and everyone has a fair chance to influence and object to decisions.