Hardware programmer vs software programmer

  • Thread starter Thread starter Pithikos
  • Start date Start date
  • Tags Tags
    Hardware Software
Click For Summary

Discussion Overview

The discussion revolves around the differences between hardware programming and software programming, exploring the lifestyle, market opportunities, and personal preferences associated with each field. Participants share their experiences and thoughts on transitioning from computer science to electronics, as well as the challenges and interests in both domains.

Discussion Character

  • Exploratory
  • Debate/contested
  • Technical explanation

Main Points Raised

  • One participant expresses a desire to move from computer science to electronics, seeking a more active career that involves physical interaction with materials.
  • Another participant questions the definition of hardware programming, asking whether it refers to creating physical devices or developing device drivers.
  • Some participants suggest that roles in hardware and software can be interchangeable, particularly in industrial settings that require integration of both.
  • A participant shares their dissatisfaction with abstract programming concepts in Java, preferring the more tangible aspects of hardware programming and expressing a desire to work with Linux and hardware.
  • Concerns are raised about the necessary math and physics skills for hardware programming, with one participant admitting to a lack of confidence in these areas but still expressing interest in creating projects like an MP3 player.
  • A suggestion is made to gain experience with microcontrollers by studying architecture manuals and using external interfaces for programming.
  • Another participant notes that developing for Linux has become easier, with available system libraries facilitating multi-platform projects.

Areas of Agreement / Disagreement

Participants express a variety of perspectives on the appeal and challenges of hardware versus software programming, with no clear consensus on which path is preferable or more fulfilling. The discussion remains open-ended regarding the interchangeability of roles and the necessary skills for success in either field.

Contextual Notes

Participants mention uncertainties regarding their skills in math and physics, as well as the abstract nature of some programming languages, which may affect their career choices. The discussion reflects a range of personal experiences and aspirations without definitive conclusions.

Pithikos
Messages
55
Reaction score
1
I have taken Computer Science for a bit more than a year and I was concidering to maybe jump to Electronics. My main reason for this is that I don't want to spend the rest of my life on a chair. I do love sitting by the computer, scripting/programming, learning and everything but I feel that it's not worth it to make a career out of it.

So maybe Electronics is a milder version of that? More motional? Anyone who has some experience with the differences in working with hardware and software? What's the difference in the market? In lifestyle? Can a hardware programmer find a work as a software programmer and vice versa?
 
Physics news on Phys.org
Hey Pithikos.

By hardware programming do you mean creating physical computing or electronic devices out of existing hardware units, or do you mean doing something like say creating device drivers for specific hardware units?
 
Pithikos said:
I have taken Computer Science for a bit more than a year and I was concidering to maybe jump to Electronics. My main reason for this is that I don't want to spend the rest of my life on a chair. I do love sitting by the computer, scripting/programming, learning and everything but I feel that it's not worth it to make a career out of it.

So maybe Electronics is a milder version of that? More motional? Anyone who has some experience with the differences in working with hardware and software? What's the difference in the market? In lifestyle? Can a hardware programmer find a work as a software programmer and vice versa?

To some extent the roles are interchangeable.
Industrial production lines involves both software, hardware and mechanical integration.

Last, you may realize later in your life than sitting on a chair, as you call it, is the best way to deal with the job market.
 
Hey Pithikos.

By hardware programming do you mean creating physical computing or electronic devices out of existing hardware units, or do you mean doing something like say creating device drivers for specific hardware units?

I am not sure myself. We just started deeper into Java at my class at the moment and it feels like it's not my thing.. I want to know exactly what I am doing. With all the abstraction I feel like this is a philosophy class and not a technical class. That's the main thing that got me into thinking. We had C earlier and I liked it more. We didn't program for any hardware what so ever so I don't have experience with that.

I would say simply that programming hardware looks like more fun and it involves some physical contact with your material(microcontrollers etc). I am an open-source fanatic and I think the best thing would be if I could be doing Linux and hardware. However I am not sure how I could bridge the two.

Something else I am a bit afraid is the math and physics. I am not that good in any of the two. However I would love the idea of being able to make my own mp3 player that runs on Linux :!)

Last, you may realize later in your life than sitting on a chair, as you call it, is the best way to deal with the job market.
How do you mean?
 
Pithikos said:
I am not sure myself. We just started deeper into Java at my class at the moment and it feels like it's not my thing.. I want to know exactly what I am doing. With all the abstraction I feel like this is a philosophy class and not a technical class. That's the main thing that got me into thinking. We had C earlier and I liked it more. We didn't program for any hardware what so ever so I don't have experience with that.

I would say simply that programming hardware looks like more fun and it involves some physical contact with your material(microcontrollers etc). I am an open-source fanatic and I think the best thing would be if I could be doing Linux and hardware. However I am not sure how I could bridge the two.

Something else I am a bit afraid is the math and physics. I am not that good in any of the two. However I would love the idea of being able to make my own mp3 player that runs on Linux :!)

If you want to do something like program micro-controllers, a good way to get some experience is to get the architecture manuals and tools (you can program these things through an external interface like through a PC with a device driver that talks to your device).

You will usually be able to get an architecture manual and a manual that contains the instruction set. In the instruction set, details should be given about what gets modified when an instruction is taken out. For example an instruction might modify hardware flags, hardware memory, hardware registers and so on.

In terms of linux development, it's actually a lot easier now to create multi-platform projects like your MP3 player. Nowadays there are many system libraries to do your basic stuff like file management as well as supplying an uncompressed PCM format to a sound device.

For the above, you just need a documented API reference. Just a tip though, make sure that the data structures that need to be passed to these routines are correct if you are using a multi-platform code base.
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 204 ·
7
Replies
204
Views
13K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 29 ·
Replies
29
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 17 ·
Replies
17
Views
8K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
9
Views
4K
Replies
10
Views
5K