Job Id : 3727
Posted : 2021-11-09
Employment Type : Full Time, Permanent
Required Skills : Japanese1, English2, Databse, java j2ee scripts, C++, Python, Linux, trouble shooting, debug , UML, NoSQL , RDBMS , Hadoop, Scala
City : Shibuya-ku, Jingumae
State : Tokyo
Country : Japan
Annual Salary : ￥6,000,000 ~ ￥8,000,000
Software Engineer, Data Platform
About the position
The data platform software engineer in the organization plays a key role in accelerating the products/business developments. Great efforts are paid to building a highly efficient and flexible data service for analytical and operational purposes.
To serve the internal users from analytics and product-dev teams, the goal and mission of data engineers are to create high-level, easy-to-use data services for simplifying the accessing, integration and consolidation of various data sets, and also building the platforms for executing tasks processing massive data in terms of TB per day.
Technology drives the growth of Company, and thus we eagerly adopting cutting-edge technologies from the industry and academia especially, the open-source community.
- Design and develop new services, libraries, tools, frameworks for data processing or management, and investigate new algorithms to increase efficiency for Data Processing, such as ETL, Data Pipelines, OLAP DBMS, real-time messages and streams processing, data-sync between systems, etc.
- Do performance evaluation, monitoring and tuning of the data processing procedures or platforms, get insights into efficiency and stabilizability and make continuous improvement, such as optimizing distributed query engines, computing resource management and isolation, multi-tier storage systems, etc.
- Own and maintain the key data processing portfolios such as building and taking care of the environment, trouble-shooting and being responsible for the on-call of incidents.
- Work closely with data architecting/modeling roles to understand ways to implement the data service, and interact with the Site Reliability Engineering (SRE) team to deploy the environments and drive production excellence.
- Diagnose and resolve complex technical challenges for data accessing or processing. Using elegant and systematic rather than ad-hoc methods to help other teams tuning the performance and improving stability.
- BS/MS degree in computer science or equivalent science/engineering degree with 5 or more years of experience
- Strong Programming skills and experiences with a deep understanding of data structures and algorithms are required for building efficient and stable solutions
- Rich experiences with one or more programming languages such as Java, Scala, C++ or Python; familiar with agile development and manage testing skills
- Need certain knowledge on shell scripts and operating systems, especially on Linux
- Good understanding of modern big data technologies and ecosystems
- Familiar with Hadoop, Spark, Hive, Presto, Storm or Flink, be able to develop data processing programs with them in batch or a streaming manner
- Familiar with modern data stores either RDBMS or NoSQL stores (such as HBase, Cassandra or Druid, etc); have experiences on developing application or function-extensions on such data stores
- Be able to implement and tune complicated heavy-lifting data flows (ETLs or pipelines), familiar with certain toolings
- The capability of system design with good modularity and extensibility
- Familiar with system/module design methods and toolings such as UML
- Be able to draft the user-understandable blueprint and precise, detailed designs
- Experience of building highly scalable distributed systems
- Able to design and implement distributed services with scalability and performance in mind
- Able to debug and troubleshooting performance and reliability problems