As a developer, should I know...
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
Sander Rossel wrote:
Or should I know? Common knowledge, or stuff left to sysadmins?
If I need to know something, I learn it, otherwise I leave it to the experts.
-
Sander Rossel wrote:
Or should I know? Common knowledge, or stuff left to sysadmins?
If I need to know something, I learn it, otherwise I leave it to the experts.
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
That's the trouble with all you young whippersnappers with your fancy black box components! In my day if you wanted to set up a network messager you had to do everything yourself including poking packets down the cable with a sharpened stick! Well, ok, not quite. But I do think that some of the modern packages obscure what's going on just a little too much. It certainly can't hurt to know a little something about protocols and SSL and all that nuts and bolts stuff if only to spot when the sysadmin has finally cracked and started storing servers in his "Tardis"!
I am not a number. I am a ... no, wait!
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
Sander Rossel wrote:
should I know?
Probably not required, as it has nothing to do with your part of the problem, but it sounds like you are about to get an introduction anyway! More knowledge is a cool thing! Have fun with it! :)
"Go forth into the source" - Neal Morse
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
If there is someone who is good at it already on the team, then you probably needn't learn it.
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
Sander Rossel wrote:
should we use SSL/TLS
thats a business requirement - not a technical requirement along the lines of "what does it take to get RabbitMQ working ?" (answer as you've already found out, 'not much') you show me the requirements, I'll show you the process/tech It is handy to know a little bit I guess, but, if its a business requirement then you're probably going to have an architect &/or security geek specify wether you need SSL/TLS
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
You are describing yourself as a developer but really asking an architectural question (or really describing an architectural question that your team lead asked of you). Strictly speaking, as a developer, you've probably already done your job... but for career purposes, it would be good to know if security is required and whether or not to use TLS/SSL or something else. If so, it should be parlayed into a functional requirement and funded/time budgeted as such. This is likely a feature creep item.
I'm retired. There's a nap for that... - Harvey
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
As always, yes and no... Reading the documentation shows you (at the very beginning), that it supports TLS/SSL... It also tells you, that "All protocols supported by the broker are TCP-based."... (RabbitMQ - Networking and RabbitMQ[^]) So you should not know BEFORE, but definitely should AFTER...
Skipper: We'll fix it. Alex: Fix it? How you gonna fix this? Skipper: Grit, spit and a whole lotta duct tape.
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
The simple answer is yes. When I was developing an authentication based application using Microsoft's Windows Identity Foundation (WIF) I needed a deep understanding if ADFS and authentication in order to fully grasp how it worked so I could implement the required functionality. I was also then required to provide support to customers in setting up their own authentication environments and so needed to further understand LDAP, Office365, SAML etc. As a web developer it is assumed that you have a pretty good grasp of how the moving parts work e.g. DNS, IP addresses, HTTP etc. Your code needs to run on some form of infrastructure, so the better you understand that infrastructure the better.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare Home | LinkedIn | Google+ | Twitter
-
That's the trouble with all you young whippersnappers with your fancy black box components! In my day if you wanted to set up a network messager you had to do everything yourself including poking packets down the cable with a sharpened stick! Well, ok, not quite. But I do think that some of the modern packages obscure what's going on just a little too much. It certainly can't hurt to know a little something about protocols and SSL and all that nuts and bolts stuff if only to spot when the sysadmin has finally cracked and started storing servers in his "Tardis"!
I am not a number. I am a ... no, wait!
Agreed to a certain degree :D I know what's going on (basically encrypted or plain text communication), but I can't set it up. For the code it matters little though, just a little extra configuration. It's the same with LINQ to SQL/Entities, some programmers just don't understand that they're really talking to a database and that it has certain implications, after all "it's just C#, right?" :wtf: We have a few sysadmins in the company and a few more people who know a thing or two about networks. If something doesn't work I go to them for help :sigh:
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
I depends on the place you work at. If you are working at a large organization, there probably will be a team for specific tasks and roles. Like architects, DBAs, developers, designers, network guys and paranoid SAP personnel. If it is a smaller organization you will end up doing everything and that's you need to be jack of all trades and expert of some.
Sander Rossel wrote:
what protocol did it use, should we use SSL/TLS, and how do we set it up?
I am assuming team lead is someone who will guide the team and help them learn the technology related things you are working on. In that case, IMHO, he should be answering these questions either by himself or by someone higher up the chain (architect/client point of contact).
"You'd have to be a floating database guru clad in a white toga and ghandi level of sereneness to fix this goddamn clusterfuck.", BruceN[^]
-
Sander Rossel wrote:
should I know?
Probably not required, as it has nothing to do with your part of the problem, but it sounds like you are about to get an introduction anyway! More knowledge is a cool thing! Have fun with it! :)
"Go forth into the source" - Neal Morse
kmoorevs wrote:
but it sounds like you are about to get an introduction anyway
Not really, I can't really figure it all out AND stay within budget. Everything is running on one server, so TLS isn't a requirement anyway :laugh: I had my introduction a few weeks ago with a WCF SOAP service. Apparently SOAP requires TLS (and far worse, XML!) :sigh:
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
-
I depends on the place you work at. If you are working at a large organization, there probably will be a team for specific tasks and roles. Like architects, DBAs, developers, designers, network guys and paranoid SAP personnel. If it is a smaller organization you will end up doing everything and that's you need to be jack of all trades and expert of some.
Sander Rossel wrote:
what protocol did it use, should we use SSL/TLS, and how do we set it up?
I am assuming team lead is someone who will guide the team and help them learn the technology related things you are working on. In that case, IMHO, he should be answering these questions either by himself or by someone higher up the chain (architect/client point of contact).
"You'd have to be a floating database guru clad in a white toga and ghandi level of sereneness to fix this goddamn clusterfuck.", BruceN[^]
I work at a small company, about 30 employees. We do have a few network guys, but we're still jacks of all trades. I do software architecture, development, continuous integration, databases, documentation (technical and non-technical), but networking is where I draw the line... That's just a completely different job :sigh:
lw@zi wrote:
IMHO, he should be answering these questions either by himself or by someone higher up the chain
There isn't a higher up the chain, the customer probably doesn't even know what a protocol is :D
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
-
The simple answer is yes. When I was developing an authentication based application using Microsoft's Windows Identity Foundation (WIF) I needed a deep understanding if ADFS and authentication in order to fully grasp how it worked so I could implement the required functionality. I was also then required to provide support to customers in setting up their own authentication environments and so needed to further understand LDAP, Office365, SAML etc. As a web developer it is assumed that you have a pretty good grasp of how the moving parts work e.g. DNS, IP addresses, HTTP etc. Your code needs to run on some form of infrastructure, so the better you understand that infrastructure the better.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare Home | LinkedIn | Google+ | Twitter
Good points, but where do you draw the line?
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
-
I work at a small company, about 30 employees. We do have a few network guys, but we're still jacks of all trades. I do software architecture, development, continuous integration, databases, documentation (technical and non-technical), but networking is where I draw the line... That's just a completely different job :sigh:
lw@zi wrote:
IMHO, he should be answering these questions either by himself or by someone higher up the chain
There isn't a higher up the chain, the customer probably doesn't even know what a protocol is :D
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
Sander Rossel wrote:
There isn't a higher up the chain, the customer probably doesn't even know what a protocol is
In that case you or your team lead need to understand from the customer about the business importance of this application. Then you can decide how much "secure" you want it to be. If your customer is going to host this application on their premise, you might want to talk to their networking team if they have some kind of policies and process about this. You wouldn't want to end up with a product only to know that customers do not support/approve of your communication mechanism.
"You'd have to be a floating database guru clad in a white toga and ghandi level of sereneness to fix this goddamn clusterfuck.", BruceN[^]
-
That's the trouble with all you young whippersnappers with your fancy black box components! In my day if you wanted to set up a network messager you had to do everything yourself including poking packets down the cable with a sharpened stick! Well, ok, not quite. But I do think that some of the modern packages obscure what's going on just a little too much. It certainly can't hurt to know a little something about protocols and SSL and all that nuts and bolts stuff if only to spot when the sysadmin has finally cracked and started storing servers in his "Tardis"!
I am not a number. I am a ... no, wait!
9082365 wrote:
In my day if you wanted to set up a network messager you had to do everything yourself including poking packets down the cable with a sharpened stick!
Yes, and while doing so make sure the Token-Ring network token doesn't drop out. ;)
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
-
Good points, but where do you draw the line?
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
Only you can know where that line is. I know many developers who have little infrastructure knowledge, and I know many developers who have tremendous infrastructure knowledge. As long as you feel sufficiently well armed with knowledge that you can fully engage in the project, then that's a good start :)
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare Home | LinkedIn | Google+ | Twitter
-
A bit about networking? Well, obviously I should as it was required of me today, but in general... My assignment was simple enough, we wanted to use RabbitMQ and I was the one who should get it to work. No problem, I installed Erlang and RabbitMQ, read some tutorials, wrote some client C# code, and I was able to sent to, and receive from, the RabbitMQ queue. Now here's the thing, my team lead then asked me what protocol did it use, should we use SSL/TLS, and how do we set it up? The hell should I know! I write code, I don't configure servers, create certificates, have them signed, etc. Or should I know? Common knowledge, or stuff left to sysadmins? I'm interested in opinions.
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
Knowing a bit is important, but being an expert is not. As a former developer and network expert - different times and jobs - I think it important for the developer to know how to implement various network protocols and processes, but determining which are best for the organization or product is a matter for networking experts to decide and specify. That being said, I found that in my role as a developer, having the detailed hardware level knowledge of an electronics engineer made me a far more capable software developer than any of my software-only peers. Similarly, if you're going to develop networking products or component services, it would give you a decided advantage to become expert in their uses and best practices. But strictly speaking, I wouldn't consider that a job requirement.
Will Rogers never met me.