Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. As a developer, should I know...

As a developer, should I know...

Scheduled Pinned Locked Moved The Lounge
46 Posts 33 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Lost User

    What is so hard about saying: "Let me get back to you"? I use it all the time in my dealings with (paying) customers. No one has ever had issues. What no one likes, is off-the-cuff answers that are questionable. Or, you can say it's not in your job description; but that usually only works in union shops.

    Sander RosselS Offline
    Sander RosselS Offline
    Sander Rossel
    wrote on last edited by
    #34

    Gerry Schmitz wrote:

    Let me get back to you

    Because finding the answer takes way too much time that I don't have :) I'm never off-the-cuff, questionable, or sticking to my job description :laugh:

    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

    L 1 Reply Last reply
    0
    • Sander RosselS Sander Rossel

      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

      C Offline
      C Offline
      carlospc1970
      wrote on last edited by
      #35

      Maybe it's because I work as a freelance but I have the vision that a developer must provide solutions no matter what.

      Sander RosselS 1 Reply Last reply
      0
      • C carlospc1970

        Maybe it's because I work as a freelance but I have the vision that a developer must provide solutions no matter what.

        Sander RosselS Offline
        Sander RosselS Offline
        Sander Rossel
        wrote on last edited by
        #36

        That's a bit shortsighted... If I asked you to create something in a language you never used, using a database you've never heard off, including some libraries you didn't know exist... Sure, you COULD come up with something, but you know it's going to take you a lot of time to learn all that stuff and the result will not be top notch quality. The only fair answer would be "sorry, but I can't help you with that" :)

        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

        C 1 Reply Last reply
        0
        • D d shapiro

          How many developers does it take to screw in a lightbulb?

          None, it's a hardware problem.

          But in all seriousness, why not know the stuff? Everything you learn improves you as an individual and makes you more valuable. Always keep improving yourself!

          Sander RosselS Offline
          Sander RosselS Offline
          Sander Rossel
          wrote on last edited by
          #37

          I'm still figuring out whether to learn Python, Scala, Redis, Neo4j, .NET Core, baking a pie, driving a bus... You see there's a problem with learning everything :) Although I agree learning about some networking makes lots of sense.

          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

          1 Reply Last reply
          0
          • Sander RosselS Sander Rossel

            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

            K Offline
            K Offline
            Kirk 10389821
            wrote on last edited by
            #38

            From my standpoint, this is where consultants come in. Find an expert, or someone with a lot of SOLID experience here, and pay them to give you the information and the configuration settings you will need. The problem today is that most companies are making decisions WAY BEYOND their abilities. Kinda like Clinton using a non-secured blackberry to check her own email server while using A CHINESE network connection. Really. If TLS was not setup, then her password went through in clear text. OMG. But companies do this all the time. It is why I like the new push to use SSL Everywhere, all the time. Everything should be encrypted when it is going over the wire.

            1 Reply Last reply
            0
            • M Marc Clifton

              RabbitMQ has inbuilt support for TLS. As of RabbitMQ 3.4.0, SSLv3 is disabled automatically to prevent the POODLE attack. You should just read the RabbmitMQ docs[^]. :) Marc

              Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

              Sander RosselS Offline
              Sander RosselS Offline
              Sander Rossel
              wrote on last edited by
              #39

              I read it ;) But setting up TLS is a bit tricky... First of all I'm not an admin on the server and second the examples in the docs are Linux while I'm on Windows. My answer was: Yes, we can use TLS, but we don't have to as the service is not reachable from the outside (all localhost) :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

              1 Reply Last reply
              0
              • Sander RosselS Sander Rossel

                Gerry Schmitz wrote:

                Let me get back to you

                Because finding the answer takes way too much time that I don't have :) I'm never off-the-cuff, questionable, or sticking to my job description :laugh:

                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

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #40

                You're not Dutch then.

                1 Reply Last reply
                0
                • Sander RosselS Sander Rossel

                  That's a bit shortsighted... If I asked you to create something in a language you never used, using a database you've never heard off, including some libraries you didn't know exist... Sure, you COULD come up with something, but you know it's going to take you a lot of time to learn all that stuff and the result will not be top notch quality. The only fair answer would be "sorry, but I can't help you with that" :)

                  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

                  C Offline
                  C Offline
                  carlospc1970
                  wrote on last edited by
                  #41

                  I live in a third world country. My customers need solutions. I know I can't always provide top notch quality but when I can provide good quality I tell them and when I cannot I recommend someone who does. My point is that I am a developer who is not afraid to get his hands dirty in servers, networks, configurations and the like. Cheers!

                  1 Reply Last reply
                  0
                  • Sander RosselS Sander Rossel

                    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

                    P Offline
                    P Offline
                    patbob
                    wrote on last edited by
                    #42

                    Sander Rossel wrote:

                    Common knowledge, or stuff left to sysadmins?

                    My opinion, of course you should know, maybe not now, but eventually. You were tasked with getting RabbitMQ running, therefore you are now the expert that will be answering those sorts of questions when they come up. So you don't know when your lead asked? Fine, go figure it out. After all, someone has to know to be able to advise the sysadmins. Your lead clearly thought that someone should be you, and I completely agree with them.

                    We can program with only 1's, but if all you've got are zeros, you've got nothing.

                    1 Reply Last reply
                    0
                    • Sander RosselS Sander Rossel

                      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

                      S Offline
                      S Offline
                      Steve Naidamast
                      wrote on last edited by
                      #43

                      I read through all of the responses to your post and I have a completely opposite opinion for you. If you are a software developer and that is what you are specializing in than you already have a huge knowledge base to learn and work with. Trying to cross lines into networking and\or infrastructure, which have their own huge knowledge bases has been found to be highly inefficient making much of the results ineffective in the long term. A study was done on just this issue many years ago when networking was a more compartmentalized function due to the limited set of options we had. Even then it was found that software developers and software engineers would also run into serious issues when attempting to work with two completely different knowledge bases. As a result, the analysis found that it simply couldn't be done very easily. Today, of course, we have different environment but the emphasis has gone from 4th generation style development environments back to 3rd generation or even maybe second generation environments where the level of detail is larger exponentially. The commenters who have replied that yes you should have knowledge of this additional detail in your tool-kits are promoting the idea that developers should be an "every man" type of professional, which is categorically impossible. However, this pressure has evolved as a result of different viewpoints towards the way development should be accomplished; and in this case it is to be done by turning the clock backwards. The idea for example, of ASP.NET WebForms was to make web development far easier than it was with "Classic ASP", which it did. The same held true for standard Windows Forms, which allowed developers to use other languages than C++ to develop desktop applications. Today development has now promoted so many paths to getting a task done that it is almost impossible to decide which one will secure one's career in the long term. The answer everyone provides for this is to know just about everything like it is something very easy to do and anyone should be able to do it. Well, you can't. Nonetheless, the requirements of you maintaining your position may also depend on how flexible you are in such situations so it may behoove you to develop a proposal that suggests bringing in a specialist as needed to assist with you such additional complexities if you cannot afford the time to learn this material on your own due to other pressing responsibilities. The real problem you are facing is that the younger generations

                      1 Reply Last reply
                      0
                      • Sander RosselS Sander Rossel

                        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 Offline
                        A Offline
                        Andre_Prellwitz
                        wrote on last edited by
                        #44

                        One of the problems with software these days is when developers knowingly or (more commonly) unknowingly develop insecure solutions. Saying "it's an architect's problem" is buying into the culture that enables this. If--as you've mentioned--you've analyzed the problem and determined you don't need to know something, then move on. But be aware of the issue and remember that you may not be around to explain (or remember) today's decisions for the eventuality that scalability necessitates a modification. Saying that the solution doesn't merit security because of its lack of ubiquity is ignoring the fact that cyber-criminals can easily gather formidable bases of data by taking advantage of lack of security across the multitude of solutions that didn't think security was merited. In fact, most sensitive data available to criminals these days is not gathered in one fell swoop, but combined from many sources that have been compromised.

                        1 Reply Last reply
                        0
                        • Sander RosselS Sander Rossel

                          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

                          U Offline
                          U Offline
                          User 12469201
                          wrote on last edited by
                          #45

                          You can make a WCF Service speak JSON :)

                          1 Reply Last reply
                          0
                          • Sander RosselS Sander Rossel

                            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

                            P Offline
                            P Offline
                            pmauriks
                            wrote on last edited by
                            #46

                            I think understanding at least basically how it works will make your code better. For example, if you send a message and expect a response - understanding some of the things that might make it take longer - such as the effects of latency for example will make the difference between something that works, and something that works well - even on slower networks. There's a lot of developers who get by without these skills - and if you have a good relationship with you sysadmins, then you can make it work. By way of analogy - you don't need to understand how your car works to be a good driver, but you do need to know something about the car - or when it needs fixing, to safely make an interstate trip in it. Otherwise you might make it - or you might become friends with the RACV. :-)

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups