Software Engineer_Java

Remote /
Full remote in the Czech Republic
Lokation: Czech Republic
Languages: Fluent English and Czech

Level: Senior
Form of cooperation: Contraktor
Start date: 1.8.2024
Allocation: Full-Time - This is an American client, i.e. online until 7pm (15-19 pm available) 
Allocation length: Long term

Project:

  • Our industry is growing and demand is high. This means you’ll have plenty of opportunities to grow and develop in your career. Keeping healthcare healthy can be as fun as it is rewarding.

  • The Senior Software Engineer is responsible to be part of a product delivery team, and be a key contributor to the technical solutions it provides.  They will be developing software solutions in an agile environment, demonstrating exceptional accountability and attention to detail.  The person in this role is expected to demonstrate leadership, with an ability to mentor others in technical expertise.  The position is highly collaborative and requires excellent communication skills as this person will be working with technical team membership, engineering leadership, product team members, support team members, and business stakeholders, to ensure the correct solutions are built.  

Responsibilities of Software Engineers include:

  • Developing software solutions using Java Spring/Spring Boot, Vue.js, Node.js, and Salesforce (Apex, VisualForce, Lightning)
  • Software craftsmanship is expected to be of high quality, incorporating the latest features of the preferred frameworks, and conforming to the best practices of Object-Oriented Programming and Functional Programming paradigms.  Applications must be scalable and performant, based upon business needs.
  • Software solutions must conform to the architectural principles outlined by the Enterprise Architecture team, including Microservices and Event Driven Architecture (the current specific technology used is Kafka)
  • Software solutions must be built such that they can be deployed as containerized applications, from a CI/CD Pipeline (Continuous Integration/Continuous Deployment) to cloud service providers (the current specific technologies used include Docker, Kubernetes, AWS, and Heroku)
  • Maintaining the CI/CD Pipeline, including automated test frameworks (unit tests, integration tests, functional tests, UI tests)
  • Software Engineers will be organizing data into normalized storage structures, and developing systems that efficiently perform CRUD operations (specific RDMS include MySQL, PostgreSQL, MS SQL Server, and graph database technologies including Neo4J and Graphileon)
  • Software Engineers will also be required to maintain legacy software systems developed with older versions of Java, Spring, Node.js, Angular, and others

Minimum Qualifications:

  • Bachelors degree (or higher) in Computer Science or related discipline
  • 5-7 years practical experience developing software solutions in a professional environment
  • Mastery of an object oriented language (preferably Java – Spring/Springboot)
  • Mastery of a modern scripted language (preferably Javascript)
  • Mastery of 1 or more web application frameworks (preferably Spring MVC, Spring Boot)
  • Mastery of database query languages (SQL)
  • Mastery of software development lifecycle and version control system (preferably GIT)
  • Mastery of Agile development practices

Preferred Qualifications:

  • Postgraduate degree in Computer Science or related discipline
  • Familiarity with other database technologies, including Graph, Big Data, NoSQL
  • Proficient in Front-end frameworks (HTML5, CSS3, Angular, React, Vue.js)
  • Proficient with Salesforce (Classic and Lightning)
  • Experience with DevOps (CI/CD, TDD, Automated testing)
  • Proficient with automated testing frameworks and tools (Jasmine/Jest, Junit, WebDriver.IO)
  • Familiarity with cloud computing technologies (preferably AWS, Kubernetes, Kafka)
  • Knowledge of core security principles
  • Excellent communication skills, attention to detail, and an ability to teach others