This job listing expired on May 3, 2020
Tweet

Lenovo is the #1 leader in the global PC market and is seeking an engineering lead to contribute to our Device and Cloud offerings. Our agile teams focus on hardware integration, apps, and cloud software to provide an industry leading Device Management, IOT, and Unified Communication platform.

Lenovo’s Advanced Innovation Center is looking for an entrepreneurial, highly self-motivated; execution focused Software Architect that is passionate about Systems and Cloud Software and looking for an opportunity to develop Device Platform that delivers ground breaking Device + Cloud business solutions for our Consumer and Commercial customers.

A successful candidate will thrive in a fast-paced team environment and is passionate about building Software Design and Architecture the 'right' way while teaching that software craftsmanship to others. You are a pragmatic visionary that can understand and translate business and product owner needs into workable software solutions that meet the needs of customers. If you obsess over customers and are a results-oriented software development manager gets excited about building solutions and solving tough technical, operational and business challenges, come join us.

Responsibilities

  • Responsible for software architecture and design of software components for Lenovo's Device (PCs, Unified Communication, IOT) and Cloud Applications.
  • Work closely with the Product Owners, Engineering Managers, and Feature Team Lead to translate overall system architecture and product requirements into well designed and implemented software components.
  • Ensure delivery of high-quality software from your team by setting architecture standards, clean and secured coding practices, utilizing automated unit tests, continuous integration, and code reviews. Take ownership of design and code quality.
  • Translate business and functional requirements into documented user stories, technical tasks, and / or diagrams (sequence, use case, class, etc).
  • Facilitate & lead solution walkthroughs, backlog grooming sessions, and demos of technical specifications, code, and deliverable with other members of the technical team.
  • Provide design leadership to Engineering leads and developers (local and remote) to build and launch successful platform, SDK and custom Cloud hosted solutions.
  • Design and deliver robust, scalable, and secure distributed software systems (device, edge, and cloud).
  • Provide mentor-ship and coaching including constructive code reviews and design guidance to team members.
  • Analyze code performance, debug and optimize projects prior to distribution.
  • Lead troubleshooting sessions with developers as well as customers, as needed.
  • Collaborate with Engineering Managers and Technical Leads to provide input to estimation of work efforts and solution.

Position Requirements:

Minimum Qualification (required Experience And Skills)

  • B.Sc. in Computer Science or related Engineering is required
  • Familiarity with a low-level programming language such as C or C++, and coding/scripting ability in a higher-level language is required.
  • Experience (4-6 years) using C# / .NET / WPF to create front-end applications for Windows.
  • Experience (4-6 years) using Java to create front end applications for Android.
  • Experience interfacing with back-end restful APIs (Restful) is required
  • Experience integrating 3rd party libraries into existing applications.
  • Experience with DevOps practices and supporting tools.
  • Experience in Agile/Lean development methodologies.
  • Experience with automated testing frameworks
  • Experience working on a large code base using multiple languages and frameworks to implement new scenarios.
  • Willingness to working with distributed & remote teams.
  • Understanding of computer networking and the Internet Protocol Suite.
  • Understanding of Windows architecture (apps, service, drivers, etc) and Cloud Application design (micro-services, container, container orchestrator, etc)
  • Experience with CI/CD process and tools for building, testing and delivering software with quality in a scalable fashion.
  • Proven track-record in software architecture, design, implementation in a developer leadership role.
  • Proven track record of creating high-scalable and available backend service solutions.

Preferred Qualification (highly desired for Software Architect role):

  • A Master’s degree in Computer Science, Electrical Engineering or related fields.
  • 10+ years of proven, hands-on track-record as a software developer in systems and cloud-enabled products.
  • Proven experience and deep understanding of enterprise system architecture patterns including database design, data modeling, scalable design, performance monitoring, tuning, and integration testing.
  • Excellent expertise in object-oriented programming (Java and Python are required) and one or more of Golang, R, SparkML, Scala, and Shell scripting.
  • Experience developing UWP (Universal Windows Platform) apps for Windows 10
  • Experience developing connected apps leveraging Bluetooth, NFC, or other mechanisms
  • Experience working with external or internal customers to implement large-scale distributed systems solutions.
  • Understanding of emerging IoT and Mobile technologies and communications protocols.
  • Strong verbal and written communications skills and ability to interact with multiple teams.

We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, color, sex, age, national origin, religion, sexual orientation, gender identity, status as a veteran, and basis of disability or any other federal, state or local protected class.