textblog

Software Engineering in Pakistan

This post is in response to a blog post by Ali Shah, in which he talks about problems faced by software engineers, developers, and consequently by the organizations, in developing quality software. I have decided to keep the focus on Pakistan in order to keep the scope limited, because, one can write a book on this topic from a global perspective.

Why does a software project, or a product, fail? I can come up with several reasons after thinking for a while, some of which are as follows,

1. Incomplete requirements specifications,
2. Incomplete/inaccurate/inadequate design specifications,
3. Inefficient development methodoligy/process,
4. Incompetent project manager,
5. Incompetent developers,
6. Lack of quality assurance and control.

If each of the above is considered as a factor deriving the success of a software project, then, in Pakistan, all but one of the factors are either totally ignored or not given it’s due attention. The only factor that is given importance is, developers. Right from the first day of an undergraduate software engineering (or computer science) degree program, the students are taught only one lesson: Improve your programming skills. They are taught everything from advance uses of recursion to the taboo of goto command, to the most complex algorithms in computer science. Hardly any of my instructors stressed upon the importance of a good software development process, or the need for quality assurance, until I was in the graduate school. As a result, most of the undergraduate degree holders in Pakistan are very good programmers, but hardly anyone of them realizes the difference between being a programmer and a software engineer.

When the time comes that the programmer has gained a few years of programming experience, she deserves a promotion/raise. There happens to be a vacancy for a project manager/system analyst/requirements engineer (if all of these positions exist) in the company, and being a respectful programmer and a faithful employee, she is promoted to that available position, without any significant experience/knowledge in that area. This is where the problem starts. The project manager, although a hard working person, is incompetent. She doesn’t know what it takes to successfully manage a software project (in most cases). The result: the project fails, or is seriously delayed, exceeding the budget, and we need a super-hero to save the project, as mentioned by Ali in his post.

Moreover, there is a serious lack of standardization of the process within an organization (or so it seems). If suppose, after few years of operation, a company still manages most of the projects in a chaotic fashion, it’s day-to-day operations are performed in an ad-hoc manner, and finally, a miracle is needed to complete the projects, then it would be no surprise if the company goes under without a warning. There is no set rules for spending time on a particular phase of the project and the development team seems to be eager to start coding without spending enough time on requirements, analysis and design phases, which results in developing the product with incomplete or incorrect specifications, and the project ends up being over-budget.

Finally, there needs to be quality control department in every software development organization. Some of them do, but are seriously ignored and under-paid, resulting in lack of people who know about the field. Even though programmers in Pakistan are very good, they don’t follow a particular standard. Everybody write code in their own style. Even within a team, you can find several styles of code writing. This makes the debugging and modification very complex, again resulting in the failure of a project. A quality control department not only checks the final product for bugs/erros, it also enforces and monitors the coding style, and eventually, standardizes the entire development process, from concept to product launch.

It is probably because of these issues that the major projects in the US are being outsourced to India and not Pakistan.

52 thoughts on “Software Engineering in Pakistan

  • I would agree with a few things and won’t with some other. First of all, I have read many articles all of which indicate that the problems you have specified in the beginning of your post are global (i.e., it’s the field to blame and not Pakistan).

    Secondly, unfortunately we aren’t good in algorithms and computer science either. There is a general experssion of uneasiness shown by many programmers (including me) when you tell them to write, for instance, a tree control or a data grid. The first response is “can’t we download it from somewhere?”

    On the other hand, I totally agree with the promotion thing. People get promoted because they had x number of years of experience and now they deserve promotion. I would like to ask the management, “Is there a defined skill set for the next level in hierarchy?” “Has the other person shown the ability to take on the challenges?” By promoting a very good programmer (who doesn’t exhibit good management skills) you are shooting yourself in the foot: you are acquiring a very bad manager and you are loosing a very good developer. I would rather advise to compensate the guy; give him a bonus; send him on a vacation; give him a free ticket to some resort; but please don’t promote him.

    Lastly, the quality of India vs. Pakistan is an interesting topic. IMHO, on average we are way ahead of India in terms of quality because a large number of substandard software houses exist in India. I may be wrong but my opinion is based on the projects that get re-directed to Pakistan from India because of low quality. I have seen a few companies trying to make sense out of Indian code. I, myself, however, never worked on any such thing.

    If you ask me two basic activities that can tremendously help in improving the quality of work, they would be:

    -> Code Review
    -> Project’s Postmortem (once we are done with development and testing)

  • Thanks to both of you guys, but will you plz list some practices which a developer has to follow while developing some product to enhance its quality as specified by you guys.

  • Mobeen, I think it takes more than just developers to make a quality software. The quality has to be maintained across the entire development process, starting from analysis to testing to deployment. However, to answer your question, developers should play their part in developing quality software by writing quality code. They should be consistent, follow the standards, and take care of small but important things such as proper commenting of the code.

    • Nouman Karim

      hi sir.
      i m a MS-IT student in Peshawar.
      now i m confusing in choosing “software Engineering” for me in research area. i m not a programmer nor can write codes/scripts
      so what i choose with respect to ms research & market.
      0313 9586534
      only to guidence me

  • Aoa omar
    can u pls tell me any 3ree flop s/w project in s/w industry??

  • Irfan RAZA

    Well, I desire to be be a good software engineer. can anybody guide me what should I do to be one, remember i am looking for the best institue in Pakistan for SE. So come up with results, and show me the way to the brilliance as you all are. Consider me a younger brother and please help me out. I am pleading to all of you. Please Email me at PEACEMISSES@hotmail.com or IRFANSHAH444@YAHOO.com if you are intrested in helping a kid.

  • Muhammad Anwaar

    Dear irfan u should first look for ur
    interest , u should first know what
    software engineering is and either u r
    willing to engage ur self in that field
    for the whole life.
    For doing ur graduation u can choose
    BCSI FAST, karachi university,GIK
    and or any other university of
    that standard.

  • amicable taurean

    Im not a software engineer or programmer. but i just want to ask a question .have you ever given a thought to the lack of practicality in the education system of software engineering! i mean how many times have u been to a software house when u were a student.what sort of interaction did u have with real working enviroment. doctors have their wards during third year by the end of their studies they r quite familiar to their WORKING ENVIRONMENT.its not just wid enginnering!! but still… anyone of u want to say something about this………

  • hi,
    I practiced some programming languages in my school and college age, and my mind advanced to do computer related engineering.

    Now i am doing software engineering here in pakistan. while studing here, my heart and feelings are so much disorted. because universities are doing only “money collection job”. staff is not interested to teach, and what they teach is old enough. students have no concepts so they try to copy eprinted materials.

    our target now is not to become a good software engineer but to have good GPAs and a degree one day.

  • Hi

    I want to know is it possible for someone to access my computer desktop and hard drives while I am online chatting on MSN or IRC?
    I am using window visa .

    Fatima
    Pakistan

    • u install a chatting software his name is (msn chat box ).this is easily available on inter net.

    • AizazAhmadKhanDurrani

      yes it is posible but first u will conform it.when he want to shar it with u.rnthanks

    • SADIQUE ALI

      Yes its possible fatima, nThrough remote assistance as well as remote desktop tools of windows utility ans also its possible through other saoftwares like Team viewer, etcnnRegardsnSadique alin03147329172

  • Aamir Iqbal

    HI,
    I want 2 asked that from which university or insitute I start software engineering ???

    plz tell mee complete process ..!

    • if u are live in lahore punjab uni is best for u.and 2 option is uni of central punjab lahore.and 3 option is uni of agriculture fasilabad.

      • PLEASE TELL ME FRO WHICH UNIVERSITY I START MY SOFTWARE ENGG IN ISLAMABAD
        WAQAS

  • sir i want join softwere engneer how can i do plz tell me

  • wasikhan

    i want it computer engenair for some software help me.ites mean need conseltant it engener how help me.i pay if creat some software for my ideai
    plz conectect me

  • i am a software engg.please share with me an problem abou software engg.i try my best to solve this problem.

    • arfat

      HI
      SOFTWARE ENGG IS BEST FOR YOU IF YOU ARE INTRESTED IN THIS FIELD.SOFTWARE ENGG IS VERY TOFF FIELD OF COMPUTER SCIENCE.IN FUTURE THIS FIELD IS VERY POPULAR .EVERY CODDER IS NOT A GOOD PROGRAMER.

    • Lovelycat17

      thx arfta me too confuZ to choZe bsc in software enJNrng , ,
      or b cs so sjst me bst am frm rawlpindi and wants to join pak army or airfprce later

  • sajjadchandio

    HI SIR.
    SOFTWARE ENGG IS BEST FOR YOU IF YOU ARE INTRESTED IN THIS FIELD.
    SIR I WANT JOIN SOFTWARE ENG HOW CAN I DO PLZ SIR TELL ME
    MY CELL PHONE NO 03013993629

  • CrossReference

    Umar , how many years are you working in software ? In fact your statement that Indians are bad programmers shows that you are just another novice. Patriotism and bad mouthing is not going to help but good work will speak automatically.

    Work hard and furious and deliver good quality and i am sure automatically work will come your way.

  • heyyy…i am confused between 2 fiels …BSCS or physiotherapy…..interested in both…which is a better career option..plzzzzzz replyyy

  • Hi everyone, nice productive discussion. I have made a forum for all software developers of Pakistan. I will like all to come and share their ideas and help others to exceed in Pakistan software development field. http://www.softwaredevelopers.com.pk

    Regards
    Nasir Hussain

  • hi i want to know which university is best for software engineering? i want to do this.plz

  • AizazAhmad1989

    what mean of flop miss sana…..
    if u mean that did not servive in real world.
    so when the programmer used C language so there was lack of object oriented programming in C language.due to this reason Billion dollars project was failed and programer moves form the C langueage to C++ language.which is combination of structure language and object oriented progrmming language.after this JAVA was come whch is plateForm independent….most of programmer use JAVA due to this reason….

  • AizazAhmad1989

    Dear Brother
    first u have to look about ur creativeness if u have ability to creat some thing then u go to software engineering…..
    and for my point of view BS in SOFTWARE ENGINEERING islamic internation university is good…for BS in SE….
    and ont wast time….take ur own decision……….
    AizazAhmad1989@gmail.com……ID

  • Waqas_haider

    salam ……nany brother help me.from where i shall start my study .and how i work.and what could i do to become a good programer.nvicky

  • It’s interesting how many comments this article generated, and it’s still generating!

  • Shahrukh Ali Khan

    hi all i have graduated recently .did my bscs hons. surprisingly i have no idea or clue that where i shud move to … i’m not the coding or programmer type i have never been gud at it . the thing which interested me was networks and software engineering.. i cundt go on with networks b’cz there is master’s program for it in lhr..anyways what i want to ask is if i move towards s/w engineering side would i still have to code and program? or is it just testing,designing and implementing test models that i have to work upon ? plz guide me my mail is shahrukh.khan@msn.com thanx

  • Shahrukh Ali Khan

    and yea 1 more thing .. does s/w engineering consists of q/a(quality assurance)???

  • Mudassir ikram

    aslam i am mudassir ikram and i wnat to do softwer enng but i wnat to know which is the valueabl bs softwer eng or be softwer eng and tell me what is the differ b/w bs or be and which is better thing for paki students

  • Mudassir ikram

    aslam i am mudassir ikram and i wnat to do softwer enng but i wnat to know which is the valueabl bs softwer eng or be softwer eng and tell me what is the differ b/w bs or be and which is better thing for paki students

  • Mudassir ikram

    aslam i am mudassir ikram and i wnat to do softwer enng but i wnat to know which is the valueabl bs softwer eng or be softwer eng and tell me what is the differ b/w bs or be and which is better thing for paki students

  • Mudassir ikram

    aslam i am mudassir ikram and i wnat to do softwer enng but i wnat to know which is the valueabl bs softwer eng or be softwer eng and tell me what is the differ b/w bs or be and which is better thing for paki students

  • Aqdasnaz

    aqdas,m doin software engnrng,wot ma problm is,that m not satified wid 3 to 4 assignments related to programing n only one project per semester,i wnt to do sum thing having practical approach,plz guide where can i get info n proper guidance.

  • Armanishah786786

    sir i m from pakistan. i have passed the examination of F.Sc in medical but i don’t like medical or theoratical study. i want to learn some techanical study for example software engineer,etc..
    is that good for me. what is its scope in pakistan and also in afghanistan.how long is this and how difficult. and which university is good for this.

  • Iqrawaheed

    plz sugst me soon.

  • Wajid ali

    hi everbody, can somebody  tell me about chosing software engineering.Any how in my opnion its future will be bright every where if we people do work hard  wajid ali from swat .

  • Khurram

    software engineering
     

  • Khurram

    plZzzzzzzzz tell me the diffrance btween BE software engg and BS software engg??????????????rply fast

    • aanchal

      hmmmmm….i also want to know the diff.????????????

    • Dar Sahib

      BS Computer Science is based on both software and hardware but on the other hand Software engineering is totally based on Software,,,Software engineering is too difficult than computer sci,,,

  • HAS441

    please guide me i have done fsc with pre-enginering…..not with ics…..i dont know extra ordinary about computer…..should i choose software eng.???????

    • Dar Sahib

      Don’t choose it..If u have no interest in IT field..

  • Ahmad Hassan

    Hi!
    software engeenering is better in pakistan forign countries……?

  • Which is better riphah or Bahria

  • hye i want to know tha what is the scope of software eng in pakistan and other countries also..plz tell me

  • hi sir i want to ask 4rm u that how we can learn programing im doing bscs frm degree colege larkana but we havnt any good teacher for this>plzzzzzzzz give me tips

Comments are closed.