Senior Scala Developer
ICEO has been building innovative startups in Blockchain, Fintech and Big Data for more than 10 years. We are a venture builder with experience founding companies that succeed in the marketplace. Forbes and Newsweek have written about our projects.
About the role
Due to our development plans, we are looking for a programmer for a senior Scala developer position, who will complement our development team working on the Norion blockchain solution.
A developer's job at ICEO is an opportunity to work with a team of professionals - from other developers to DevOps! Moreover, the work of a developer in our company consists not only of programming, but also of active participation in creating the product concept, planning its development and choosing the technologies used.
We organize internal trainings on the technologies we use, where developers with more experience share their knowledge with the rest of the team.
ICEO also offers the opportunity to develop towards leadership. If you become a member of our team, you will have the opportunity to work as a Tech Lead and advance to the position of CTO for a new product!
About the project
Norion is an innovative lab that combines technology, business and legal expertise to create pioneering and comprehensive tokenization ecosystems. Norion’s mission is to support customers in transferring value to the digital world and navigating the Web 3.0, DeFi and Metaverse space. Customers can benefit from Norion’s experience, proven practices and technologies, which unlocks the opportunity to efficiently build robust business models, drive long-term growth, engage communities, and to utilize tokens to their full potential.
AdmiTrade is a company focusing on various aspects of cryptocurrency trading. Expertise in technology, blockchain and capital markets has enabled the creation of an algorithmic trading platform operating on centralized and decentralized cryptocurrency exchanges. With the use of developed tools, AdmiTrade also delivers services such as Market Making, liquidity provision and token animation.
We work according to the Kanban method.
Daily project meetings are held in a lounge format to share knowledge between members of the different projects.
We work on a particular microservice in teams of at least two people.
- Programming language: Scala
- Communication: Slack, Discord
- Workflow management: Jira
- Documentation: Confluence
- Repository: Bitbucket
- Monitoring: Grafana, Kibana
- Infrastructure: Docker, Kubernetes, Microservices, GCP
Your responsibilities will include:
- website development following best practices while maintaining high code quality,
- maintenance of products in production,
- participating in the software development process - research, concept development, implementation,
- developing of documentation of solutions,
- collaborating with the front-end team,
- collaborating with the product team,
- QA at the module test level,
- coordinating of work with supervisors,
- participating in daily meetings and planning,
- following and implementing best practices,
- reviewing the work of other developers,
- conducting training for other developers.
What we expect from you:
- very good knowledge of Scala
- at least 4 years of experience in developing and building microservices (REST, WS),
- at least 2 years of experience working with Scala,
- experience working on projects that have been released to production,
- good knowledge of the technology:
- SQL (optimally PostgreSQL),
- Message broker (Kafka, Nats),
- good knowledge of one of the following technologies:
- Cats Effect
- understanding of the concept of functional programming,
- knowledge of stream processing (Akka Streams / FS2 / ZIO Streams)
- experience with code instrumentation (metrics)
- knowledge of debugging, monitoring and optimizing application performance,
- understanding of the principles of CI / CD,
- knowledge of the concepts of multithreading and distributed computing,
- good command of written and spoken English.
- knowledge of NoSQL databases (Cassandra)
- knowledge of Redis,
- knowledge of the Event Sourcing & CQRS pattern,
- knowledge of the Tagless Final pattern,
- experience working with Prometheus, Grafana,
- knowledge of Akka modules - Cluster, Cluster Sharding, Persistence,
- business understanding of the product,
- knowledge of the cryptocurrency industry,
- experience in developing applications from the FinTech sector,
- experience working with tools: Jira, Confluence, Bitbucket,
- Senior Scala Developer - programming, participating in the creation of a product concept and planning its development.
- Tech Lead — making technological decisions in a particular module, assigning tasks in a team working on a particular module.
- Head of Development - full responsibility for the architecture, the whole life cycle of the system and the work of the team in the project. An understanding of business requirements and the ability to translate them into architecture is a must for this position. Prioritization of tasks leading to the creation of a product and elimination of technical debt is also required.
Benefits and perks:
- salary PLN 25,000 - 30,000 net - B2B
- 26 paid days off in case of B2B contract,
- Medicover Premium private medical care package,
- MultiSport Plus package,
- equipment - desktop computer / laptop, monitors and office accessories,
- full-time employment,
- the possibility of adjusting working hours,
- work in remote mode or from pur office in Kraków or Poznań,
- the opportunity to participate in an internal training program,
- participation in business and integration meetings,
- work in an atmosphere of innovation, in a multidisciplinary team of professionals.
Our hiring process consists of a maximum of two stages.
Introductory meeting, where we will introduce you to our company and Venture Builder's approach. We will tell you about our goals, our team, the projects we have worked on, and those currently in progress. At this stage, we would like to know your current situation regarding a job change, your financial expectations, and your preferred form of employment.
- Technical interview, where we would like to learn more about your experience. We will ask you some questions about software architecture, best practices, and your knowledge of specific tools.
*Optional Stage II:
Technical assignment followed by discussion. This phase occurs sporadically. As part of the hiring process, we may ask you to perform and discuss a short technical task closely related to the skills required for this position.