Short Description
Lenovo is looking for a technology architect who can collaborate with the testing team to understand and resolve the bugs and contribute to the software development process improvement.Job Description
- As the Technology Architect for CV, you need to design and implement a robust, efficient application involving different complexity of image processing/ Computer Vision technologies, most of the time, these applications will be residing on end device and enable them to monitor and reduce the area of interest and connect & flow the required information to cloud platform.
- Youll be part of a highly dynamic agile software development team and will be involved in the solution design from the conceptual stages through the development cycle and deployments.
- You will also be responsible for the code quality, adherence to delivery schedule, and secured programming practices.
- The focus of this role is more on technical execution. You will be responsible for building applications that may range from desktop applications to native mobile applications and embedded systems.
- Your primary responsibility will be to design and develop these applications and to coordinate with the rest of the team working on different layers of the infrastructure.
- Contribute in technical discussions regarding requirements, implementation adopting best practices/methodologies, platforms for development and support methodology.
- Work closely with Solution managers and other platform architects to translate the requirement from vision to design to execution.
- Understand the business aspect of a problem and translate the same into a design that fits with the intended longterm goals.
- Ensure on-time delivery of solution by managing design, development and integration efforts according to the project plan.
- Estimation and timely implementation of the requirements(s) by developing a modular, high-performance code by adopting best practices.
- Perform code review of junior software engineers/team members for requirements, adherence, robustness, usability, reliability, and performance.
- Assist or mentor junior software engineers/team members technically to meet the schedule.
- Own up the defect-free code delivery of module/solution and provide support during integration/implementation.
- Adherence to the documentation requirements of the assigned module/solution.
- Bug fixing, code optimization.
- Collaborate with testing team to understand and resolve the bugs.
- Contribute to the software development process improvement.
- 10+ years of experience in C++.
- 4+ years of experience in Agile practices
- BE/B. Tech degree in Computer Science or related software engineering field, or equivalent practical experience.
- Experience with object detection, tracking, classification, recognition, scene understanding, facial expression analysis, etc.
- Understanding of Recognition (Face, Gesture)
- Strong understanding of Machine Learning techniques.
- Strong proficiency in C++, C++11, C++14
- Strong working experience on Image processing/ Computer Vision using open source technologies like OpenCV, Halcon, Yolo, Dlib, Conda, TensorFlow, etc
- Experience with GPU programming, CUDA, OpenCL or Graphics APIs.
- Thorough knowledge of the standard library, STL containers, and algorithms, threading, template, Lambda expression, etc
- Experience with LINUX C++ Development environment.
- Experience with Make and MakeFile to build C++ code.
- Good understanding of TCP/IP and other Networking protocol
- Working experience with deploying C++ code on a handheld device.
- Good understanding of the process and memory management
- Firm understanding of OOPS concepts and design patterns.
- Experience with productivity tools like continuous integration and JIRA, Confluence, GIT, etc.
- Working experience of Agile Scrum team as Scrum Member Experience with algorithms/data structures knowledge
- Exposure to a complete software development life cycle.
- Must have worked with a team spread across geographies.
- Should have strong analytical skills and project management
- Exposure to cross-platform development frameworks.
Technology Architect