<aside>
💡 Interested in Cross-Platform App Development?
Sublime (like the text editor). You’re in the right place :)
</aside>
We are a software company. Code is what we live and breathe.
But being a platform software engineer at TeraThought is so much more than writing code. It’s about creativity, solving problems, your left and right brain working together. It’s about spreading your wings beyond development and collaborating with other teams. It’s about having the courage to stay at the bleeding edge of technology, not merely keeping up with the industry standard of today, but trailblazing what it will be tomorrow.
What You’ll Do
- Leverage Kotlin Multiplatform to write cross-platform code that can be deployed to iOS and Android clients, matching native performance
- Work in an agile and cross-functional scrum team with other developers and a project manager, following the scrum methodology
- Build and test “Models” - modules of business logic that enable the core functionality of the app
- Connect Models to our in-house Enchant libraries and other third party APIs (Stripe, Twilio, etc.)
- Build and test ViewModels - architecture modules that coordinate user interactions with Models
- Establish multi-platform resources such as shared theming and string/error codes for reuse
- Make database design decisions, influencing the way in which our app stores data and interacts with that data
- Write Firebase cloud functions to handle events in real time and connect to APIs
What You’ll Learn
- Multiplatform Mobile App Development
- Android Studio and IntelliJ IDEA - IDE
- Kotlin - Programming language
- Kotlin Multiplatform - bleeding edge multi-platform framework
- MVVM (Model-View-ViewModel) architecture
- Developing standalone ViewModels and Models
- Writing integration tests for ViewModels - testing mock user interactions without needing a UI
- Connecting ViewModels to Models
- Connecting Models to Enchant library and 3rd party APIs
- Firebase server-less backend
- Firestore - NoSQL database
- Firebase Functions - real-time cloud-based functions
- Agile Development and the Scrum Methodology - working in a scrum team
- Git Version Control and its usage in a collaborative, fast-paced environment
- A little bit of every other role too! It’s natural in a startup environment - you get a really well rounded perspective on the entire product development lifecycle