Embedded Software Team Lead (C++)
Company Overview: ICONMA is a consulting firm, that provides professional staffing services and project based solutions for a broad range of Fortune 1000 companies. Our areas of expertise include Information Technology, Accounting/Finance, Engineering, and Professional. ICONMA has a nationwide presence that helps us support our national clients. ICONMA has received numerous awards for delivering outstanding services and providing the highest standards of quality. We recently received the Bridge Award and the Silver Supplier Award from two of our major clients. We provide long and short term opportunities as well as contract to hire and direct hire opportunities. ICONMA offers Paid Vacation, Holidays, Personal Days, Medical and Dental, Life Insurance and 401K. We also have an AFLAC insurance program that allows our consultants to further personalize their coverage with a choice of selections that include long and short term disability, additional term life insurance. We are currently looking to hire for one of our clients. Duration: 3 months with possible contract to hire Description: - Designs embedded software that controls operations of electromechanical subsystems in Company products, provides user interfaces, manages test results and allows product connectivity with other related systems. - Develops real-time embedded programs to control motion-enabled subsystems , allowing these to move and perform various mechanical functions necessary to achieve their purpose of design. - Builds applications that allow user operation of the Company products in a controlled manner. - Coordinates with development project teams from prototype development, through the design phase, to production release. - Participates in development of new product requirements, features and design. - Ensures that end products meet specifications and quality requirements as defined by Company Quality Management System. Primary Duties and Responsibilities: - Will have 3 – 6 direct reports. - Designs embedded software that controls operations of electromechanical subsystems in Company products, manages test results, provides user interfaces for these products and enables their connectivity with other related systems. - Develops real-time embedded programs to control motion-enabled subsystems, allowing these to move and perform various mechanical functions necessary to achieve their purpose of design. Creates designs, configures and codes programs to the design specifications. - Develops, designs, implements and tests algorithms to enable required functions to be performed, taking into account mechanical limitations, system constraints, workflow requirements and other variables. - Builds applications that allow user operation and control of the machines. - Develops tools or applications which allow efficient processing of large datasets for visualization and interpretation, estimating errors, statistical analysis and examining correlations, troubleshooting system behavior and testing algorithm changes or improvements. Tests final products to specifications and ensures that quality requirements are met. - Coordinates with development project teams from design phase through to prototype development and production release. - Participates in development of new product requirements, features and design. - Evaluates field performance of existing software and systems and troubleshoots any problems by investigating root cause of software-related problems, diagnosing faults, reverse-engineering existing code - Specifies, implements and tests modifications to existing software. - Creates design, release and other related software/system documentation, utilizing vendor-supplied documentation as needed. - Actively supports software engineering functional excellence objectives. - Adheres to and models the Client Purpose & Guiding Principles. - Performs other duties as required. Required Skills: - 7+ years developing real-time embedded object-oriented software using UML and C++, in a Unix/Linux environment , preferably targeting electromechanical systems. Medical devices preferred. - Assigned projects up to high complexity, applying intensive and diversified knowledge of engineering principles and practices in broad areas of assignments. - Integrate new systems and applications into legacy environments , and supports current customers as required to meet business goals. - Uses advanced techniques and the modification and extension of theories, concepts and practices in own field and related disciplines. - Responsible for conceptualization, architecture, design and documentation of complex systems and subsystems. - Works across Company to establish common software development lifecycle. - Possesses strong project and leadership skills. - Makes decisions independently on engineering problems and methods. - Makes proposals to develop infrastructural framework, data model, platform, development tool set and standards for team review and approval. - Advocates for functional excellence and software development process improvements. - Drives multiple simultaneous multi-disciplinary projects to completion. - Able to communicate complex technical software information to peers on cross-functional project teams, management and the lines of business. - Skilled with mathematical and analytical techniques. - Ability to understand complex electromechanical systems design and related issues. - Ability to write macros and generate scripts for scientific visualization and analysis. - Dedication to customer satisfaction in producing highest quality code, product and follow-through support. - Familiar with source level software debugging techniques and related tools. - Familiar with at least one flavor of Unix or Linux. - Ability to code an Object-Oriented design in C++ or Java. - Ability to read and understand existing C++ or Java source code. - Ability to understand UML specifications of software design elements. - Working knowledge of Microsoft desktop environment and analytical tools such as MATLAB, JMP and Structured Query Language (SQL). - Fluency in the English language. - Effective verbal and written communications skills, as both a listener and a speaker. - Ability to work in a team environment as well as individually. - Seeking candidate with good management skills. Education: -Bachelor’s degree in Computer Science or Computer Engineering with 10+ years of related work experience. OR -Masters degree in Computer Science or Computer Engineering with 7+ years of related work experience. OR -Masters degree in a related technical field with 10+ of related work experience. OR -PhD degree in a related technical field with 7+ years of related work experience. Jai Prakash Shukla [mailto:firstname.lastname@example.org]
Related projectsSearch for freelance jobs
can’t wait for more clients
and advertising. Thank you."