Discovering the Need for Software Engineering A personal experience

advertisement
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
Download