Job Description:
Here at Smartech, we are providing pioneering Marketing and Advertisement Technologies for Businesses.
Join our dynamic team as a Data-Software Engineer! You'll play a crucial role in expanding and refining our data and pipeline architecture, optimizing data flow for cross-functional teams. We're looking for someone passionate about building data pipelines and fine-tuning data systems from the ground up. Collaborating closely with software developers, you'll ensure a consistent and efficient data delivery architecture across all projects. If you're self-directed, thrive in a multifaceted data environment, and relish the chance to reshape our data infrastructure for future products and initiatives, we want to hear from you!
What you will do (Responsibilities):
-
Contribute to all phases of the software development lifecycle: planning, analysis, design, implementation, testing, and maintenance.
-
Help establish and maintain a secure and private environment for our customers' data.
-
Design and maintain optimal and complex data pipeline architecture.
-
Apply creativity to solve problems using best practices.
-
Build analytics tools that utilize the data pipeline to provide actionable insights into customer acquisition, operational efficiency, and other key business performance metrics.
-
Communicate effectively and resolve problems within the big data ecosystem.
-
Please note: These responsibilities may evolve over time to best meet the needs of Smartech's clients and the evolving landscape of our offerings.
Qualifications and Requirements:
-
Bachelor’s/Master’s degree in Computer Science, Engineering, or a related field.
-
3+ years of experience in a similar role.
-
Proficiency in programming with multiple languages: Scala, Java, Kotlin.
-
Demonstrated ability to work with complex streaming technologies such as Akka and SparkStream.
-
Experience with relational SQL and NoSQL databases, including Postgres and Cassandra.
-
Hands-on experience with distributed query engines like SparkSQL/Presto on distributed file systems such as HDFS.
-
Proficiency in Linux environments, containerization, and orchestration tools like Docker and Kubernetes.
-
Familiarity with version control systems such as Git for collaborative development.
-
Strong problem-solving skills and the ability to troubleshoot issues promptly.
-
A passion for staying updated on the latest technologies and industry trends, with a proactive approach to learning and self-improvement.
Ideally, you also:
-
Possess a good understanding of functional programming paradigms.
-
Have experience using any functional programming library such as Cats/ZIO.
-
Demonstrate knowledge of Reactive Architecture principles.
-
Have experience with Spark GraphX, the Akka ecosystem, or Scylla DB.