ロカドでのソフトウェアエンジニアの仕事

私たちは成長しており、今まで以上に優れたソフトウェアエンジニアを採用しています。ロカドは印象的な技術的な課題に直面しています。したがって、エンジニアが私たちに「ロカドで何をするのですか?」と尋ねると、私たちは「私たちと一緒に何をしたいですか?」と質問を返すことができます。ロカドプラットフォームの主要な機能領域を簡単に見直しましょう。ロカドに応募する場合は、興味のある分野を教えてください。

ロカドに興味がありますか?リモートポジションも歓迎です。

履歴書を contact@lokad.com まで送ってください。

software-engineering-social

ミッション(エンジニアの視点)

サプライチェーンは無駄で非効率です。世界経済の約15%に相当します。サプライチェーンは広大であり、二桁の改善が可能です。私たちはサプライチェーンをAIの自動操縦に乗せ、人間を上回るパフォーマンスを提供したいと考えています。

基本情報

私たちのコードベースはC# / F# / TypeScript / .NETです。GitとVisual Studioを使用しています。ロカドはMicrosoft Azureでホストされています。私たちは主にOSに関しては中立的であり、.NET CoreとLinuxで運用しています。数千のユニットテストと堅牢なエンドツーエンドの継続的インテグレーションがあり、すべてを1クリックで再デプロイできます。

Joel Testでは12/12のスコアを取っていますが、20年前に書かれたこのテストには私たちが優れていると考えるいくつかの変更があります。

新しい候補者は面接中にコードを書きますか? はい、しかし、私たちは候補者に事前に注目すべきコードの一部を候補者自身が書いたものを送ってもらうようにもお願いしています。その後、面接の一部で候補者にこのコードに対して挑戦します。

ホールウェイの使いやすさテストを行いますか?これはWebアプリを開発する場合には確かに機能します。ただし、コンパイラと深層学習データパイプラインの設計に関してはあまり機能しません。ただし、私たちは自分たちのものを大量に使用しています。なぜなら、私たち自身のサプライチェーンサイエンティストが最も活発なロカドユーザーだからです。

イベントソーシング

CRUDアプリとSQLデータベースを組み合わせた開発にうんざりしていませんか?もしそうでなければ、そうすべきです。イベントソーシングは、ほとんどすべての面で優れた代替手段です。メンテナンスが容易で、スケーラブルで、セキュアです。主なデメリットは、ソフトウェアコミュニティがこのアプローチに慣れていないことです。ロカドのコアは完全にイベントソーシングの上に構築されており、SQLデータベースはありません。

最新の原則に基づいたクラウドアプリを作成する方法を学びたい場合は、ぜひ参加してください。

ストレージレイヤー

すべてのクライアントのデータをGitリポジトリのように整理しています。ただし、一部のクライアントは100GBのファイルを1つのファイルとしてプッシュしています。実際のGitバックエンドを使用していないため、Microsoft AzureのBlobストレージの上に独自のストレージレイヤーを作成しました。

Gitのようなストレージレイヤーを持つことは、信頼性と再現性に重要です。Lokadに巨大なフラットファイルをプッシュするのに時間がかかります。クライアントが途中で書きかけ(または上書き)されたフラットファイルを処理するリスクにさらしたくありません。Gitのようなセマンティクスにより、ファイルは存在するか存在しないかのいずれかです。ファイルの安全でない状態は、Lokadの他の部分には決して公開されません。

ビッグデータが好きなら、ここが最適です。

コンパイラ、フロントエンドとバックエンド

Envisionは私たちの自家製DSLです。サプライチェーン科学者のチームによって積極的に使用されています。この言語はシンプルですが、サプライチェーン最適化の課題に取り組む際には非常に高い生産性を発揮します。全体として、LokadはEnvisionスクリプトを作成および実行するために設計されたプラットフォームです。

EnvisionのコードベースはすべてLokadプラットフォーム内に存在するため、言語の進化に伴い既存のスクリプトを自動的に書き換える機会があります。したがって、私たちはすべての設計ミスを永遠に残すことはありません。私たちは書き直して前に進みます。コンパイラエンジニアにとって、これは非常に速いペースで作業する機会を提供します。

ハードコアなコンパイラスキルを持っていますか?私たちはあなたを必要としています。

計算グリッド

私たちのコンパイラは単なるマシンではなくクラウドをターゲットにしています。Envisionは大規模な並列処理のために設計されています。私たちは独自の計算グリッドを開発しましたが、これはSparkにやや似ています。ただし、サプライチェーンデータパターンを活用することで、一般的なアプローチと比べて10倍から100倍の高速化を頻繁に実現しています。

機械群のすべての利点を最大限に活用することは、ゲームチェンジングなパラダイムです。分散コンピューティングは困難ですが、組み込みシステムでさえ将来的には分散システムになる可能性があります。私たちはLokadを最大のサプライチェーンにスケーリングすることを望んでおり、これには大規模な分散コンピューティングが必要です。

Sparkを知っていますが、より優れたSparkを構築することができますか?そうであれば、私たちに参加してください。

機械学習

予測はサプライチェーン最適化の基盤です。私たちの最新の予測エンジンは、微分可能プログラミングに基づいてすでに構築されています。これは深層学習の子孫と見なすことができます。私たちは時折、深層学習の「古典的な」手法も使用します。ただし、私たちのユースケースは根本的に異なります。深層学習コミュニティの大多数がメディア(画像、テキスト、音声)に焦点を当てているのに対し、私たちはサプライチェーンデータに焦点を当てています。

Lokadでの深層学習は、最新のオープンソースツールキットを使用したデータの整形についてではありません。それは、統計学習の基礎を見直し、業界全体に優れた結果を提供することに関するものです。私たちの課題は、新しいアルゴリズムを発明し、必要に応じて独自のプリミティブを作り出すことです。

TensorFlowを知っていますが、より優れたTensorFlowを構築することができますか?そうであれば、私たちに参加してください。

ソルバーとその他のアルゴリズム

サプライチェーン最適化には、かなり多くの最適化アルゴリズムが関与しています。これらの問題のほとんどは整数計画問題と呼ばれることができますが、サプライチェーンでは数百万の変数を持つ状況に頻繁に直面しています。従来の分岐限定法アプローチは、これらの状況に対処するのにはあまり効果的ではありません。そのため、私たちは独自の特化したソルバーを開発しました。

私たちの最適化能力はまだ初期段階ですが、確率変数、確率的予測などを処理できる強力なソルバーは、私たちのロードマップの一部です。数千万の変数と数千万の制約を含む問題にスケーリングできるようにしたいのです。これは最大のサプライチェーンのニーズに対応するために必要です。

タフなアルゴリズムが好きですか?パフォーマンスは機能ですか?私たちもそう思っています。私たちに参加してください。

組み合わせ可能なダッシュボード

各タイルのサイズを設定し、見栄えの良いデータセットを手動で選ぶことができれば、見栄えの良いダッシュボードを設計するのは簡単です。しかし、Envisionでは、エンドユーザーがプログラムで生成できるダッシュボードを作成できます。これには、さまざまな種類のタイル(チャート、テーブル、KPIなど)を任意のサイズと位置で表示し、実世界のデータを表示する必要があります。その際には、すべてのデータの特異点や外れ値、エッジケースも考慮しなければなりませんが、それでも見栄えが良くなければなりません。

弊社のダッシュボードは高速です。複雑なダッシュボードに直面しても、通常はクライアント側で500ms未満でレンダリングされます。見栄えの良いが実用的なダッシュボードを作成することは困難です。私たちはすでにこのパフォーマンスを提供するためのインフラを整えていますが、それを最大限に活用するためにはまだ長い道のりがあります。

私たちのメタデザインの問題を解決できますか?私たちに参加してください。

マッシュアップと統合

サプライチェーンの最適化にはデータが欠かせません。最近では、サプライチェーン全体がクラウド上に存在しています。ERP/WMS/OMSなどのアプリもLokadと同様にSaaSです。これらのアプリは、APIを介してLokadのミッションを達成するために重要なデータを公開しています。したがって、Lokadは成長する統合エコシステムをサポートする必要があります。

サードパーティのデータを統合することは、単なる配管と見なされることもあります。しかし、それを正しく行うことは通常の課題です。私たちは、増分かつ信頼性のある方法で全ての過去のデータを取得する必要があります。多くの障害モードを管理する必要があります。アプリが100%のアップタイムを達成できないことを非難することは無意味です。代わりに、私たちは与えられたアップタイムを最大限に活用する戦略を立てています。

B2Bソフトウェアエコシステムの半分と交流したいですか?私たちに参加してください。