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 a startup company built from the ground up by the ICEO team. It is an innovative organization where we help entrepreneurs enter the world of Blockchain and Web3. Our customers are companies from the traditional market and blockchain startups that want to create and publish their own token. We are known for offering customized tools for issuing and managing digital tokens. In addition to technology, we have ready-made legal solutions and access to investors and business angels, thanks to which we provide comprehensive support to entrepreneurs and enable them to take their first steps in the world of Web3, DeFi and Metaverse.
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.
Work on a particular microservice is usually done in small teams with a rotating composition. Thanks to this approach, developers constantly share their knowledge and gain more experience. It also supports integration and simplifies the division of responsibilities within the team.
- Technology stack: Scala, Cats, Akka,
- 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:
- Akka (HTTP, Actors, Streams),
- SQL (optimally PostgreSQL),
- understanding of the concept of functional programming (knowledge of Cats),
- understanding of the principles of CI / CD,
- knowledge of debugging, monitoring and optimizing application performance,
- knowledge of the concepts of multithreading and distributed computing,
- good command of written and spoken English.
- knowledge of Java,
- knowledge of NoSQL databases,
- knowledge of Spark,
- knowledge of the Event Sourcing & CQRS pattern,
- knowledge of the Tagless Final pattern,
- knowledge of Akka modules - Cluster, Cluster Sharding, Persistence,
- experience with code instrumentation,
- experience working with Prometheus, Grafana,
- experience working with tools: Jira, Confluence, Bitbucket,
- business understanding of the product,
- knowledge of the cryptocurrency industry,
- experience in developing applications from the FinTech sector,
- interest in blockchain technology.
- 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.