Software Engineer (Android)
- Gulshan Ave, Dhaka 1212, Bangladesh
- Employees can work remotely
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 10M+ 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, and information security.
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, 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, web development, building core UI frameworks, or equivalent combination of education, training, and experience;
Proficiency in Java, Kotlin, C++ (optional);
Ability to use the Android Studio, including the Android SDK, Emulators with ease;
Deep familiarity with OOP, Android Studio, Gradle, ProGuard and Git, Unit testing;
Familiarity with RESTful APIs to connect Android applications to back-end services;
Deep understanding of android services, thread, intent, broadcast, database, lifecycle, coroutines, work manager, and file/settings/permissions management;
Familiarity with MVVM and other design patterns, cloud message APIs, and push notifications;
Hands-on experience in Material Design, solid design skills, and ability to write efficient, clean, and reusable code;
Experience with third-party libraries and APIs;
Communication is extremely important; our engineers work across every team in the organization. Candidates need to 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.