Senior Software Developer
We are looking for senior software developers to join our Kronnika team. Main responsibilities will include development of our robotic process automation (RPA) platform components, implementation of platform interfaces and creating RPA library items. We would be happy to welcome you in our team!
We expect you to have knowledge and working experience in the following subjects:
- Minimum 8 years of experience in software development
- Advanced Java and Enterprise knowledge
- Hands-on experience in service development in Spring Boot, Spring Data, Spring MVC
- Familiarity with Spring Cloud (experience is plus)
- Experience on developing RESTful web services, and knowledge on RESTful APIs
- Experience on the unit and test development as well as TDD approach
- Adapting clean code and S.O.L.I.D. principles
- Minimum one additional programming language knowledge (preferably Go, Python, JS)
- Knowledge of the fundamentals of software development and computer science
- Advanced Linux command with software development capabilities
- Detail-oriented and strong communication skills
- Believer of team-work, helping others and seeking help from others when necessary
- For male applicants, completed military obligation or at least 2 years deferral
Having experience in the following will give you an advantage:
- Familiarity with micro-service architecture
- Familiarity or experience with cloud technologies
- Familiarity with containerization and related technologies
- Familiarity on Continuous Integration and Dev Ops concepts and tools
- Up-to-date with new approaches and following opinion leaders
- Passion for coding (and use of Stackoverflow, Github or similar platforms.)
- Code samples of your work on Github or similar platforms
- Familiarity with front-end technologies
- Project management tools. (e.g. Jira, Trello, Asana, Redmine, Basecamp)
- Agile methodologies
Working with project and application development team:
- Designing and developing projects with the requirements of software architecture
- Intervening in urgent or help-needed situations
- Controlling critical components and their implementation
- Conducting technical analysis and developing architectures for new projects
- Conducting job interviews for technical team hires
- Searching, analyzing and suggesting new technologies or tools
- Integrating all components in the applications
- Designing application tests
- Doing application documentation
- Optimization and maintenance for developed applications (Version updates, code coverage or quality improvements, etc.
- Using and following company’s pre-defined tools and processes.
- Giving support to existing scenarios.
What we offer
- Taking part in projects of various sizes and in different domains.
- Experimenting with various emerging technologies including robotic process automation, machine learning, big data, AI, microservices, cloud applications and so on.
- Practicing software life cycle processes, tools, and techniques through their application.
- Being part of a welcoming team that encourages everyone to share their ideas and communicate clearly, recognizes hard work, and trusts, cares for, and learns from each other while having fun.
- Quality working conditions that ensure excellent employee experience in terms of self and professional development, well-being, inclusion and engagement.