Software engineers develop software to be embedded in IoT devices and application software for network systems.
Design areas include Embedded (software development for control systems to be embedded in machinery and equipment), IT Solution (software development for network systems to be used with PCs, tablet devices, and servers), and Model-Based (upstream processes such as preliminary research based on models as well as requirement definition and design during the development phase in new development projects).
•Engineers involved in software development for electronic control units (ECUs) embedded in automobiles
•Engineers involved in the design and development of advanced driver-assistance systems (ADASs)
•Engineers involved in software development for production process automation systems
•Engineers involved in software development for embedded microcontrollers that control home appliances
•Since our development targets are mainly embedded systems (microcontrollers, OSs, firmware, middleware, etc.), basic knowledge of microcomputers, the C programming language, etc., is essential. In particular, since many embedded systems are programmed using C, development cannot happen without knowing about it.
•Basic knowledge of both hardware and software is essential for product development. In particular, since most of our designs use microcontrollers, code design and data analysis for the design, validation, and evaluation phases are necessary.
•Demand for embedded systems in the technological development of AI and IoT has been increasing in recent years. Thus, knowledge of Python, machine learning, networks, etc., is also necessary.
•Engineers involved in the development of systems for optimizing management efficiency, such as business systems
•Engineers involved in the development of systems for optimizing the efficiency of manufacturing processes for semiconductor manufacturing equipment
•Engineers involved in analysis and service development using big data
•Engineers involved in front-end web system development, as well as server-side development
•Engineers involved in the development of Android apps
•Engineers involved in image processing and the development of object detection functionalities
•Knowledge of data structures and algorithms, object-oriented programming, class diagrams, etc., for creating programs, and sufficient coding ability for their implementation are necessary.
•Probability, statistics, differentiation, integration, linear algebra, and other mathematical knowledge is necessary to comprehend advanced data processing, such as image processing and efficiency optimization due to AI and machine learning
•Knowledge of the structure of the web, security, and databases, as well as, in recent years, the cloud and containers, is necessary for web system development and network-related work.
•The ability to comprehend the workflows, facilities, and environment of each workplace is necessary for work efficiency optimization and management system development.
•Since new technologies and programming languages are developed every day, the ability to research the latest technologies is necessary.
•Engineers involved in upstream processes, such as preliminary research based on models as well as requirement definition and design during the development phase in new development projects
•Engineers involved in the specification, analysis, design, validation, and verification of software and systems equipped with AI functionality, model-based development, and software design
•Engineers involved in simulations to realize functionalities requiring various input information, such as automated driving
•Basic knowledge of model-based development (MBD, UML, DFD, MILS, HILS, etc.) is essential.
•Basic operation of tools used in model-based development (Matlab/Simulink/Stateflow, Enterprise Architect, and SysML) is essential.
•Since model-based development mainly consists of modeling based on control theory, basic knowledge in mathematics and physics is necessary.
•Since demand for model-based development that requires AI-related technologies, such as automated driving, has been increasing in recent years, knowledge of machine learning and deep learning is also necessary.
At our extensive in-house training facilities, new software engineers receive two levels of specialized training: basic training and customized training (practical training).
The trainees will be retrained from scratch, reviewing what they learned in school.
This practical training curriculum involves focusing on how to apply the knowledge learned in school to actual development work.
This training focuses on specific client company operations to provide process-based education that matches the needs of each workplace. The trainees will acquire a wide range of necessary technical skills, from basic to application.
Training curriculum