PicsArt is looking for a talented Java Engineer to join our highly skilled software development team. The ideal candidate is expected to work in a big data infrastructure, determine technical requirements, make architectural decisions, create/design documents, develop and test.
Take on some of the most significant problems in high-performance, scalable analytics;
Work closely with analysts and data scientists to develop data-driven dashboards and systems;
Monitor performance and advise on any necessary infrastructure changes;
Translate application storyboards and use cases into functional applications;
Design, build and maintain efficient, reusable and reliable Java code;
Ensure the best possible performance, quality, responsiveness and scalability of the applications;
Identify bottlenecks and bugs, devise solutions to these problems;
Help maintain code quality, organization, and automatization;
Be ready for unforeseen situations and be able to respond appropriately;
Be available to mentor Junior Engineers on the team.
BS/MA degree in a highly quantitative field or equivalent;
Experience with complex distributed systems and service-oriented architectures;
Experience with big data tech stack (Hadoop, HDFS, HBase, Kafka, Spark, Spark Streaming, Presto, Hive, Drupal, Flume, Samza, Yarn);
Experience with JavaSE with good knowledge of its ecosystems;
Knowledge of concurrency patterns in Java;
Familiar with object-oriented programming;
Familiar with fundamental design principles behind a scalable application;
Build stream-processing systems by using solutions such as Spark-Streaming is a plus;
Knowledge of various ETL techniques and frameworks: such as Flume is a plus;
Experience with Python and Scala is a plus;
Proven track record of leading and delivering large projects independently;
Proven ability and willingness to learn new technologies;
Advanced written and verbal English communication skills.
Concepts of Spring framework, MVC, and RESTful;
Various design and architectural patterns;
Code versioning tools, such as Git;
Build tools such as Maven or Gradle;
JVM, its limitations, weaknesses, and workarounds.