C++ Developer, Amazon Devices And Services

Year    Bangalore, Karnataka, India

Job Description


DESCRIPTION The Amazon Devices org designs and engineers high-profile consumer electronics, including the best-selling Kindle family of products. We have also produced groundbreaking devices like Fire tablets, Fire TV, Amazon Dash, and Amazon Echo. We continually challenge ourselves to innovate in order to deliver highly personalized and relevant content to our millions of customers. As a Software Development Engineer II - You will engage with an experienced cross-disciplinary team to conceive, design and implement software applications innovative consumer products. - Vertically your ownership can span across application software design for features like OTA, device setup, network manager that manages various aspects of system bring up, health monitoring, system resource monitoring, device configuration etc, APIs for northbound and southbound interfaces and so on. - You\'ll be able to do this using C++ as the primary language we use for application development. - You\'ll be working on cutting-edge/ advanced C++ programming language features as defined in C++11 and C++17. - You\'re expected to have a strong knowledge in operating system concepts on Linux like Interprocess communication, multi-threaded concurrent programming, memory management, timers etc. - You should have designed and built complex multi-threaded application software on embedded system platforms, worked on D-BUS APIs, sockets, unit test frameworks to test your software etc. in your previous organisations. - Hands on knowledge on networking stack and application refactoring and developing new applications from ground up will be considered as a strength. - Horizontally you will be given an opportunity to work across multiple devices. You will work closely with the engineering leaders from cross functional teams, technical managers, hardware, operations, application, platform, and quality assurance teams. - You must be responsive, flexible, and able to succeed within an open and collaborative peer environment. The platform team is responsible for the entire firmware related user experience and use cases. This includes delivery and maintenance of an evolving feature rich, high-performance, low-power, stable platform. Key job responsibilities In this role, your responsibilities will include: - Work with cross functional teams to implement technical solutions for desired features and address customer issues. - Contribute to software/ solution design, writing software design and feature specifications, implementing framework components, and build applications for solutions based on business logic. - Implement the right metrics, debug tools and integrate with backend solutions to continuously measure and improve on our solutions. - Implement power management features - Work with teams to improve and tailor existing drivers, stack and applications to our needs. Improve memory footprint, optimize drive, stack and application code. - Work with the hardware team to ensure correct exercising of hardware and software architecture. - Support compliance and certification activities. A day in the life Your work is very hands-on and multi-disciplinary. You will be collaborating in defining and building firmware & system applications and work closely with vendors, engineers and technical leaders. You write documents, carry out experiments, demonstrate proof-of-concepts, build prototypes, and ship sophisticated systems. About the team Our team enjoys a fast paced, highly collaborative environment. To be successful, you will need to be flexible and entrepreneurial. You work on big, creative ideas, and you are hands on with incremental features. You are a true owner \' you care about the customer experience deeply and you care about the long term sustainability of the product just as deep. You create extensible design and easy to maintain solutions with the long term vision in mind. We are open to hiring candidates to work out of one of the following locations: Bangalore, KA, IND BASIC QUALIFICATIONS - 4+ years of non-internship professional software development experience - 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience - Experience programming with at least one software programming language PREFERRED QUALIFICATIONS - 4+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience - Bachelor\'s degree in computer science or equivalent

foundit

Beware of fraud agents! do not pay money to get a job

MNCJobsIndia.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Related Jobs

Job Detail

  • Job Id
    JD3128036
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Bangalore, Karnataka, India
  • Education
    Not mentioned
  • Experience
    Year