area of preferred concentration
My biggest goal in the field of computer science comes out of the desire to combine two things:- making things that should be accessible, accessible (information accessibility)
- making things that shouldn't be accessible, not accessible (information security)
This means that any information that you reasonably should be able to access should be accessible whenever you might need to access it. It also means that any information that only you should be able to access should not be accessible to those who shouldn't be able to access it.
To a lesser extent, information accessibility means that those in poorer regions should have access to the same tools and information that those in more affluent regions do.
These may or may not be areas of research; I'd be happy working for a company that in some way contributes to these areas. These include companies such as Google, RSA (now part of EMC), Yahoo!, and more.
preferred methods of practice
I'm an avid practitioner of modern software engineering paradigms such as extreme programming and agile methods, when and where appropriate. I prefer working with a unified process, but not one that necessitates documenting every step of the process. I prefer a clean software design and an architecture that is built for the sole purpose of solving the requirements that the software is built to solve.
career goals
After getting my bachelor's degree in computer science, I expect to spend a little time in the trenches, but contributing to design where and when I can. After a year or two, I plan to go back for my master's. Eventually, my goal is to become a software architect or software design consultant. This would allow me to work at a high level with some abstraction, while still requiring me to be able to keep my nose in the weeds when necessary. I think this would allow me to effect the greatest level of change.
preferred technologies
I prefer a high level of abstraction; I was never interested in assembly language or operating systems. I like to focus on the design of an application, and trust that the building blocks underneath perform sufficiently. When it comes to performance, I'd like to be able to optimize the design without having to optimize for a particular operating system or compiler. I've been working in Java for 6 years, and while I'm not attached to it, it's been my language of choice for large applications. I still enjoy smaller scripting-oriented languages like Ruby and JavaScript. I used to like Perl, but I think I've been cured of that. I've used C# enough to know that I'd probably like it if I had the chance to make use of it, and I've heard about Python enough to know that the Python community is rabid, and I might like using it too if I had the chance to make use of it.
