Kia ora everyone!
So, we’ve just passed halfway through the semester and although right now the workload is all good, we know that it’s about to get very bad. We have a test for SOFTENG 211 in week 9, with a large weighting, so that’s going to be intense. We are also busy with our SOFTENG 206 projects right now as well as expecting a SOFTENG 254 assignment to come out soon.
How was the mid-semester break? Honestly, I didn’t really have that much of a break (although I did pig out a little) – I spent most of it doing my project, which I quite enjoyed doing actually. I briefly talked about what our SOFTENG 206 project involved in a previous post, but I’ll try to describe it in more detail here.
Basically, this project is done in pairs, and is assessed in stages. Apart from the application itself, there are other things attached to it such as reports, a journal, presentations, etc (the usual stuff you’d expect from an engineering project). What we have been asked to make for our current assignment is a game which helps users learn their Maori numbers, using voice recognition. The voice recognition tool was provided to us (and trained for us as well) by Dr Catherine Watson who is the Software Engineering Program Director and one of the lecturers for SOFTENG 206.
Basically, when you play the game, you get given a number for which you must record yourself pronouncing in Maori. The game then tells you if you said it correct or not. From the general feedback I’m hearing from the class, most people seem to really be loving this assignment because there’s so much room for creativity, and people have different ideas on how to make an easy-to-use, nice-looking, robust user interface.
Working with my teammate has been quite fun too. We spend a lot of time bouncing ideas off each other and I really enjoy these discussions because it leads us towards some good design features.
Currently the project is going well for us, although I really hope we have made it modifiable enough for future assignments. I guess we’ll find out soon!
What I Don’t Like About Software Engineering
So, I’m always talking about how great software is, but I haven’t really talked much about the negatives yet. Don’t get me wrong, I absolutely love what I’m studying and wouldn’t change it for anything else. But being a blogger, it’s my responsibility to be honest to you guys about the specialisation. No specialisation is perfect, and no specialisation should have to be. So here are some things I don’t like about software engineering.
- Long, back-to-back, 2-hour lectures. Yes, I know, I’m whinging and wining about something which I should just put up with, and just be grateful for having education. And to be honest, I don’t mind having a bad timetable that much. It’s just that I find it very exhausting to try and concentrate in a lecture room for 3-5 hours in a row. It’s no one’s fault that our timetable is bad, it’s just the way it ends up, and to be honest most specialisations have a pretty rough timetable anyway so you’ve just got to put up with it.
- Fiddling around with necessary hardware/software tools before you can even start your assignment. This is something most people find quite frustrating and annoying. Most of these problems have come from SOFTENG 206 (which is actually my favourite course), because most of the work requires both (a) using BASH, which means people had to either dual boot some kind of Linux distribution or get a virtual machine set up, and (b) most of the assignments require using audio recording, which is always fiddly as it depends on your particular hardware setup (most of us do our assignments on our own laptops for portability, and then test them on lab computers which have different hardware settings). And then people found that certain lab computers either in the Science building or Engineering building were missing important libraries or pieces of software for them to be able to get their assignment to run. I guess it’s just a bit annoying to have to spend time fiddling around with all this stuff when we’d rather be putting that time into working on the actual assignment. The SOFTENG 206 lecturers have been great and have always tried to get stuff set up on lab computers when we let them know about it. I guess it’s just something you’ve got to deal with and get out of the way, and something you’ll be dealing with all the time in your career as a software engineer.
- Some people have way more experience than you, and it shows. I mean I don’t know about others but I find it a bit demotivating when I put so much effort into something and then someone shows me their app and it looks way better because they have 900 years of Java and C++ experience or whatever. I guess I should just get over it but I don’t know, I thought it was something worth mentioning.
- Everyone in your family all of a sudden thinks you’re an IT technician. Yeah, really. I get a calls from my mum in the middle of the day like “Zain, my windows taskbar is now vertical instead of horizontal, how do you fix this?”
- Relatives and friends don’t really understand what you do. If you are doing something like civil or mechanical engineering, and you say this to a non-engineer friend or relative, they will have a fairly good idea of what you do. But software engineering is kind of a new thing, so I often find myself having to go into great detail explaining what software engineering is to my relatives. And even then, they get it confused with computer systems engineering (which is also pretty cool and interesting, but not the same thing as software engineering). Then there’s issue of software engineering itself being a very hard specialisation to explain. Most of the official definitions I have seen of software engineering have been very long and complex.
- Assignments can feel confusing, unclear, misleading, self-esteem destroying, etc. I think most engineers feel like this with some assignments regardless of specialisation. I’m not really going to talk about this because I think it’s just going to make me feel bad.
- No one has time to make memes except for Edward Zhang. We are all so busy with assignments or tests except for Edward Zhang because he’s like 10 miles ahead and already knows how to do everything so our Facebook page is literally just Edward dropping a million memes.
So, there you go, those are some of the things I don’t like about software engineering. I know that a lot of it seems like just me being fussy but I guess that’s because it’s difficult for me to find stuff I don’t like. I still stand by what I have said in previous posts, which is that I think that choosing software was one of the best decisions I have ever made, and I have no regrets, and I’m looking forward to my 3rd and 4th year already.
I apologise that this post isn’t as long or photo/video oriented as the others, it’s just that I don’t exactly have a lot of time right now. But if you have any questions at all, please feel more than welcome to approach me 😊