Saturday, October 25, 2008

Three Things I Learned About Software WHILE NOT in University

I learned some stuff in University, but here's the thing "Three Things about Software WHILE NOT in University " as well.

Things I Learned about Software in University

  1. ITC teacher, Hilal Qureshi (Dean of CS), used to say that we (instructors) will not teach, we will just help you. (Have to have read text book before lectures)
  2. Necessary fundamentals like data structure (specailly C++ pointers, and how to use copy constructor), object oriented programming, relational database theory, algorithm, compiler construction, and math classes. Pascal/C, C++/Java are good languages.
  3. Computer Science generation (student) will destroyed if they don't know about latest development in CS world. (Have to have read at least one article from any research journal of CS)

Things I Learned about Software WHILE NOT in University
  1. Software Engineering process/tools/methodologies/good architectural designs/N-Tier implementation are blessing for Software Development.
  2. Requirements are always weird because life is also weird. Always code weird task with basic functionality, and then add features according to requirements.
  3. Code writing is an art which become fine and tuned day by day through experience and and contact with experienced peers.
Hi guys, share your three IN and OUT about software in comment area.


  1. I'm not a Software Engineer but I do plan to be one. This post was helpful, thanks. Can you please tell me where I can learn professional Software development from?

  2. Well, You have two options.
    1- Certification
    2- Degree

    If you have already done your degree other than computer science, then certification is best choice for you.
    MCTS and MCPD are pretty good and help to become a professional software engineer.

    Could you tell me your educational background/programming backgroud?

  3. Thanks for the info. I have done by BE in Electrical Engineering from NUST. But I'm a Web Developer by profession now. :)

    I know Basic C++, Java but want to do my Masters in Software Engineering.

  4. When you say web developer. I think you are working on dynamic website, which deal with database.

    Strong concepts of programming are plus but not necessary.

    I believe Database (concept and theory), Object Oriented Programming, Data Structure and Algorithm are must have courses(pre req/core) for Software Engineering.

    In my opinion, you should do full time job in software house and complete MS as part time. Most of the universities offer part time program. Full time job will help you know about different projects, programming techniques and experiences.

  5. Yes, I work on dynamic websites.

    Thanks for the advice! :)