<p>Ooof. Where do I start. (I’m DA '10, CSE grad Dec '13, fulltime Software Engineer)</p>
<p>Based purely on
this:
“Yeah I’m much more interested in “tech” than engineering or “the dirty work”. I just assumed one needed a CS degree to get their foot in the door. Actual coding is cool but not something I’m passionate about. I love business/marketing/communications with a technological aspect…I wish I thought more about this before.”
and
this:
"By dirty work I meant things like database work and data structures(engineering) vs more front-end programming like websites and other sub-fields of technology like design and business of technology. This might be a horrible way of differentiating, and might not make any sense…maybe I’m just anxious to actually make applications and stuff vs ‘write a method that takes a stack of integers…’</p>
<p>You either a) don’t actually want to be a developer and so should probably not major in CSE or b) don’t actually understand what a software engineer/developer does. Actually, I think it may be a bit of both.</p>
<p>Let me tell you about what I do at my job. I’m in kinda a weird form of dev - my team works on creating validation (test) automation solutions and using automation to test products. I haven’t written a method that takes a stack of integers to do anything since my freshman year, because once you get past the data structures class you can actually call object methods that do that for you, better than you can (well in data structures you are technically writing methods to do something like that, but you’re also writing the stack too so it’s much more involved - and fun)</p>
<p>And bear in mind, validation automation and infrastructure isn’t for everyone, and mine in particular is an atypical software dev job - my company actually has a physical product so we have different validation needs.</p>
<p>I don’t “design” in the graphical sense, but I do “design” in the software sense - I work to architect software and tools that will be maintainable, functional, and efficient. I create test scripts (the actual test content to be run by the automation system), work on tools to add on to our system, work on the system itself, stuff like that. I’ve only been with this team for a couple months, but that’s generally what I’m working on.</p>
<p>It’s not glamorous. No one outside of my organization will ever see what I do directly. But it’s fun for me. Development, especially validation development, is like a puzzle to me. I try to figure out what the best solution is given what I’m trying to accomplish, what speed goals I have, memory and other restrictions, etc. And yes, I have to decide the best data structure to use, but I don’t implement it myself ;)</p>
<p>Based on your description, it’s 100% dirty work (thanks for that by the way).</p>
<p>I’ve also found that in UW CSE, it’s rare to find a person who both likes frontend/ui AND is good at it (although most people who are actually motivated to develop those skills are pretty good at it). For me, design and front end and graphical anything is like pulling teeth. I don’t like it and I’m not good at it at all. Gimme a command line and some backend to implement though and I’m one happy girl.</p>
<p>If you prefer “business/marketing/communications with a technological aspect” and “front-end programming like websites and other sub-fields of technology like design and business of technology” (bear in mind though that modern websites DEFINITELY have backend too, and it’s very important) to working with software design/architecture and coding (after understanding what a software engineer actually does), don’t go into the CSE dept. You won’t be happy. The department does not have a focus on that at all, and the majority of the department is fine with that. Look at HCDE or Info, or Business with Tech concentration.</p>