I’ve known since my Capstone project that I don’t want to do web development if I can help it. ASP.NET has it’s perks (User Controls, a strict page processing life cycle, Databinding, automated scripting, and automatic state handling), but it obfuscates some of the processes and forces you down some weird roads. Ultimately the real problem was that ASP.NET’s best features are ones that cover up the deficiencies and annoyances of standard web technologies.
The biggest challenge server side was working with mysql. I’m sure if I spent more time working with mysql console commands then I’d be happy with it, but it was constantly in a state I couldn’t visualize and it was particularly unfriendly when I asked for help.
As much as I hate these technologies, I do understand that almost all of the CS jobs for my level of education and experience are ones making chintzy CRUD applications for the web. When I tell people my field is computer science, most people want to help me find jobs fixing hardware and setting up networks. After all, I am the person they come to when they need their router set up or if they need someone to hold their hand while I tell them they have to connect their monitor to their computer for them to see what’s going on, so obviously this is what I’m talking about when I say I work with computers. Given web development isn’t quite a menial as that, I thought I might come out of this class with slightly more appreciation for what will inevitably be the next 4 years of my life writing the boiler plate and never quite what you want markup for a UI. This was not the case.
This is already my second pass at a ‘career minded field’ and I don’t feel like doing a third pass now just because I think I’d be happier in Electrical Engineering. When people talk about needing highly skilled workers in the IT field, I don’t feel like they’re talking about what I’m almost certain I’ll be doing: making glorified electronic paperwork. So my opinion of web applications hasn’t really changed. The tools are crumby and every application is essentially solving the same problem: how do I present and store my data?
I did learn things though, and not just on the language front. I didn’t understand web services before this class, despite furiously reading through everything I could find on the subject. The design of my application touches on the web service though, even if it comes up short in a few areas. The only thing I’m getting back from php is usually a 1 or a 0 to let me know if the server side code worked or not, or an appropriate JSON encoded object. My misguided failures at poking the twitter API are framed with more context since I’ve had the opportunity to explore what it’s like to pass http requests to a server in order to get data for my own applications. I don’t know if web services are the future, or if Azure will really take off and cascade into the development of several cloud based RDBMSs, but the client-server relationship and http are two things I have a much better understanding of now.