So as most know, university spring semesters have ended and graduates or soon-to-be graduates everywhere are moving on to jobs or internships in order to finally put their degrees to use. I am one of the many who are participating in a summer internship this summer for software engineering. I have only been there for two weeks so far, but I'll use this topic to document my thoughts about the career throughout the summer for any who may be interested in this field. Feel free to chip in your experiences with the field as well.
So far, from what I have experienced in a medium sized firm, it seems like there is a ton of bureaucratic tape to get through when actually working in this field. I thought I would have to gather requirements and conform to documentation and code standards, but in reality there is so much more tedious paperwork in order to cover the company's own rear. Everything the client says has to be summarized in a document that conforms to the strictest and pickiest standards, this document must be reviewed by at least two different editors to ensure it conforms to the standard, then it goes back to the original writer to confirm the editors edits, and finally after confirmation it must be sent back to the client to confirm the document. This process occurs for any contact between the client and the firm and is expected to be done ASAP leading to hair-splittingly stressful situations. And don't even get me started on the actual design document standards. I feel like I'm becoming more of a Microsoft Word expert than a software engineer (and I have actually learned quite a few handy tools in Word just from working there).
And as for actually gathering requirements, it is incredibly tough to milk what you need out of somebody when you're doing this process. You can only have so many meetings with a client before they get tired of you asking questions and you can't exactly IM a bank or utility representative at any old time and ask further questions then. It's unprofessional and you'd probably get fired for doing so. You end up asking for as much documentation that they already have as possible and hoping it's up to date and you spend your weekend reviewing the document so you can be prepared for more meetings on Monday.
And all this is before I have even done any actual programming. One thing I can say is that gathering all this paperwork certainly assures me that I would want to finish the project that I had already put so much work into beforehand and if this was done for BYOND projects more would probably be completed. On the other hand it sort of also kills any soul or heart behind a project.
I just don't know if this is really what I want to do with the rest of my life. I mean it pays well, but it's not really fulfilling work and requires me to spend a lot of my free time preparing for work. I might make another post at the end of June and definitely will add my final thoughts in the second week of August when this internship ends.