Regular 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 mid-level 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 projects
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. We have daily project meetings held in a lounge format to share knowledge between members of the different projects.
We work on a particular microservice is usually done in small 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:
- developing services according to best practices while maintaining high code quality,
- maintaining services in production,
- supporting in the software development process - research, conceptualization, implementation,
- managing the documentation of solutions,
- working with the other teams including the front-end team,
- QA module testing,
- coordinating work with supervisors,
- attending meetings in a "the daily" format,
- adherence to and implementation of 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 2 years experience in developing and building microservices (REST),
- at least one year of experience working with Scala,
- experience working on projects that have been released to production,
- good knowledge of technologies such as:
- SQL (optimally PostgreSQL),
- message broker (Kafka, Nats),
- knowledge of at least one of the technologies:
- Cats Effect
- familiarity with the concept of functional programming,
- knowledge of debugging, monitoring and optimizing application performance,
- knowledge of the concepts of multithreading and distributed computing,
- understanding of the principles of CI / CD,
- good command of written and spoken English.
- knowledge of stream processing (Akka Streams / FS2 / ZIO Streams)
- experience with NoSQL databases (Cassandra),
- knowledge of Redis,
- knowledge of the event sourcing pattern,
- understanding of the business assumptions of the product,
- experience with code instrumentation,
- experience working with Prometheus, Grafana,
- experience working with tools: Jira, Confluence, Bitbucket,
- experience in developing applications from the FinTech sector,
- Medium Scala Developer — programming, participating in the creation of a product concept and planning its development.
- Senior Scala Developer — programming, participating in the creation of a product concept and planning its development on a senior position.
- Tech Lead — making technological decisions in a particular module, assigning tasks in a team working with a particular module.
- Head of Development — full responsibility for the architecture, the whole life cycle of the system and teamwork in the project. Understanding of business requirements and ability to translate them into architecture. Prioritization of tasks, leading to deliberate build and elimination of technical debt.
Benefits and Perks
- salary PLN 18,000 - 25,000 net - B2B,
- 26 paid days off in case of B2B contract,
- the possibility of employment on the basis of a permanent employment 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 our office in Krakow,
- the opportunity to participate in an internal training program,
- a career path that allows for continual advancement and reaching C-level position,
- participation in business and integration meetings.
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.