Senior Software Developer (Backend)
Summary
Backend software developer building, testing, deploying and maintaining IT products in an agile team: writing RESTful services in Java Spring Boot/NodeJS/Scala, working with SQL/NoSQL databases, automating tests and improving continuous delivery.
Job Description (Rod/Sod)
- Works independently with the help of tutorials and documentation
- Works independently with the help of tutorials and documentation
- Shows mastery of several engineering skills (ATDD, analysis, design, test scripting, coding, peer reviewing, etc.)
- Uses his/her technical expertise and experience to contribute to all sprint events (planning, refinements, retrospectives, demos)
- Consults with the team about what is needed to fulfil the functional and non-functional requirements of the IT product to be developed
- Develops IT product, performs unit test in line with the customer's wishes and IT area's internal ambitions and reviews colleagues' IT products.
- Designs, builds and tests IT products (functional, performance, resilience and security tests) and automates them.
- Performs Life Cycle Management (including decommissioning) for IT products under management
- Improves the Continuous Delivery process
- Resolves incidents and problems relating to IT products under management (including stack)
- Sets up the IT environment, deploys the IT product on the IT infrastructure and implements the required changes
- Sets up monitoring of IT product usage by the customer
Required Experience and Skills
- 4-6 years of Experience as a backend developer in common languages and frameworks (Java Spring Boot, NodeJS, etc.), functional programming in Scala
- Deep knowledge of Object-Oriented programing and engineering principles like SOLID
- Significant experience writing and utilizing autonomous services oriented RESTful API services and performance tuning largescale apps
- Experience with database systems, with knowledge of SQL and NoSQL stores (e.g. MySQL, Oracle, MongoDB, Couchbase, etc.)
- Experience integrating with JavaScript frameworks, such as React, Angular JS, etc is a plus
- Ability to write effective unit, integration, and API tests
- Nice to have knowledge of immutable infrastructure, infrastructure automation and provisioning tools
- Strong understanding of Agile methodologies
- Experience as a Developer on a cross-functional agile team preferred
- Strong communication skills with ability to communicate complex technical concepts and align organization on decisions
- Sound problem-solving skills with the ability to quickly process complex information and present it clearly and simply
- Utilizes team collaboration to create innovative solutions efficiently
- Open to learning new ideas outside scope or knowledge