Senior Software Engineer - Data Engineering

Job expired!

Dołącz do Lookout, wiodącej firmy zajmującej się bezpieczeństwem od punktu końcowego do chmury, dedykowanej ochronie naszej cyfrowej przyszłości w świecie, gdzie mobilność i chmura są kluczowe zarówno dla pracy, jak i zabawy. Naszą misją jest umożliwienie konsumentom i pracownikom ochrony ich danych przy jednoczesnym zapewnieniu prywatności i zaufania. Lookout jest zaufanym partnerem milionów użytkowników, czołowych przedsiębiorstw, agencji rządowych i partnerów takich jak AT&T, Verizon, Vodafone, Microsoft, Google i Apple.

Siedziba główna Lookout znajduje się w San Francisco, a firma ma również biura w Amsterdamie, Bostonie, Londynie, Sydney, Tokio, Toronto i Waszyngtonie, D.C. Wykorzystujemy ogromne zbiory danych dotyczących bezpieczeństwa mobilnego oraz ponad 100 przyznanych patentów, aby zasilać naszą Lookout Security Cloud, która wspiera szeroką gamę produktów i usług, stanowiących podstawę naszych przewag konkurencyjnych w dziedzinie bezpieczeństwa mobilnego.

Szukamy starszego inżyniera oprogramowania, który dołączy do naszego zespołu inżynierii danych. Będziesz pracować nad platformą przetwarzającą setki milionów zdarzeń bezpieczeństwa codziennie, wspierając analizę w czasie rzeczywistym i analizę ad hoc przez badaczy i analityków poszukujących nowych zagrożeń mobilnych. Twoje zestawy danych będą integralną częścią funkcji produktowych, takich jak pulpity danych i wykrywanie zagrożeń. Szukamy inżynierów z doświadczeniem w danych i infrastrukturze, którzy są podekscytowani pracą nad jednym i drugim.

  • Współpraca z zespołami wielofunkcyjnymi w celu analizy wymagań oraz realizacji celów jakościowych i terminowych.
  • Projektowanie, wdrażanie i utrzymywanie niezawodnych systemów do przechowywania, przekształcania i analizy dużych zbiorów danych, w tym modeli danych, procesów ETL i rozwiązań integracji danych z wykorzystaniem technologii Java lub pokrewnych frameworków.
  • Zarządzanie infrastrukturą do przetwarzania i przechowywania danych wsadowych i strumieniowych, w tym narzędziami CI/CD, łataniem systemów, aktualizacjami, monitorowaniem i analizą wydajności.
  • Tworzenie skalowalnych, wysokiej jakości i łatwo utrzymywalnych aplikacji Java z wykorzystaniem najlepszych praktyk branżowych.
  • Projektowanie i wdrażanie komponentów zaplecza z wykorzystaniem technologii Java.
  • Pisanie czystego, efektywnego i dobrze udokumentowanego kodu.
  • Wykonywanie testów jednostkowych, debugowanie i rozwiązywanie problemów w celu zapewnienia niezawodności i wydajności aplikacji.
  • Aktualizowanie się na temat nowych technologii i trendów w rozwoju Java w celu ulepszania naszych produktów programowych.
  • Licencjat z informatyki, inżynierii lub pokrewnej dziedziny.
  • Minimum 7-10 lat praktycznego doświadczenia w rozwoju oprogramowania w języku Java.
  • Biegła znajomość języka programowania Java, w tym Java Collections Framework, Multithreading, Concurrency i Performance, oraz pokrewnych frameworków jak Spring i Hibernate.
  • Doświadczenie w projektowaniu, architekturze i wdrażaniu architektur mikrousług oraz wzorców komunikacji.
  • Doświadczenie w systemach przetwarzania dużych zbiorów danych, w tym w ustawianiu potoków danych, analizie przepływów danych i przekształcaniu danych. Odpowiednie technologie to Spark, Splunk, Kafka, Logstash, Airflow i Storm.
  • Biegłość w Agile SDLC, systemach kontroli wersji takich jak Git lub Bitbucket, przeglądach kodu i narzędzia