views:

324

answers:

5

I am a student, pursuing engineering in Computer Science, but I do not find software engineering interesting. How important is software engineering for software professionals? Can I be a good software professional with little knowledge in software engineering?

+6  A: 

Simply put, the answer is NO.

Software engineering teaches you how software should be constructed - it is a vital part of programming and producing a product. You can't be a good software professional (which I take to mean programmer) without knowing and understanding it.

You need to understand what good design means before you can design good software.

You need to understand how to implement such a design so the software is fit for purpose and bug free (or as close as can be).

You need to understand how to maintain such software - understanding design and implementation will help with this.

Oded
can u tell on what aspect of software engineering i should concentrate on.
andrew Sullivan
@jammkie same - Focus on design and implementation.
Oded
@Oded, there's a major problem with your assumption. You make the implicit assertion that only one way should be the way to design software. Without divergence, which typically only comes when people don't have the legacy formal training, can some truly amazing ideas come to light. I don't think it's wise to say "you can't be a good software professional" unless you understand software engineering.
jer
@jer - Your assumption is that "software engineering" means one way to design software. Software engineering encompasses many ways.
Oded
@jer, I have to agree with @Oded. Coming from an EE background, I am a self-taught programmer. Code is just the tool - unless you understand how to design solutions to problems all you'll be for the company you work for is an expensive typewriter. If you want to be a professional - i.e. consultant, technical lead, etc. - you need to be able to design good software - whatever that design ends up being - not just write it.
Stephen Furlani
@Oded, no not at all. It's just how your answer made it sound.
jer
You can get paid, without paying attention to Software Engineering, but you can not be a true "Professional", unless you pay attention to the engineering, the design, the qualities of high quality professional software. "Can I be a good medical doctor without caring about science?" -- also, No.
Warren P
A: 

I believe that being a software professional requires that you are/have been a software engineer for a period of time (minimum 2-3 years). I don't think that this is possible otherwise.

Find something interesting, it is not good to choose something you don't like. Remember this link before going any further.

Iulian Şerbănoiu
+1  A: 

I think it depends on what you want to be able to do, as to how important software engineering is.

For example, if you are happy being given UML diagrams and specifications that spell out exactly what needs to be done, then software engineering may not be as useful, but, if you want to go beyond that, and start to understand how the application is put together, and to do design, or participate in groups that are working on design, then software engineering is important.

Software engineering is a big area, it may be helpful if you could explain what does interest you, and where you think you may want to be later in your career.

You may want to look at some of the papers in this link: http://stackoverflow.com/questions/2828642/software-engineering-papers

James Black
A: 

Not really. You need to be able to interact with stakeholders, other programmers and testers, interpret (and possibly design) requirements and specifications at different levels of abstraction, provide information about the progress of your project and react to changes in customer or management expectations. Each of those is a part of software engineering without being a part of computer science.

Graham Lee
+1  A: 

The term engineer stands for "Engineers are those who work to develop economic and safe solutions to practical problems by applying ...." , So If you don't know how to appl what you learnt, efficiently, then there is a problem.

Coding skills are like weapon in the armory. software engineering is the art of war. So if you don't know, how to wage a war, then the weapons are useless.

Software engineering is not as boring as you think. May be , it should be taught by someone who has lived with it. I find it very interesting after 4 years in the industry. Look into agile methodologies. You might be more fascinated after that.

Vanchinathan Chandrasekaran
The term "Software Engineer" is used in different ways in different countries. In particular, in Canada, you can not put "Software Engineer" on your business card if you are not registered, licensed, as a professional engineer. In the USA, you can, and many people put it on their card, and their resume. Here in Canada, we would not, and can not.
Warren P

related questions