This job has expired, please see additional jobs below
Software Architect, M&e
Viacom
New York, NY, United States
Job Details - this job has expired, please see similar jobs below
Overview and Responsibilities
As an Android Software Architect on the M&E team, you’ll help realize its vision by planning and implementing reusable common modular software.
Responsibilities
• Hands on architecture and software development on several Android applications
• Lead engineering efforts on the M&E Android work stream to build Android applications using modern SDK features and patterns
• Work with a team of engineers to develop fast, stable and reliable applications
• Propose architecture and feature improvements and collaborate with various teams to execute projects in a timely manner
• Write testable, readable code in Java
• Translate functional specifications into technical and nonfunctional requirements
• Develop and extend new and existing software frameworks, knowing when to build something new and when to use something already available
• Implement features with product managers, customers, and other engineers from a technical perspective
• Participate in code and design reviews; both reviewing the code of others and having others review his/her code
• Collaborate with Android developers across the company for best practices and code/design reviews in area of specialization
• Mentor and assist more junior developers
• Make recommendations for build vs. buy decisions in concert with peers
• Develop and maintain the coding standards of the platform group
• Follow best practices for Android applications across the organization in TDD, Continuous Integration, and Continuous Delivery
• Native app development using continuous integration and Test Driven Development
• Develop and maintain Music and Entertainment Android coding standards
• Collaborate with other departments and technical teams to develop and enhance creative and efficient approaches to software development
• Creating architecture documents and writing technical specifications
• Create and maintain a technical roadmap that engineering teams will implement
Basic Qualifications
• 6+ years of Android development experience and expert knowledge of the Android SDK and Java
• Understanding and experience with continuous integration and continuous delivery with a desire to automate everything
• Experience working in mid to large size teams
• Capable of analyzing complicated architectures and layouts and translating that analysis into efficient technical strategies and code
• Fully conversant with OOP principles, software development frameworks, and design patterns as well as an understanding of functional programming
• Working knowledge of source control tools: SVN and Git
• Professional and expert knowledge command line interfaces in a UNIX environment
• Capable of working closely with peerlevel developers in Agile teams working in Scrum, Kanban, or other methodologies
• Excellent communication skills
• Commitment to getting results for timesensitive launches, promotions and events
• Maintain an atmosphere of professionalism
• Able to work in a fastpaced team environment and be adaptable to the demands of all levels and types of production duties
Additional Qualifications
• PostSecondary degree (BA, BSc) and or Graduate level (MA, MSc, MFA) or equivalent experience preferred
• Familiar with RxJava
• Familiar with Dagger
• Familiar with Mortar and Flow
• Prior success in hackathons
• You contribute to open source
• Some experience with video/image processing
• Some experience developing games and game frameworks
• Demonstrated interest in machine learning and natural language processing
• Demonstrated interest in exploring data and creating visualizations
• Prior experience with adaptive video streaming technologies, digital advertising platforms, and/or web analytics integration is preferred
• Capable of working closely with, managing or being managed by peerlevel developers in SCRUM or Agile teams
• Commitment to getting results for timesensitive launches, promotions and events
• Capable of understanding business objectives and be able to translate that business logic into technical design
• Able to work in a fastpaced team environment and be adaptable to the demands of all levels and types of production duties
• Willing to take smart technical risks
• Excellent communication skills