Where I work, we're seeing more professionals (operations engineers, production engineers, accountants, geophysicists, scientists, ...) working on developing their own 'applications' for reporting, visualizations and data analytics.<p>I thought it'd be good idea to give a talk about software engineering to help them better understand the tools, architecture, trade-offs, ecosystems and such.<p>Any thoughts on what to include and how to make it more appealing to a wide audience?
Source code control.<p>Code reviews before checkin.<p>Tests. ("What is your objective evidence that it does what you need it to do?")<p>Keeping track of bugs - a bug database, even if somewhat informal.<p>Handling unexpected input. (For these people, "complain and die" may be a valid approach, but don't just continue and produce garbage output.)<p>Discussing a variety of languages, and giving some guidance on when to use each, might be useful.