Technology is woven into all of R/GA’s offerings, from consulting to marketing innovation, to product and service co-creation and R/GA Ventures. The department operates as a horizontal across the R/GA global network, affording clients and partners scale and flexibility in tapping into diverse talent. The department is broadly focussed on software solutions, from mobile and web apps to advanced analytics and machine learning, to marketing and commerce platforms, across both B2B and B2C channels. Inherent in the process is deep expertise in the Software Development Life Cycle, including DevOps, Continuous Integration, and Continuous Delivery, Product Development methodologies, the foundational ingredients in successful digital transformation, and client partnership.
As a Mobile Engineer at R/GA, you work with other mobile engineers, Solutions Architects, QA Engineers, Experience Designers, and Project Managers to realize sophisticated Mobile products that create real business value for brands. You are able to understand how mobile features should best be experienced and map that to modern engineering best practices to deliver high-quality mobile applications that offer a premium experience. You are able to creatively problem-solve and are open to new and innovative ways to bring new products to life while also building robust apps that can scale for the enterprise.
Here’s what you should know if you want to be a Senior Software Engineer, Android Developer at R/GA:
On any given day you might
- Contribute to the overall product vision.
- Work with UX and experience designers to scope out the feasibility of features.
- Participate in architecture discussions and write supporting documentation.
- Guide Tech Lead’s estimates on various mobile tasks and features.
- Build innovative user interfaces.
- Develop API contracts in coordination with backend engineers to support a mobile application.
- Integrate web services and social platforms (REST, XML, JSON, OAuth2, Facebook, Twitter)
- Develop connected/contextual experiences that integrate with built-in hardware capabilities (NFC, Bluetooth, Geolocation, Camera, and others)
- Utilize your debugging skills to solve challenging problems in a fast-paced environment.
- Code review fellow team members contributed code via pull requests.
The ideal person
- Is highly collaborative and communicates openly with other team members to share ideas and problem solve.
- Has experience working with Android Studio
- Possesses a fairly advanced understanding of Kotlin and Java.
- Has a strong understanding of object-oriented programming and design patterns.
- Consistently keeps up with the latest innovations in the Android ecosystem.
- Has a passion for product quality and strong attention to detail.
- Has excellent communication skills.
- Has experience working with agile methodologies.
- Has experience working with, and debugging functional reactive code such as RxJava, KotlinFlow.
- Has a firm understanding of multithreaded code and how to debug it.
- Has experience designing and implementing pixel-perfect user interfaces
- Can articulate the cost-benefit analysis of various development approaches to senior leadership.
- Has experience working with CI/CD pipelines, and can express the Android team needs with DevOps engineers.
- Has performance analysis and tuning experience including memory usage, CPU utilization, and leak checking.
- Is comfortable navigating ambiguity around feature requirements and facilitating better clarity through prototypes and proof of concepts.
- Has a passion for learning new technologies.
- 5+ years of overall programming experience and a strong interest in the mobile applications space
- 4+ years of experience with the Android SDK
- A solid understanding of Android Design Systems.
- Strong knowledge of Android platforms and tools.
- A deep understanding of modern Android architecture patterns.
- Experience working with Kotlin in a large scale application.
- Experience working with Reactive programming
- Experience working in an Agile environment.
- The ability to accurately analyze and estimate tasks assigned to you in a given sprint.
- Have played a role in developing, submitting, and launching Android applications in the past.
- You have used Google Architecture Components in a project.
- Agency experience.
- You have any experience or knowledge working with Swift and the iOS SDK as your native mobile counterpart
- Solid understanding of API design and contract definition
- Backend development experience.
- You are passionate about writing clean code.
- You have experience working with geolocation and geofencing.
- You have experience with real-time messaging.
- Solid understanding of test-driven development.
- If you can share coding examples or applications developed by you at the Google Play Store.
- Experience working with Lottie.