Discovering the Need for Software Engineering A personal experience Outline • • • • • How I got started in CS Working in Industry Coming to grad school What my research is about Advice Remember… • This is just my opinion • You don’t have to listen to me (yet) because I don’t have a prefix and suffix to my name • My perspective How I got started in CS • • • • • • I like art I like science I like organizing things I like producing things I like being creative My family was into this stuff The ‘brilliant’ plan • Get a BS in Computer Science for the job of ultimate mastery: – I get to produce awesome things! – I get to produce useful things! – My field is not too subjective or too constrained – $$$$$$ – I get to be creative! The ‘brilliant’ plan • Get a BS in Computer Science for the job of ultimate mastery: – I get to produce awesome things! – I get to produce useful things! – My field is not too subjective or too constrained – $$$$$$ – I get to be creative! What happened? • A little background: – Programming is not my favorite thing – I had the ideal job: • • • • Smart, very nice, mostly talented people Small team Worked on a project from end to end Worked with all modern technologies What I didn’t know • 9-5 jobs are not my thing • Commuting in DC area not happening – Metro made it worse • There were lots of problems with our project Software Engineering in Practice • NOT ENOUGH TIME: either for real, or manufactured • People don’t know what they’re doing – Writing bad code – Using tools to avoid thinking – Not understanding their problem – Nothing is organized – Customers looking for developers to have all the answers What are the application problems? • • • • Lack of communication Lack of training Overcomplicating Lack of documentation and standards What are Kinga’s problems • Didn’t like sitting in an office (for the rest of my life) • Creativity was a nice feature, but all the rework to constant disagreement and confusion • Didn’t get to interact with people at a deeper level • Didn’t like working in DC – Then, one lucky day, on the Metro… What is this ‘Software Engineering’ you speak of? • So, apparently, there is a field of CS that addresses these issues? • Now I get to figure out how to fix these problems, and more • Grad school • Much more fulfilling opportunities – I get to do “exactly” what I want So what do I do now? • Software Engineering research – Dependability perspective • Safety critical systems – My perspective: • Communication crisis • Adaptation issues • How do we either make better code, or make better people, and ideally do this at the same time You too, can be a… • Do not avoid taking challenging classes, even if you are not the best at programming • Do have summer internships, for experience, and to see what you like • Do look into research as an undergrad, it’s not as scary as it might sound • Don’t be afraid to change your mind along the way • Do always, in life, have a role model Final Plug…ACM-W! • “The use of computers in modern life is totally ubiquitous,” said Barbara G. Ryder, a professor of computer science at Rutgers University. “So there are niches all over for people who understand what the technology can do and also for people who want to advance the technology.” • From Computer Science Takes Steps to Bring Women to the Fold http://www.nytimes.com/2007/04/17/science/17comp.html?_r=3&pagewanted=1&ei=5087%0A&e m&en=18aa566770fabe45&ex=1176955200&oref=slogin Questions? • Email: kld5r@virginia.edu