Back-End Developer
Location Athens, Greece
A Back-End Developer is a member of an agile software development team responsible for developing new software applications as well as extending existing services. A Back-End Developer actively participates in all phases of the project life cycle from initial concept to final release.
Tasks include:
  • Participate in all phases of the project life cycle including analysis, design, implementation, and unit testing
  • Develop elegant, maintainable, testable, reusable code and libraries for future use following standard code practices
  • Work closely with stakeholders (internal team, clients, 3rd parties) to understand and document software requirements
  • Participate in stand-up meetings with Project Manager(s) to review requests' prioritization and provide feedback on projects' progress
  • Participate in designing of new software components and refactoring old ones, with focus on simplicity and performance
  • Build modern and performant RESTful APIs that will serve clients running on diverse OSes and architectures
  • Diagnose software related issues and resolve or escalate to appropriate internal teams (e.g. software developers, network team, infrastructure team)
  • Execute complex queries to relational databases to export custom reports
  • Produce and maintain technical documentation
  • Keep updated with cutting-edge tech trends and help introduce them where appropriate

  • BSc in Computer Science, Information Systems Management or a related field; MSc degree is desirable
  • 2+ years of experience in developing software applications
  • Very good knowledge of back-end programming languages (e.g. any of Java, Kotlin)
  • Experience with the Spring framework and the corresponding ecosystem (e.g. Spring Boot, Data, Cloud, Security)
  • Experience in relational databases (e.g any of MySQL, PostgreSQL, MSSQL, or Oracle), including data modelling, tweaking indexes, database migrations, and efficient ORM usage
  • Familiarity with any NoSQL data stores such document stores (e.g. MongoDB), key-value stores (e.g. Redis), time-series DBs (e.g. TimescaleDB, Druid), search engines (e.g. Elasticsearch)
  • Familiarity with recurring themes in web application development, such as: RESTful API design, http protocol details, caching
  • Knowledge of source control management systems (e.g. Git)
  • Ability to maintain and debug services in Linux Servers
  • Understanding of full stack web and mobile application development processes
  • Ability to work efficiently both on own initiative and within a team
  • Strong analytical, problem-solving and organizational skills
  • Excellent verbal and written skills in Greek and English

  • Readiness to travel to client offices for international projects

  • Competitive compensation package
  • Modern working environment
  • Work-from-Home philosophy
  • Training programs & certifications