PDA

View Full Version : Developpers vs. Systems Engineers, what do you think?



odiseo77
September 30th, 2007, 02:45 AM
Hello people. First, let me make something clear: this is not intended to start a flame war here about who's best (devs or systems engineers); it's only to clarify some doubts I have regarding the computer science and the people who, in some way, is related it with it. I'd also like to make something clear: dislike a lot of people here in the forum (and in other linux forums), I'm not directly related with computers ...I studied literature at the university but I've been using linux as my OS of choice for about 3 years now just because I love it, sympathize with its philosophy and find it to be more secure than windows.

Well, the main question would be this: hasn't happened to you at any moment that you find someone who knows lot about programming (or at least has an acceptable level of knowledge in this area), but doesn't know too much about the OS as a whole (linux, in this case)? Or vice versa: haven't you found someone who knows a lot about the hidden tricks and obscure sides of an OS, but doesn't know programming?

I ask this because last year I took a linux administration course and everyone but me had a certain background related with computers (had studied some area of the computer science before and worked in the same field). In spite of this, I got the higher levels in the certification tests (well, my main advantage was that I had been using linux for about 2 years and most of them hadn't and had a windows background :lolflag: ). In this course there was even a java programmer working in the Defense Ministry and she got one of the lower levels at the second certification test (I thought programmers had the philosopher's stone? :confused: ).

As for me, I've learned linux mainly by my own, in an empirical way and googling a lot :mrgreen: and I consider myself an average linux user (you know, the one that sometimes has doubts and asks questions and other times helps other users, etc), but I have no clue about how to write programs (well, a slight clue); the only thing I can do is small and poor bash scripts (and in a very clumsy way), but that's the as far as I can go regarding programming at the moment.

Oh, and by the way, right now I'm starting the first semester of Systems Engineering in a distance university (or open university, don't know exactly what's the proper term in english), just because I want to learn more and work in the area.

Thanks in advance for your comments, views, etc. :)

Fbot1
September 30th, 2007, 03:21 AM
Usually when people start learning to programming they start focusing more on the apps then on the system itself. Java might also cause brain damage.

odiseo77
September 30th, 2007, 03:28 AM
Usually when people start learning to programming they start focusing more on the apps then on the system itself.

Yes, that what I thought... maybe the areas of knowledge are too divided and nobody can know everything?



Java might also cause brain damage.

I'm not sure why you say this, since I'm not a programmer, as I said before, but, lol :lolflag:

cogadh
September 30th, 2007, 04:15 AM
Technically speaking, a programmer does not actually need to know anything about the OS, they just need to know the programming language. When writing a program, in the most basic sense, all you are doing is starting with a goal or task (i.e. "I need to make the computer do X") and using the programming language to tell the computer to complete that goal or task. They are constrained by the functions of the language, and not necessarily aware of or concerned by the function of the operating system, since the language itself is already designed to work within the operating system.

Before anybody flips out, I know I am oversimplifying things a bit. It is just for the sake of illustrating the point.

odiseo77
September 30th, 2007, 04:59 AM
I see, thanks for clarifying this to me, cogadh. I think I'll study programming for a couple of semesters at the university, so I'm really curious and excited about how it will be. Being an official university, I guess they'll teach me the standard or more used programming languages ...the only thing I hope is not to end up having to write visual basic apps since, as far as I know, for things I've read on the net, it's just M$ rubbish. (In some months I'll probably be annoying the folks at the 'Programming talk' section for help and tutorials on writing programs but, atm, I'm too green with it :) ).

Regards.

Fbot1
September 30th, 2007, 04:59 AM
Technically speaking, a programmer does not actually need to know anything about the OS, they just need to know the programming language. When writing a program, in the most basic sense, all you are doing is starting with a goal or task (i.e. "I need to make the computer do X") and using the programming language to tell the computer to complete that goal or task. They are constrained by the functions of the language, and not necessarily aware of or concerned by the function of the operating system, since the language itself is already designed to work within the operating system.

Before anybody flips out, I know I am oversimplifying things a bit. It is just for the sake of illustrating the point.

That's mostly true but not always. You absolutely need to understand the OS for performance critical programs (an extreme example of this would be drivers) but I think you understand this.

cogadh
September 30th, 2007, 05:08 AM
I see, thanks for clarifying this to me, cogadh. I think I'll study programming for a couple of semesters at the university, so I'm really curious and excited about how it will be. Being an official university, I guess they'll teach me the standard or more used programming languages ...the only thing I hope is not to end up having to write visual basic apps since, as far as I know, for things I've read on the net, it's just M$ rubbish. (In some months I'll probably be annoying the folks at the 'Programming talk' section for help and tutorials on writing programs but, atm, I'm too green with it :) ).

Regards.
If you have the option of choosing a language to start with, I highly recommend Python. It is relatively easy to learn and the structure of the language itself forces you to learn to program in the correct manner, more so than most other languages (especially VB).


That's mostly true but not always. You absolutely need to understand the OS for performance critical programs (an extreme example of this would be drivers) but I think you understand this.
Oh yes, quite well understood. :)

odiseo77
September 30th, 2007, 05:14 AM
If you have the option of choosing a language to start with, I highly recommend Python. It is relatively easy to learn and the structure of the language itself forces you to learn to program in the correct manner, more so than most other languages (especially VB).

Thanks for the suggestion, a friend of mine writes little apps in python and he also recommended it to me some months ago; even sent me a a python guide that I haven't read yet ...guess I'll dust off my data partition to look for it ;)

Fbot1
September 30th, 2007, 06:00 AM
If you have the option of choosing a language to start with, I highly recommend Python. It is relatively easy to learn and the structure of the language itself forces you to learn to program in the correct manner, more so than most other languages (especially VB).

I disagree with that but that's a subject for another thread.

Celegorm
September 30th, 2007, 07:41 AM
Yea, knowing your way around an OS and being able to program are two completely different skill sets.

stijngysemans
September 30th, 2007, 07:55 AM
I'm a programmer myself, it was also my field of study. My main programming language is Java. I really find it difficult to learn and help develop linux, mainly because programming an OS is totally different than a java business application.

popch
September 30th, 2007, 10:03 AM
That's mostly true but not always. You absolutely need to understand the OS for performance critical programs (an extreme example of this would be drivers) but I think you understand this.

While the programmer often understands the 'structure' (i.e. the innards) of the OS, he or she does not actually use as many functions of the OS or of the GUI as does a moderately competent user.

As a somewhat lopsided parallel case: piano tuners are often unable to play the piano, and there are very few piano players (even accomplished artists) who would even know how to start tuning their instruments.

GSF1200S
September 30th, 2007, 01:40 PM
Im the kind of guy that really likes to "create" things. I like to take an idea and turn it into something functional...

Thus, the IDEA of programming appeals to me, but I dont know where to start. I would like to learn a language that is cross-platform and that wont be outdated next month- you know, one that will be around a while. I know that languages fall alot, but maybe theres a few out there that will stick around.

I would more or less use programming to further the usage of the core OS. This is to say, maybe an application the OS is missing, or a utility or something like that.

In answer to the above, I would think programming and sys admin COULD be intertwined, but usually arent. I place more value on understanding the OS, because it allows me to get it to do what I want.

odiseo77
October 3rd, 2007, 05:03 AM
Hi again, sorry for the delay, I was a bit busy when I was not thinking along the lines.
I think the main question on my first post is related to the term hacker (http://en.wikipedia.org/wiki/Hacker) (not cracker!) and the belief that a hacker (a skilled programmer) has to know everything about the computer science, including, system administration, etc. But, maybe nobody can claim to know everything?
Probably, as most of you have stated, programming and system administration are two completely different things --although unavoidably and inherently related; something demonstrable by the fact of the conception of an OS, in which process, I guess, programmers and systems engineers have to "sit on the same table" in a sort of speaking, to communicate, share their knowledge and ideas, define policies, etc. (shortly, they must act in conjunction with each other).
Maybe I'm being too obvious here, but I think this comes from the misconception (and idealization) of the term 'hacker' (or 'guru' if you prefer) as someone who knows everything about computers and their innards.

Greetings, and thanks for sharing your comments and thoughts.