Software Engineer (Android)
Portonics is a team of technology consultants that specialize in application design, software & mobile application development. Our goal is to help clients understand and make full use of digital technology that can heighten brand awareness and lead to better business.
We are a diverse team of engineers, analysts, solution architects working on the latest technologies, and running a wide range of projects from business-critical applications to applications serving a large number of customers daily.
We build and manage in-house, client products, and end-to-end services locally and globally. Services include server management, software management, networking, development, deployments, information security and consultancy.
We are an agile team who are very passionate about what we build. We design solutions to reduce/automate operations. Along with building custom solutions, we leverage open source technologies. Our teams build, manage, and automate monitoring systems, alerting, and deployments.
As a digital transformation team, we are big on Dev, DevOps culture, and collaboration.
ABOUT THIS POSITION
We are searching for a brilliant, flexible Android Developer to create novel apps that meet the needs of our clients and the end users. To this end, the Android Developer's responsibilities include writing and proofreading code, liaising with team members within and outside of their department, and monitoring client' feedback. Over time, you will also be required to create app updates.
To ensure success as an Android Developer, you should demonstrate proficiency in one of the mainstream programming languages, and a sound understanding of the traditional product life cycle. An exceptional Android Developer will be fearless but respectful in the pursuit of excellence, continually striving to shape the ways in which Android apps impact the world around us.
If you have the ability to learn and adapt to new technologies quickly then the below applies to you:
- A self-starter and self-directed once the strategy, architecture, and roadmap are aligned;
- Design and build advanced native applications for the android platform;
- Conceptualizing and formulating apps that are suitable for use on all types of Android devices;
- Implementing measures to safeguard users' data;
- Proofreading your code and correcting mistakes before each app is released;
- Collaborating with UI and UX Designers, as well as Software Testers, to ensure that each app is presentable and in perfect working order;
- Monitoring app reviews to detect areas for improvement;
- Able to find opportunities to add value and execute solutions;
- Creating app updates, including bug fixes and additional features, for release.
- Maintain awareness of technology trends and issues and apply that knowledge to app development;
- Participate in end to end product life cycle: confirming requirements, solution design, development, testing, and implementation;
- Work with team members to design solutions that are supported by the architecture of the existing systems;
- Resolve complex technical issues and drive innovation;
- Take ownership of your work through all phases;
- Bachelor's Degree in Computer Science or related field; with 3+ years industry experience including full-stack native android platform, flutter, web development, building core UI frameworks, or equivalent combination of education, training, and experience;
- Proficiency in Kotlin;
- Ability to use the Android Studio, including the Android SDK, Emulators with ease;
- Deep understanding of OOP, android lifecycle & coroutines.
- Familiarity with RESTful APIs for connecting Android applications with back-end services;
- Clear understanding of android services, thread, intent, broadcast, database, and file/settings/permissions management;
- Experience with MVVM architectural patterns and other software design patterns.
- Hands-on experience in Material Design, solid design skills, and ability to write efficient, clean, and reusable code;
- Experience with Jetpack libraries such as Navigation component, Room, work manager, LiveData, and ViewModel.
- Working experience with Firebase services like Crashlytics, Performance Monitoring, Cloud Messaging (FCM) & Cloud Storage.
- Experience with Huawei mobile services (HMS) integration.
- Proficient with Git, Gradle & ProGuard scripts.
- Experience with writing units and instrumented tests.
- Experience with third-party libraries/SDK integration.
Good to have:
- Professional experience in cross-platform application development using Flutter.
- Working experience regarding design and implementation of user interfaces using Jetpack Compose.
- Familiarity with RxJava/RxAndroid.
- Experience regarding gRPC/GraphQL based api service integration with android apps.
- Experience with Android Automated Testing Frameworks like Appium etc.
- Familiarity with Google play console.
- Familiarity with postman.
- Communication skill is very important for this role; our engineers work across every team in the organization. Applicants should be able to communicate not only with other developers but also with management, non-tech team members & external parties.
- Someone who will take ownership of a feature or application from initial conception through release while also assisting others when the need arises.
- Have an understanding of virtualization and containerization as a tool for growing scalability, reliability, and expediency.
- Ability to learn and teach new technologies and skills as new technology is introduced.
- Sound mature judgment and decision-making ability.
- Strong analytical and problem-solving skills.
- We are looking for honest, dedicated, and responsible individuals.