Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

What is the fundamental difference between working as a business programmer or a systems programmer.

An example of a business programmer to me would be someone that works in finance or insurance. What types of jobs would a systems programmer be?

share|improve this question

closed as off-topic by gnat, Ixrec, Snowman, MichaelT, Kilian Foth May 4 at 8:39

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – Ixrec, Snowman, MichaelT, Kilian Foth
If this question can be reworded to fit the rules in the help center, please edit the question.

probably someone working not in ('finance', 'insurance') –  Joset Apr 12 '11 at 3:46
so finance and insurance are the only businesses out there that use software? –  jwenting Apr 12 '11 at 4:17
Bear in mind that "finance" covers a whole lot of different types of programming, including systems programming (some of the work in very high frequency trading is to eliminate latency). –  David Thornley Apr 12 '11 at 13:51

4 Answers 4

up vote 4 down vote accepted

Simplistically - you're working on the OS not an application running under that OS.

Typically systems programming needs more awareness of hardware and timings etc as you're frequently working much closer to the hardware. Maybe working on a complete embedded system, or creating device drivers for the OS.

You could be working on...

Any of a multitude of linux based devices - NAS, routers and the like. Any of the various embedded systems with custom / modified OSes.

Not uncommon to see keywords like realtime and embedded in the same job ad :)

share|improve this answer

The difference between a business programmer and systems programmer would be difference in domain knowledge. The term Business Programmer is loosely coined here. It could mean anyone from a android developer (eventhough those guys like to call themselves "App developers") to a Salesforce Developer to a Oracle based developer. These people will have a lot of knowledge of the domain they are working on (like a bank or a shopping portal or an airline etc). System Developers on the other hand generally mean people who have knowledge about the "System" on which the "Business" is running (like a SQl server or LINUX). these guys would know what server is needed to handle what kind of workload or which OS is best suited in which environment.

share|improve this answer

I don't think there is a clear definition of what constitutes systems programming, business programming, application programming, etc. All of the terms are somewhat vague, and their usage is probably somewhat cultural. Personally, the way I've tended to use the terms has been:

Systems Programming: Primarily concerned with kernel development, general purpose libraries, and services. Applications exist primarily to interact with hardware or other software. Generally, systems libraries and applications are not intended to serve a specific business purpose, but instead focus on providing underlying system functionality upon which more specific applications can be built.

Application Programming: Almost never in kernel space. May or may not talk to hardware or other software, but always intended to be used by a user. May or may not be business oriented. Makes use of libraries and applications at the system level to implement basic functionality.

Business Programming: May be application programming or systems programming, but software is created to perform or support specific business needs and logic.

share|improve this answer

A Business programmer - Can be someone who is working closely with business who can understand how the client system works, business flow/know how and with industry experience etc who can interpret the business requirements into a technical solutions.

A Systems programmer - Can be someone who has got more system knowledge such as Hardware configuration, technical architecture of the system and can understand and talk to machines using any technical programming languages.

share|improve this answer

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