Position: Software Engineer, Mobile
Company: Magic Powered
Experience required: 3y
English level: upper

The core purpose of the Software Engineer role is to develop and deploy high quality software, as part of your product squad. You will also contribute to architectural and design discussions and contribute to the growth of and learning within our team 

**ROLE RESPONSIBILITIES**

● Write code that is clean, highly maintainable and well tested
● Perform effective code reviews
● Improve the codebase, and make suggestions on where we can improve further
● Provide support when production issues occur with products your team owns
● Contribute to product ideas and deliver from start to finish
● Explore new technologies and share your findings with the engineering team
● Contribute to continuous improvement and innovation
● Work in a team with a “team first” mentality

**REQUIRED TECHNICAL SKILLS**

**Essential**

● Experience with Kotlin
● Knowledge of MVC &amp; MVVM
● An excellent understanding of the Android application lifecycle
● Knowledge of material design themes &amp; components
● Understanding of Jetpack architecture components
● General knowledge of pattern designs

**Desired**

● Reactive programming experience (RxJava)
● CI/CD experience
● Backend experience (Java/Kotlin/.Net)
● Understanding of AWS environment and concepts
● Experience in a FinTech organization

**MAJOR COLLABORATORS**

● Your squad of engineers, QA, tech lead and Product Manager
● Other squads as required to solve cross-functional problems
● Principal Architect to ensure solutions map to tech roadmap and strategy