As a Senior Android Application Developer, you will take complete ownership of the company's Android application. This application allows students, faculty, and enterprise knowledge workers to record and consume videos on their Android handsets. The app aspires to provide a first class experience for using the company's industry leading video search capability, allowing users to instantly find just the right moments even in very lengthy videos. Your work will be the primary point of contact between users and the company's ecosystem of software and services. In this role you will:
- Write excellent code in Java that follows best practices and is easily maintainable with elegant code factoring and clean technical design.
- Build excellent UX that is consistent with the company's brand and ecosystem, but adapted to the Android platform.
- Become an expert in the existing codebase, seamlessly weaving new code into old code to enable new functionality.
- Become an expert with our product and services, providing feedback and guidance on what should be built, not just how it should be built.
- Learn the Server API surface area, allowing you to do a great job connecting the client app to the rest of our ecosystem.
- Envision and implement new features that light up important functionality for our Mac customers.
- Improve app quality and performance by fixing bugs, improving diagnostics and metrics, investigating customer-reported bugs, and listening to customer feedback.
- Collaborate with your peers working on the iOS app and web services to design and enhance the overall product offering.
- Clearly and concisely communicate plans, progress, and status to your stakeholders.
- Help define key customer experience metrics and work to measure and improve them over a series of releases.
You have a strong track record as a senior Android developer, responsible for building and shipping customer-facing software features and UX.
- Your product is appreciated by customers for its dependability; your customers would say they have a high degree of trust in your product.
- You naturally take ownership when you encounter a problem.
- You thrive in an environment with ambiguity - asking the right questions to bring order out of chaos and spread that order to your peers.
- You aren’t afraid to think big when establishing vision, but you know how to develop a plan in steps that delivers incremental value without boiling the ocean.
- You are highly motivated to move quickly, but you insist on high standards and delivering great results. You are thoughtfully and positively critical of your own work, always looking for ways to improve.
- You are exceptionally well organized, allowing you to manage multiple projects simultaneously.
- You can clearly and concisely communicate complex, nuanced ideas both verbally and in written form.
- You have a 4-year degree in a relevant field and 5+ years of experience
Technical expertise requirements:
- Expert in Java and the Android platform, with at least 3 years of industry experience on the platform.
- You are an expert at building UX using standard Android frameworks, patterns, and development tools.
- You have a deep understanding of multi-threaded client software, client-server architecture, service scalability, fault tolerance, error handling, and log-based diagnostics.
- You have a strong working knowledge of data structures, algorithms, and coding patterns for high performance software.
- You have a strong working knowledge of Android build system and test methodologies.
- Bonus: experience working with streaming video.
- Bonus: experience working with audio/video capture and editing software.
- Bonus: experience working with cloud authentication systems