Software Engineer I - Samsung Mobile
- Overland Park, KS
The Software Engineer I will primarily be involved in the design, implementation and launch of one or more non-trivial Android applications on Samsung handsets. These applications make use of one or more network services (such as Email, SMS/MMS, web services API etc.) and interact with one or more apps/frameworks on the handset (such as browser, maps, etc.).
The developer will work closely with other developers to create robust designs. In addition, they will work closely with one or more QA teams (local or remote) to identify, debug and fix production issues. The developer is expected to work hard during production/launch time frames to ensure that handset launches are not delayed.
Duties and Responsibilities:
- Design, implement and test one or more Android applications - using state of the art Android APIs and frameworks.
- Work closely with QA teams to identify and fix any and all bugs that are reported.
- Travel to customer or partner sites to facilitate smooth exchange of information, joint development or integration activities (approximately 3-4 times a year - and each trip lasting about 2 weeks).
- Travel to Korea when needed for design, implementation or integration activities with hardware and firmware teams (approximately 3-4 times a year - each trip lasting about 2 weeks).
- Fluent in Java programming - especially in a mobile or embedded environment. Expertise with object-oriented design and development mandatory; knowledge of common Java “design patterns” are required.
- Expertise with Android APIs - especially in the UI area. Must have developed one or two non-trivial Android applications in the recent past.
- Knowledge of Android frameworks - such as messaging, networking, web services - strongly desired. Candidates with demonstrable expertise in such middleware APIs will be given preference.
- Expertise in fundamentals of computer science - data structures, algorithms, multi-threaded programming, networking concepts is mandatory. Candidates unable to test in these areas will be rejected.
- Self-starter - with ability to independently acquire the knowledge required to succeed in their job.
- Minimally Bachelor’s degree in Computer Science is required; MS CS preferred.