Senior Software Engineer - Data Engineering

Vollzeit
vor 5 Monate

Senior Software Engineer - Data Engineering

Lookout is an integrated endpoint-to-cloud security company. Our mission is to secure and empower our digital future in a privacy-focused world where mobility and cloud are essential to all we do for work and play. We enable consumers and employees to protect their data, and to securely stay connected without violating their privacy and trust. Lookout is trusted by millions of consumers, the largest enterprises and government agencies, and partners such as AT&T, Verizon, Vodafone, Microsoft, Google, and Apple. Headquartered in San Francisco, Lookout has offices in Amsterdam, Boston, London, Sydney, Tokyo, Toronto and Washington, D.C.

With a massive mobile security dataset and over 100 granted patents, Lookout’s security platform, the Lookout Security Cloud, supports a wide range of Lookout products and services and forms the backbone of Lookout’s value and competitive advantages in the mobile security market. As an engineer on Lookout’s Data Engineering team, you will be working on a platform that processes hundreds of millions of security events daily. You will support real-time analysis in the Lookout Security Cloud, as well as ad hoc analysis by researchers and analysts hunting for new mobile threats.  Your datasets will directly support product features such as data dashboards and threat detection. We’re looking for engineers who understand both data and infrastructure, and are enthusiastic about working on both.

Responsibilities:

  • Collaborate with cross-functional teams to analyze requirements to meet quality and timeliness goals.
  • Design, implement & maintain reliable systems for storing, transforming, and analyzing large amounts of data. This includes creating data models, ETL processes, and data integration solutions using Java technologies or related technologies.
  • Manage infrastructure for batch and streaming data processing and data storage, including maintaining CI/CD tooling, system patching and upgrades, monitoring, and performance analysis
  • Develop high-quality, scalable, and maintainable Java applications using industry best practices.
  • Design and implement back-end components using Java technologies.
  • Write clean, efficient, and well-documented code.
  • Perform unit testing, debugging, and troubleshooting to ensure the reliability and performance of applications.
  • Stay updated on emerging technologies and trends in Java development to continuously improve our software products.

Requirements:

  • Bachelor's degree in Computer Science, Engineering, or a related field
  • Minimum of 7-10 years of hands-on experience in Java development.
  • Proficiency in Java programming language (Java Collections Framework, Multithreading, Concurrency, Performance) and related frameworks (e.g., Spring, Hibernate).
  • Designed, architected and implemented, or played a part in implementing microservice architectures and messaging patterns 
  • Experience with Big data processing systems - This involves setting the data pipeline, analyzing the data flow, and data transformation. Big Data pipeline processing stack can be Spark, Splunk, Kafka, Logstash, Airflow, Storm, etc
  • Experience with Agile SDLC, version control systems (e.g., Git, Bitbucket), code reviews, and continuous integration tools.
  • Excellent problem-solving skills and attention to detail.
  • Strong communication and collaboration skills.

 

Desired Skills: 

  • Proven experience in developing scalable, high-performance Java applications.
  • Strong understanding of object-oriented programming principles and design patterns.
  • Ability to translate complex business requirements into technical solutions.
  • Familiarity with containerization technologies like Docker and orchestration tools such as Kubernetes.
  • Knowledge of security best practices and experience implementing secure coding techniques.
  • Experience with performance tuning and optimization of Java applications.
  • Proficient in troubleshooting Big Data pipeline processing.
  • Ability to work independently and collaboratively in a team environment.
  • Strong analytical and problem-solving skills with a proactive mindset.
  • Excellent communication skills with the ability to articulate technical concepts to non-technical stakeholders.
  • Passion for learning and adapting to new technologies and methodologies in the Java ecosystem.