What’s Happening With IT Graduates Today?

Friday, April 13th, 2007

I have been talking with several new graduates of IT-related courses these past few days. When asked what they know with regards to programming, I noticed that there are just a handful of them who have a working knowledge of C language, much less when it comes to Assembly. A lot of them know mostly Visual Basic, PHP, Java, C++. The sharp observer would notice that generally, either they know a fourth generation language (4GL), or an object-oriented one. It seems that these are the ones being taught in school. Algorithms were taught using C++, and most of them create programs using PHP (and SQL) for their design project.

When asked which one do they prefer: programming using 4GLs, or the traditional way of opening up a text editor and coding everything from the ground up, most would prefer 4GLs. A lot of them would also balk at the idea of coding everything from scratch and creating documentations for their work. Most of them have the understanding that creating the documentation is just a requirement for them to pass the course, instead of the document being a means to relay information to anyone who needs to know how the design works.

What’s happening? Didn’t their professors make them understand why they are being taught these things?

To be fair, I can see that these graduates have the potential to learn new things at a quick pace. I get the impression that most of them are capable of learning a new skill even if the time allotted is quite short. This is something I know we Filipinos can be proud of our graduates for. However, it would be more beneficial to both the employer and the employee if that time needed to learn basic low-level programming skills are taught at school. It seems that now they are being taught how to make GUIs at school, and then they let the employers be the ones to provide the training for the rest. To put it bluntly, it seems to me that graduates are now being taught how to make functioning GUIs as “projects“, and the other things are left behind.

Now, there’s the argument that it’s the student who should have the initiative to learn the details. Okay, I agree to that. However, I’ve noticed that nowadays, professors would just teach them the basics, then leave them on their own to do their projects. No guidance or follow-ups whatsoever, “see you when you finish your project“. Without the proper guidance, it would be pretty hard for them to understand things — it would be more like the students being blindfolded and leaving them on their own to feel their way around a room to reach the exit, instead of telling them where to go to reach it. This would be very much different from spoonfeeding though, which would be explicitly showing the students the exit.

Would it be too much to ask if the curriculum in schools would be done this way:

  1. Teach software development processes first.
  2. Teach algorithms using pseudocode and flowcharts so the students would be able to concentrate with solving the problem. Creating documents that present the algorithm in detail should be a requirement, as well as documents that show how the algorithm can be tested for validity.
  3. After learning algorithms, teach the students a procedural language, where they could do top-down, structured programs. Making them create the algorithm first, then produce a design document and a test case document, before proceeding to implement that algorithm using the programming language.
  4. After learning a procedural language, let them learn about object-oriented languages and how it differs from procedural ones. If possible, make the students implement an algorithm on both a procedural and object-oriented programming language, complete with the design documents.
  5. Create a subject where students can experience testing software.
  6. Once they are able to pass the abovementioned subjects, let them learn about fourth generation languages, why they were created, and how they are related to earlier programming languages.
  7. Provide an opportunity for the students to be able to explain their design in front of several professionals, not just other professors (some professors may be biased in determining if the design being presented is justifiable or not).

Am I asking too much? I am thinking that if these are implemented, graduates can have an easier time in their transition from school to the workplace. It’s a win-win situation, isn’t it?

    Ten-day rest: The Aftermath

    Tuesday, April 10th, 2007

    I’m now hours away from preparing to go back to work. Time has come for me to reflect on that 10-day rest I had last week. A lot of things came to me:

    1. I now know how the story of Voltes V ended. If you were able to watch it, you’ll know how satisfying it was after going through 40 episodes.
    2. Old anime compared to the newer ones are tame. Watch Voltes V, Transformers, and Macross — then compare it with Naruto, One Piece, and Inu Yasha. All have battle scenes, all have characters that die within the storyline. However, the way things were presented seems to be a lot more graphic in the later animes. I based this observation from the way my son reacted to a re-run of Naruto (”Daddy, takot ako!” — “Daddy, I’m scared!”) as compared to him watching Voltes V (”Daddy, bukas nood ulit tayo ha” — “Daddy, let’s continue watching tomorrow”).
    3. I came out with a new perspective on how I would be leading my team. Having a layoff that long made me think on what I should have and should not have done with my team members.
    4. I came out raring to take on my new project. I was able to get over that ‘post project blues’ where I got too attached to my previous group that I was very disappointed about transferring to a new group.
    5. Converting from one data format to another is still frustrating. I wanted to transcode several DVDs to MP4 so that my son and I can watch movies on our PSP while taking long trips to the province. I was able to go around the region encoding of the DVDs (my DVD drive is set to region 1, while the DVDs we have are all region 3) by installing several libraries. However none of the rippers I have that ran under Linux were able to rip a whole movie — all of them hung up at one time during the whole process. I ended up downloading several short cartoon clips from Sony Connect.
    6. The problem with the PSP is how the games were developed and how the thing was marketed. Too much ‘for the big boys’ type of games, not much for kids. Marketing was focused on the 25+ age group of gamers. Some friends (and kids) enjoyed watching me play Lumines II, Ridge Racer, and Armored Core — but never would they want to be the ones playing them.
    7. I saw my flaws as a Father and a Husband. Spending every day of that week with my wife and son made me see my shortcomings when it comes to dealing with my family life. It reminded me that I’m not only a geek, but also a family man. I should be optimizing my time at work so that it won’t eat into my ‘other’ non-geek life.
    8. I need to keep my health in check. Several times I felt symptoms of hypertension — high blood pressure. Quite early for my age, but might be explained by several episodes of rapid weight gain that I had since I graduated from college. I think I need to exercise more and maintain a healthy diet to keep my heart in good condition.

    With that, it’s time to go to sleep. It’s really great to have a long vacation. I wonder when I could have something like this again.

    Debian Etch Released

    Monday, April 9th, 2007

    openlogo-100.png

    Found out about this while lurking at Distrowatch for updates to my favorite Linux distributions.

    “After 21 months of constant development” Debian 4.0, named Etch, has been released. Quite long for an open source project, and roughly 4 months late for its intended December 2006 release.

    I don’t know whether to feel excited by this development for Debian or not. Talk about problems within the group were spreading across the internet for a time, its founder Ian Murdoch is now joining Sun, and several Linux distributions based on it are getting really popular (even a local distribution joined the fray).

    At least what’s still good about this distribution is that all packages contained in it is free. Free as in freedom, not free as beer, mind you.

    myThemeCreator for Sony Ericsson Phones

    Thursday, April 5th, 2007

    Last night I promised my son that I won’t be watching any anime until he wakes up. So this morning, while he was sleeping I did a little bit of snooping around some mobile phone forums. I chanced upon this utility which lets me edit (or even create) themes for my K800i.

    mtc.png

    Good! There’s one that works under Linux! It’s Java-based, so you need a JRE to be able to use this application on your machine. Its very user-friendly, you just need to point-and-click your way to how you want your theme to be. Everything is laid out well on the screen — I was able to edit one of my phone’s existing themes right away, without reading any instructions. Creating a theme would take a little more time for me though. Even though the tools are readily available, I don’t have the creative inclination to create one from scratch.

    If you want to try it out, you can download it from myforum.lasyk.net in one of three versions — one for Windows, one for the Mac, and one for Unix/Linux. You need to register first to be able to access the files.

    Ten day rest! Hooray!

    Tuesday, April 3rd, 2007

    I’m in the middle of a pseudo-sabbatical leave this week. I’ve been able to request for a 3-day leave which covers the days of Monday to Wednesday. Thursday and Friday are considered holidays, as Holy Week is observed strictly here in the Philippines. The holiday extends until Monday, Araw ng Kagitingan (National Heroes Day), so I’ll be back at work by Tuesday next week.

    Since Saturday, I’m at a minimum when it comes to touching my computer, and I’m more into spending time with my son watching DVDs of old television series. So old, it seems like I’m living my childhood again. Why, you might ask? The DVDs I plan to watch this week are all very old animes.

    Just this morning I’ve finished watching all 40 episodes of Voltes V. Come to think of it, I first watched this while I was 4 years old (26 years ago)! Thanks to the ban by then President Marcos, I wasn’t able to finish all of it. It was only now that I was able to see how the story of the three brothers (who are coincidentally pilots of the robot from within the series) and their father ended. I appreciate the opening and ending themes more, since now I am able to understand a smattering of Japanese and can read and write katakana and hiragana. The four days I spent watching all episodes were all worth it.

    I’m now set to watch another series, Robotech: The Macross Saga. I have this “no play-no open” policy (don’t open the box unless I’ll be watching it) for all the DVDs I plan on watching — just to one-up the excitement. Just to let you know, I still have one of those VF-1S toys (which I bought on one of our business trips to Japan a few years ago), placed on my desk at work.

    If you must ask why it’s a big deal for me that I’m having this quite long rest, this is the first time in my whole employed life that I’m able to spend 10 straight days not thinking about work to concentrate on my personal and family life. I consider the long rest to be of good timing as well, since my current project has been completed and I’m transferred to another group to help in another project. The long vacation would let me ‘reset’ my head on how I should handle my new team and how I would be dealing with tasks concerning my new project.

    To tell you the truth, I’m having a really great time. Maybe I should have done this several years earlier.