Tailor-made training for embedded systems developers.
Test-Driven Development, TDD, is a practice that has an unusually high ROI, when applied correctly. This is even more true when it comes to embedded systems than for enterprise systems, since updates and recalls are very expensive and painful.
This course is tailor-made for embedded systems developers, who want to add Acceptance Test-Driven Development (ATDD), Behaviour-Driven Development (BDD) and Test-Driven Development to their development process. There are many TDD courses available today, and we have given many in the past, but they are targeted towards people developing desktop applications and backend systems, and does not deal with the special environment that developers of embedded systems face.
You will work with actual hardware and learn how to drive development using acceptance tests and to develop high quality code faster - even long before the hardware is ready. You will learn how to prioritize features and develop the software iteratively in order to be able to release early and often.
During the course you will develop a fully functional, internet enabled device connected to physical sensors and actuators. You will first develop and test the software on the workstation, then deploy to an evaluation board and finally run the resulting software on the fully fledged production hardware.
Among other things you'll learn how to specify and test complex state, asynchronous communication, networking protocols and multitasking in constrained environments.
Niclas is a playing coach, educator and writer with a deep passion for the software development craft. He started working as a developer in 1992 and drawn from experience, he knows that some choices make a significant difference in software development, like languages, tools and processes. He's a productivity junkie, which is the reason behind his affection for things like test- and behaviour-driven development, pair-programming and all sorts of automation.
Jon-Erling is a dedicated developer with a built-in urge to deliver working software. His experience range from small, constrained embedded devices to high-performance, low-latency server systems. Jon-Erling enjoys new technology and try as much as he can to adopt it quickly, and due to this curiosity and open mind to what tools are appropriate in any given context, he works fluently in many programming languages and environments.