Software Engineer (Java)

  • Silvair
  • Krakow
  • Any contract
  • 19.03.2019

Requirements

Experience level: Mid

Essential job requirements:

  • curiosity of how things work across a technology stack
  • proficiency in Java (3+ years of experience)
  • being open-minded as to what technologies are used in a project
  • knowledge of design patterns: how & when to apply them (especially in Java)
  • knowledge of how & what to test on what level - we write our tests ourselves
  • tests design & development (unittest/pytest)
  • self-reliance in everyday work

 

Nice to have:

  • basic knowledge of other programming languages (such as Python, Go, Node.JS) or readiness to learn them
  • BDD experience (we use behave framework for some of our tests)
  • Linux proficiency
  • knowledge of CI tools (we use Jenkins)
  • Docker proficiency
  • AWS proficiency
  • knowledge of web technologies (HTML/CSS) & frameworks (Angular.js)

Technologies

Necessary on this position:
  • Java

Project you can join

Overview (important):

Cloud and edge computing play a pivotal role in the IoT. Among the applications of the cloud and edge computing architecture, there are two areas that we at Silvair find the most interesting. The first is the ability to provide over-the-air updates, which became a critical driver of the IoT’s success. To send out OTA firmware updates, you need a platform that can interface with microprocessors and local software on IoT devices. Similarly intriguing is the second area that is remote monitoring & management of the IoT devices. A platform needs to provide an insight into data coming from a large number of network devices. Apart from the fact that it allows to easily manage these devices, it provides information that can be later used for multiple applications. Both areas require a software architecture which takes into account a complex ecosystem of cloud computing, edge, and the IoT. Doing it properly is challenging and requires out-of-the-box thinking. 

So if you are willing to work across cloud and edge computing boundaries, expand your knowledge of the IoT and work on the team that designs, develops and delivers solutions for complex problems, then this job is for you! We are using the latest available frameworks to speed up our development process and, what is more important, to constantly expand our knowledge about the IT technologies. As our platform is fully integrated with the cloud computing environment using virtualization containers, the job will offer many opportunities to learn technologies such as Docker and AWS. We also believe that high-quality code is the only way to get a great final product, so we are investing our time into Continuous Integration with unit testing and static code analysis tools. 

Responsibilities:

  • design new features and new modules of our software distribution platform, monitoring & management portal and edge devices
  • develop high-quality clean, reusable & testable code
  • write unit/functional/integration tests of your code
  • deploy and maintain cloud services to AWS
  • take part in solving complex code problems
  • adhere to (but also challenge) coding methodologies, including tests, participate in improvements of the team development process and Continuous Integration environment 

Work time division

Bug fixing
30%
Self-development
20%
Meetings
20%
New features
20%
Documentation
10%

How we code?

  • Version control: Git
  • Style guide
  • Code review
  • Pair programming
  • Static code analysis
  • TDD
  • BDD
  • Code metrics
  • Knowledge database

How we test?

  • Unit tests
  • Integration tests
  • System tests
  • Pentests
  • Performance tests
  • Manual testing
  • Test automation
  • CI

How we manage our projects?

  • Methodology: Scrum
  • Who makes architectural decisions? CTO/team leader/team
  • Who makes technology stack decisions? CTO/team leader/team
  • Project management software: JIRA

Toolset

  • Laptop
  • PC
  • Additional monitor
  • Headphones
  • Personal container
  • phone
  • Freedom to pick your tools
  • Operating system

Work environment

  • Tech supervisor
  • Open space
  • Separate rooms
  • Dress code
  • Flexible working hours

Bonuses

  • Healthcare package
  • Healthcare package for families
  • Cold beverages
  • Hot beverages
  • Fruits
  • Snacks
  • Lunches
  • Conferences
  • Trainings
  • Books
  • Car parking
  • Bicycle parking
  • Shower
  • Chill room
  • Playroom for children
  • Integration events

Contact this employer

Silvair is a Data Controller ...