Middle/Senior Java Developer (Java/Big Data Unit)

Remote (Ukraine only) Java Software Developer

Required skills

Java / expert
Agile / strong
SQL/non-SQL / good
English / strong

Are you a Java professional who is thrilled about designing the right architecture for a new client and kicking it off at full scale in production? Are you good at putting a strong team together and leading it towards a project’s success? Are you keen on sharing your knowledge and educating people around you?

If yes, then you are very likely to enjoy this role!

Project

We are not limited to a single project and consider you for several ones. Our department has variety of assignments and key clients operating in different domains which you can choose for yourself. A big advantage of this position is that in Sigma Software you don’t need to pick a single direction of growth once and for all. You will be able to choose whether to work in commercial or internal projects, create the products with startups or work with big enterprises/companies, lead the team or even drive development of the whole Java Unit. You can choose any way of professional growth: be the project Developer, or become the Team Lead, or Architect, or combine them all.

As a part of our team, you will be able to work with various state-of-the art technologies and approaches:

  • Database engines (Cassandra, MongoDB, MariaDB, PostgreSQL, Elasticsearch, Redis, Memcached)
  • Cloud services (AWS, GCP, MS Azure)
  • Messaging/Streaming services (Kafka, ActiveMQ, RabbitMQ, SQS, SNS)
  • Microservice architecture (Kubernetes, Helm)
  • Work on highload projects

We have many people with expertise in different technologies and domains, who are happy to consult the teammates with any issues. Sigma Software highly supports help and growth in both: inside the team and with our customers.

Requirements

  • Solid understanding of the software development process (Code ownership, desire to follow generally accepted processes and practices)
  • At least 4 years of experience in commercial software development
  • Strong knowledge of the mainstream frameworks and libraries
  • Deep understanding of various architecture styles
  • Strong understanding of different programming language paradigms: procedural, OO, functional, declarative (Ability or desire to choose the programming languages and styles depending on the tasks and practicability. We don’t push the particular style, but encourage to use the right tool for the right task.)
  • An understanding of various estimation techniques.
    (PERT, three-point estimation, etc.)
  • Strong understanding of developer testing approaches.
    (Proven practice and desire to write tests, test driven development is welcomed as well as AAA tests.)
  • Solid understanding of data storages both SQL and NoSQL
  • Broad understanding of security concepts
  • Upper-Intermediate level of English

 

Would be a plus:

  • Experience in front-end development using mainstream frameworks and libraries
  • Experience in programming using Python/Kotlin/Scala languages
  • Ability or desire to lead a team

Responsibilities

  • Make technical decisions for projects or products in such a way that they continue being maintainable and extensible; participate in technology audits
  • Share technical knowledge, take ownership, drive initiatives forward, suggest and incorporate improvements into all areas, review and optimize existing solutions
  • Get involved into projects & RnD groups with the possibility to learn new technologies, select the appropriate latest modern technology stack, establish and maintain a sustainable and effective software development process
  • Promote good design principles such as code reuse, modularity, and extensibility and mentor others in these principles
  • Analyze product requirements, design complex features architecture from scratch, select technologies that ideally fit the project needs, implement and test Java applications
  • Perform technical analysis and document the results, initiate quality improvement in coordination with a QA team
  • For Senior position: Play a lead/supervision role for existing Java projects in various domains, designing and building large-scale systems
  • For Senior position: Engage new clients, run discovery phases, support sales activities

WHY US

  • Diversity of Domains & Businesses
  • Variety of technology
  • Health & Legal support
  • Active professional community
  • Continuous education and growing
  • Flexible schedule
  • Remote work
  • Outstanding offices (if you choose it)
  • Sports and community activities

Share this vacancy

apply now

apply now

    Drop your CV here, or
    Supports: DOC, DOCX, PDF, max size 5 Mb