What you will do:
Design, develop, and maintain high-quality software solutions to support the software development lifecycle. Collaborate with internal teams to understand their workflow, pain points and identify opportunities to improve our services. Implement and optimize build pipelines, ensuring scalability, reliability, and performance. Troubleshoot and resolve issues, providing timely support to development teams. Stay current with industry best practices and tools, continuous integration, and delivery. Contribute to the software development life cycle, including design, implementation, testing, deployment and maintenance
What you will need:
Bachelor's degree in Computer Science, Software Engineering, or a related field. Background in Java. Solid understanding of design patterns, object-oriented design and best practices for creating maintainable and scalable software systems. Strong communication and collaboration skills, with the ability to work effectively in a cross-functional team environment. Knowledge of version control systems, preferably Git. Excellent problem-solving skills and the ability to troubleshoot complex technical issues. Familiarity with cloud service providers (e.g.: Azure, AWS, GCP) is a plus. Experience with CI/CD and build tools is a plus.
Nice to have:
Proficiency in languages like Python (pandas, NumPy, scikit-learn), R, or Scala. Experience with SQL for querying databases. Hands-on experience building, training, and deploying machine learning models. Familiarity with techniques such as supervised and unsupervised learning, deep learning, reinforcement learning, and natural language processing (NLP). Proficiency with Git for version control and familiarity with project management tools like JIRA or Confluence. Familiarity with Spark, Kafka or Hadoop for processing large datasets.