Required Skills: Embedded Design, C or C++ (C is the primary lanugage), UML Design or Factory Pattern Design, Linux, RTOS system of any kind, CS Degree or EE Degree (3.5GPA or higher or 75% or Higher or 7/10 or Higher with degrees world wide).
Experience & Skills
-A passion for programming and software engineering
-Minimum 10 years C/C++ programming experiences, with an emphasis on embedded system programming
-Minimum 5 years Unix programming experiences, preferably on Solaris or Linux
-Experience or proven ability in computational algorithms
-Experience or proven ability in technical specifications
-Experience or proven ability in designing complex software architecture
-Experience in Python, is a plus
-Experience in ClearCase, is a plus
-Excellent leadership skills
-People naturally gravitate towards you as a go-to guy
-You are not afraid to speak up about concerns you have
-You are somebody who also takes action to get issues resolved quickly.
-Excellent problem-solving and analytical skills
-Excellent communication skills
As a Software Architect, you will be in the lead for developing the software for a piece of hardware. This means you will have to go after the requirements by for example talking to system engineers and electrical engineers. You will be responsible for the software system design, the work break down, effort estimate and risk assessment. Also you will lead the implementation and be guiding and mentoring about 5 other sw engineers. You are expected to show a strong leadership to make sure the software is delivered on time with high quality.
The software you will be working on is related to robotics, image processing, complex algorithms, GUI and application software. You will be working with electrical engineers, mechatronic engineers and system engineers to define the software requirements. After that you will be making a software design and document it using UML. All this is discussed and reviewed with your software team. After your sw design is approved you are responsible for implementing the design in C for existing modules and C++ for new modules.
A single module is roughly a 100.000 lines of code. Auto and unit testers are written in Python. During the testing you will collect the necessary data so you can write a test report. This test report is then reviewed and when it is approved your software will be released. In a matter of days our customers will now be running with your software. The development environment is Red Hat Linux, execution environment is Wind River Linux. The software release driving a machine is 60 million lines of code. SW teams work in various modes such as optimized waterfall model, Agile and concurrent engineering.- provided by Dice Embedded Design, C or C++, UML Design or Factory Pattern Design, Linux, RTOS,