Software engineering (SE) is the application of a systematic, disciplined, quantifiable approach to the design, development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.

learn more… | top users | synonyms

34
votes
8answers
3k views

Is memory management in programming becoming an irrelevant concern?

Background I revisited an old (but great) site I had not been to for ages - the Alioth Language Shootout (http://benchmarksgame.alioth.debian.org/). I started out programming in C/C++ several years ...
17
votes
4answers
8k views

Can Software Engineers become certified Professional Engineers (PE)?

Does anyone know if a Software Engineer can become a certified Professional Engineer or PE for short? I know that my buddies who are Mechanical, Electrical, or Civil Engineers were able to become PEs ...
17
votes
3answers
2k views

Should Software Engineering and Computer Science be separate majors? [closed]

For decades, the accepted degree to get to become a software developer was "Compter Science." We've had a few questions already about whether that degree really prepares students to develop software. ...
16
votes
7answers
1k views

Writing comments for some small code with rather large background [duplicate]

So I had to write some code related to splitting Bezier curves into parts. I read through several references and particularly referred this rather detailed one. The final code outcome is however ...
16
votes
2answers
947 views

How to manage and estimate unstructured requirements received from customers

A lot of the times during the bidding phase of a project I receive a software system's requirements from our potential customers in a very unstructured format from various sources [email, word ...
14
votes
7answers
2k views

Can I apply for “Software Engineer” jobs without being an engineer? [closed]

I am from a country in which the use of the word "Engineer" or "Engineering" is strictly regulated by legislation. This means that you must hold a degree in Engineering AND passed an exam to join the ...
13
votes
11answers
2k views

Is Information Technology really Engineering? [closed]

While travelling I met a mathematician who was sitting near me. In a discussion he said: "...there is nothing like engineering in IT or rather programming". A true engineering is what Architecture is, ...
12
votes
5answers
689 views

How can I encourage people to read error messages? [duplicate]

I was wondering if there are some good ways to encourage people to read error messages when the compilation fails. People (especially) the junior ones usually ignore the error messages and just ask ...
11
votes
4answers
959 views

How best to keep bumbling, non-technical managers at bay and still deliver good work? [closed]

This question may be considered subjective (I got a warning) and be closed, but I will risk it, as I need some good advice/experience on this. I read the following at the 'About' page of Fog Creek ...
11
votes
2answers
10k views

Has anyone done CSDP certification? [closed]

I was looking at some certifications that can potentially enhance my knowledge and market value as a Software Engineer. IEEE's Certified Software Development Professional (CSDP) caught my attention. ...
10
votes
3answers
17k views

What is a Developer in Test? [closed]

I was recently talking with a recruiter who wants to put me at a company for a position of Developer in Test. He essentially made it sound like a position where you get to fiddle with new programming ...
9
votes
12answers
3k views

How would you explain that software engineering is more specialized than other engineering fields? [closed]

I work with someone who insists that any good software engineer can develop in any software technology, and experience in a particular technology doesn't matter to building good software. His analogy ...
9
votes
5answers
2k views

How to quantify the work perfomed by a developer/programmer? [duplicate]

I know the best four naive ways of achieving this. Commit count: In the code repository count the number of commits done by a user. However this is just what the name says, counting the commits. It ...
9
votes
7answers
1k views

Empirical evidence for choice of programming paradigm to address a problem

The C2 wiki has a discussion of Empirical Evidence for Object-Oriented Programming that basically concludes there is none beyond appeal to authority. This was last edited in 2008. Discussion here ...
9
votes
6answers
2k views

What needs to change for Software Engineering to become a formal profession?

Unlike other professions (such as Accounting, Law, Medicine, etc.), there is no profession-wide certification for Software Engineering. I am well aware of the multitude of technology and methodology ...
9
votes
6answers
2k views

How do tight timelines and scheduling pressure affect TCO and delivery time?

A friend's father, who is a software engineering manager, said, emphatically, "The number one cause of scheduling overruns is scheduling pressure." Where does the research stand? Is a moderate amount ...
9
votes
1answer
401 views

Are there any empirical studies about the effects of commenting source code on software quality, maintainability and developer productivity? [closed]

I am an advocate of commenting on source code and documenting software products. It is my personal experience and observation that working on source code that is rigorously commented has helped me in ...
9
votes
3answers
468 views

How to gain personal practice at heavyweight development methodologies?

I'm in a new job where the project needs to meet strict quality standards, be heavily documented, managed in great detail, UML diagrams, and all those things that are opposite of "cowboy coding" where ...
8
votes
5answers
772 views

Extreme Programming practices make an application more error prone? [closed]

I am conducting academic research on the topic of Extreme Programming and whether its practices lead to creating space for more errors and bugs in applications. From the experiences I gathered from ...
7
votes
6answers
4k views

What is the difference between an engineer and a product manager?

It seems nowadays all the develop teams have both software engineers and product manager. I am a newbie to the software industry and I wonder what is the difference? Is it necessary for a Product ...
7
votes
1answer
8k views

Can someone explain the V Model process? Why is it different than the Waterfall model?

It seems the V Model is just the Waterfall Model with the bottom half of the Waterfall bent upwards to form a V. I don't see how it adds anything new. From the diagrams, I also don't understand the ...
6
votes
1answer
63 views

Methodologies that fit UX in software development

The classic development phases are requirement elicitation design implementation testing maintenance Currently we are having issues with UX joining the mix. My current job lets UX build wireframes ...
5
votes
5answers
11k views

Math Major wants to become a Software Engineer [closed]

I am a math major, what would be the best field of computer science/computer engineering for me to go into, where I could apply my skills that I used as a math major (i.e. Linear Algebra, Real ...
4
votes
4answers
209 views

Selecting a CPU or microcontroller needed for a given software application?

Say I had a software algorithm (for example, an FFT), and I need it to process (n) amounts of data in (t) milliseconds. This is a real-time task written in C. There are a lot of CPUs out there, and ...
3
votes
3answers
818 views

A software design pattern to model runtime-dependent behavior

In a interview I was asked, Suppose we are going to create a software that runs on both desktop machines and smartphones. Name a software design pattern that could be used to enable the ...
3
votes
2answers
262 views

Is it a good idea to develop website that only has little access to DB? CRUD will be done by calling API provided by separate internal backend system

I'm going to start developing an application in near future. This application consists of : Back-end system. This system provides API to be used by client. This system connects to data store and ...
3
votes
3answers
2k views

What are practitioner's thoughts of the IEEE software engineering certifications? [duplicate]

Possible Duplicate: Has anyone done CSDP certification? The value of certifications notwithstanding, I'd like to know what you know or think about the certifications offered by the IEEE. ...
3
votes
2answers
50 views

How do you address the problem of dealing with an external service that stores your data and you want to keep in sync?

I'm integrating an enterprise application with an existing pattern. The main problem is how to synchronize data between my system and an external system through RPC (HTTP API calls to be precise). ...
3
votes
1answer
127 views

When should feature rebranding be followed by model and code renaming? [closed]

In a product we are rebranding a feature. For example, we have tweets and we are rebranding it to news. On the code side we have tables and structures like tweet, user_tweets, favourite_tweets and so ...
3
votes
1answer
157 views

How to write a simplistic functional test plan?

I was given an assignment and it is fairly simple, just a special type of search for a special type of objects. However, I was told to implement a set of functional tests and also provide a 1 page ...
2
votes
6answers
743 views

Why sacrificing good software engineering practices is typically the first choice for software development projects assuming “good enough” quality [duplicate]

I have observed a correlation between a customer ordering software of "good enough" quality and the same customer not willing to pay for good engineering practices (unit testing, code reviews and the ...
2
votes
2answers
136 views

Where should UI errors be generated and printed from? Log errors?

Function A() calls B() calls C(), which encounters an error. Which function writes to the log and which function reports to the user? My first inclination is that all functions should write to the ...
2
votes
1answer
558 views

What is the difference between CSDA and CSDP?

This question is in reference to the IEEE's CSDA and CSDP certifications. I've already taken the CSDA course, which covered all of the knowledge areas in the Software Engineering Body of Knowledge ...
2
votes
2answers
499 views

Which industries use the most high-quality, measurable, reliable approach to software? [closed]

What sections of the software industry (i.e. healthcare, aerospace, games, etc) are most likely to practice software engineering with the engineering rigor + depth and breadth defined in the SWEBOK?
2
votes
1answer
56 views

Inferring system configuration using the existence of a file? any good?

This is a generic question about the idea of inferring some of the system configurations from the existence of a file or the lacking of it. For example, we have a module of the system which is ...
2
votes
1answer
2k views

Problem Understanding the IEEE definition of Software Engineering

Background Software engineering is the application of a systematic, disciplined, quantifiable approach to the design, development, operation, and maintenance of software, and the study of these ...
2
votes
2answers
164 views

Upgrade and downgrade customers subscription

I have been stuck at a requirement for way too long too handle it :(. Our company is having increased number of customers who wants to upgrade or downgrade their subscription. For now, the ...
2
votes
3answers
1k views

Web developer to software engineer [closed]

I'm currently a web developer building web apps in PHP and Javascript. I really enjoy the programming aspect more so than the front end design side of things. I would to like to start to focus my ...
1
vote
3answers
683 views

How can I apply Readme Driven Development to an ongoing project?

I'm assigned to a project where the goal is to update an existing software. This software was developed in a totally ad hoc manner, which means that any documentation generated is outdated, confused ...
1
vote
1answer
102 views

what is the name of the model for the describing strategy between R&D and Professional Services

Is there a model that describes the different strategies that a company may use where the organisation is split into an engineering division and a professional services division? This is the sort of ...
1
vote
1answer
77 views

Architecture driven by users, or by actions/content?

I have a question about designing MVC app architecture. Let's say our application has three main categories of views (items of type 1, items of type 2...). And we have three (or more in future) ...
1
vote
2answers
417 views

Exploratory Development vs Incremental Development

In Software Engineering Methodologies... The Evolutionary Development contains Exploratory & Prototyping... Is Exploratory Development same as Incremental Development... What do you mean by ...
0
votes
1answer
116 views

Programs = Data Structures + Algorithms [closed]

Niklaus Wirth wrote a book that popularised the informal equation used as a title: “Data Structures + Algorithms = Programs”. I like to write this equation backwards as in the title of the question, ...
0
votes
2answers
156 views

requirements for software quality for internally developed / shared software?

In environments where software is built internally by one team and then that software is used by other internal teams, how does one decide what the required quality should be for the produced ...
0
votes
1answer
1k views

What do I need to know for CSDA-like certification exams? [closed]

I am interested in taking the IEEE CSDA exam. What are some of the better, individual strategies for learning software engineering practices in preparation for the exam?
0
votes
1answer
121 views

What diagram would be the best to describe the situation

I am working on a software integrated with the hardware component. I need to create a simple diagram to express that: Certain activity runs in a cycle (the device continously monitor a temperature) ...
0
votes
2answers
130 views

My class diagram needs to model a relationship with varying quantities

I am trying to design a restaurant ordering system in UML, which should also include the stock system. One of the classes is a Dish (i.e. a dish on the menu), and another is an Ingredient. My ...
0
votes
1answer
464 views

Is there a correlation between the type of a company/industry and the software engineering rigor?

I would like the answer to explain what impact, if any, does the type of company/industry have on the rigor, depth and breadth with which software engineering is practiced. The best would be some ...
0
votes
1answer
91 views

Showing the structure of the program (menu) as a tree - does it a have name?

In my thesis, I want to show the structure of the program, like this: > Menu --- Settings ---- Audio ---- ... > ---- Video > > --- Perform ---- Calculation ...
0
votes
1answer
60 views

Do we do white box testing on methods or on an overall program? [duplicate]

I am very confused about white box testing. A simplified version of the example: the entire system consists of three methods - methodA(), methodB(), methodC(). The program starts from methodA(), and ...