I am writing a text and I have to say what skills I developed during my internship. What do you call improving software? Software improvement? I feel like there would be a better word or expression for this.

EDIT: By improving, I mean that I added features to the software that were requested by the company.

  • Maybe you could be more specific on how you improved the software and whether it was part of development or if you made suggestions that resulted in the existing software being "better" (faster, more efficient, more features?) – Kristina Lopez Aug 4 '15 at 16:32
  • @Kristina Lopez I added more features to it that were requested by the company. It's kinda more efficient but in term of ms so it's not really relevant. – loli Aug 4 '15 at 16:33
  • 1
    One particular word often associated with "enhancing" software is optimization. But probably the most common advice regarding [software] optimization is Don't do it! (you'll probably introduce new bugs that outweigh any potential advantages, and it's usually unnecessary because the hardware keeps getting more powerful anyway). Programmers always want to be allowed to spend time optimizing / "perfecting" their cherished magnum opus; managers always want them to get to work on new projects that will actually earn more money for the company. – FumbleFingers Aug 4 '15 at 16:38
  • 1
    @loli: If that distinction is important in the context of the question you need to edit the question to include it. Comments on ELU are potentially "ephemeral", and may be deleted by mods at any time. Besides which, potential answerers quite reasonably expect that all relevant factors should be in the actual question, not buried somewhere in comments. – FumbleFingers Aug 4 '15 at 16:42
  • 2
    While all the comments are certainly true, the bottom line, IMO, is that a future employer would like to know how you improved the software and what tools/apps/language/skills you used to accomplish that. – Kristina Lopez Aug 4 '15 at 16:55

If you're trying to avoid overstating your contributions because you feel terms like "upgrade" may imply you completely overhauled the software, you might say that you made enhancements to or extended the software.

  • Remove the "or refactor" part, as it is unrelevant. – loli Aug 4 '15 at 18:40

Perhaps "refactoring" the code would fit your need?

refactoring - Improving a computer program by reorganising its internal structure without altering its external behaviour.

Or you "extended" the program. The definition fitting this usage is...

extend - to increase the scope, meaning, or application of

  • While it is an improvement, it is not really the one specified in my edit. – loli Aug 4 '15 at 17:21
  • That's true. Perhaps saying you "extended" the code would work. – James Aug 4 '15 at 17:26
  • Extended sounds good, but I prefer improved. You should still add it in your answer for future readers – loli Aug 4 '15 at 17:30
  • 3
    Given that OP (commendably, imho) specifically edited the question to indicate that he's talking about additional features, ten minutes before your answer, I feel I have to downvote refactoring. – FumbleFingers Aug 4 '15 at 18:03

If you are making it better by adding onto it upgrade would be an apt description

2. an increase or improvement
3. a new version, improved model, etc.
4.an increase or improvement in one's service, accommodations, privileges, or the like
5. something, as a piece of equipment, that serves to improve or enhance

Upgrade- Raise (something) to a higher standard, in particular improve (equipment or machinery) by adding or replacing components

To a lesser extent ameliorate- to make or become better, more bearable, or more satisfactory; improve

  • How would you call such skill? Software Upgradement? – loli Aug 4 '15 at 16:55
  • 1
    Either "upgraded software" or simply "software upgrade" would refer to the software. Upgradeability would be the software's capacity to be upgraded. As for experience/ability to upgrade you could say "I have the capacity to upgrade software". – Yeshe Aug 4 '15 at 17:03
  • 1
    An upgrade to software is usually a much more involved endeavor that would include bug fixes and enhancements with the requisite release notes so you really couldn't say you single-handedly upgraded software. It's more of a project that involves a team. – Kristina Lopez Aug 4 '15 at 17:09
  • 1
    In theory "ameliorate" has the right meaning here, but it is often incorrectly used instead of "alleviate," with the meaning of "making a very bad situation slightly better, but not fixing the fundamental cause of the problem." That is probably not the meaning you want to give to a reader who doesn't use "ameliorate" correctly. See collinsdictionary.com/dictionary/english/ameliorate. "Enhance" is often used for improvements to software, but the cynical meaning of "software enhancements" is just "changes", and not necessarily "improvements". – alephzero Aug 4 '15 at 18:03
  • 1
    @loli: Native speakers tend to use the noun form a software upgrade to mean a new release of the software [which performs better/has more features than earlier versions]. But the activity itself (actually coding the upgrade) is more likely to be called enhancement, for which the more common verb form is, say, I worked on enhancing existing software, rather than writing new applications. I do not think ameliorate has any particular relevance to software "improvements" - it's more about reducing (emotional) grief than increasing performance in an IT context. – FumbleFingers Aug 4 '15 at 18:09

It's not a single word, but I'd probably use pretty much the same phrasing you used in your question: "I added features" or "I added functionality".

To me, the word "extended" suggests that you created extensions—separate pieces of software which work with the existing software to extend its functionality—rather than modifying the software to add functionality. But maybe this misunderstanding is unlikely.

I think all the other suggestions I've seen (enhanced, improved, upgraded, ameliorated) are too vague, because they could easily refer to other types of improvement besides adding new features.


It sounds like you're answering the wrong question. All previous answers have addressed you finding a word to describe the task you were doing. But this isn't what you say you're being asked for.

If they're wanting to know what new skills you learnt, they don't care whether you refactored code or wrote new features or whatever. That isn't a skill, that's a task. A skill is something like "how to program in C", or "how to code for test". Your tasks are how you learnt those skills.

Remember that you're writing this for someone else to read. Check again what you're being asked to give them. And after you've written it, pretend that you're them and read it as if it was something that had just been handed to you, using the criteria that you've been given. Then go back and rework the bits that don't fit what someone in that position would be looking for.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.