As a software engineer at the client site, you will be working on complex algorithms 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.
A team of about 10 people consisting of a team leader, a Software Architect, a few Senior developers and a few junior Developers.
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. After that is all reviewed you can go ahead and download the code to one of our lithography machines (which vary in price between 5 and 100 million dollars) and test the code.
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 client machine is 40 million lines of code. The client sw teams work in various modes such as optimized waterfall model, Agile and concurrent engineering.
Computer Systems technology stack experience :
Linux services (DNS, DHCP, NTP, SSH, NFS, Telnet, RSyslog),
Linux boot procedure (PXE, DVD, KERNEL, INITRD, INIT-SCRIPTS), VLAN, SerialOverLAN - Console, VNC
Packaging : rpm, yum
Tools : netstat, tcpdump, iperf, lsof
Debugging : valgrind, pylint, gdb, strace
Language : Python, C / C++, BoostLib
Linux App : Collectd, Monit, Logrotate, Systemd