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. What is the bare minimum you should know as a .NET developer ?

What is the bare minimum you should know as a .NET developer ?

Scheduled Pinned Locked Moved The Lounge
csharpquestionjavascriptasp-netlinq
50 Posts 22 Posters 8 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.
  • P PIEBALDconsult

    You never know. It's better to have it and not need it.... There was a place I was working (but not as a developer) where my boss asked if I could whip up a simple little inventory application. My only tools were CSC and EDIT (I can't stand NotePad X| ). No matter how impressive an application may be, if it was simply dragged-and-dropped and the developer didn't write any actual code, then it doesn't convey mastery of the language and framework. Just for the heck of it, a week or two ago I wrote a simple webbrowser app (WinForms) and only actually typed three or four assignments (with Intellisense's help even); Visual Studio did all the rest. It merely shows familiarity with the IDE. We old dogs who started out with no IDEs (until Turbo Pascal) have experience and understanding of what's going on in the background that the GUI-jocks can't comprehend. Learn from history, it'll make you a better practitioner*. * That's not directed at you, Christian, it's just a general statement.

    C Offline
    C Offline
    Christian Graus
    wrote on last edited by
    #19

    PIEBALDconsult wrote:

    No matter how impressive an application may be, if it was simply dragged-and-dropped and the developer didn't write any actual code, then it doesn't convey mastery of the language and framework

    I agree with this.

    PIEBALDconsult wrote:

    Just for the heck of it, a week or two ago I wrote a simple webbrowser app (WinForms)

    Yeah, the number of people who post programming questions that start with 'I am writing a web browser'. No, you're not,

    PIEBALDconsult wrote:

    We old dogs who started out with no IDEs (until Turbo Pascal) have experience and understanding of what's going on in the background that the GUI-jocks can't comprehend

    See, I learned how to do MFC apps without using the IDE in VC6, and back then, so much code was being generated in so many places, that I thought it was a very worthwhile thing to do, so when the IDE messed things up, you could fix it. But, I don't understand why someone would find themselves asked to write a C# app without access to the IDE, when there's free ones out there, that was my only thought. I guess it would help to understand the code that is auto generated by the IDE for the form generation, but not as much as it was in MFC.

    Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

    P 1 Reply Last reply
    0
    • V virang_21

      I am thinking what is the minimum should I know before I can call myself a "good" .NET developer ? This is what I am comfortable with so far : C# ASP.NET Javascript AJAX Control toolkit Telerik Rad Controls , iTextSharp library (Third party .NET controls) Some basic LINQ (I started using this in my current project).

      M Offline
      M Offline
      Marc Clifton
      wrote on last edited by
      #20

      virang_21 wrote:

      This is what I am comfortable with so far :

      Brrraaappp! Wrong answer. C#: Nope. Knowing a language doesn't make you a good developer. And in the .NET world, there's VB.NET, F#, and a plethora of other interesting languages. So, why C#? ASP.NET: Nope. There's WPF and Silverlight as well. So, why ASP.NET? Javascript: WTF does that have to do with .NET? AJAX Control toolkit: Again, WTF does that have to do with .NET? Telerik: What about DevExpress, ComponentOne, Infragistics, etc? Why pick Telerik? Some basic LINQ: What about lambda expressions? What about knowing how do to things the "old fashioned" way so you know when to properly apply LINQ? [edit] The irony of it all is that, when you ask what makes a good .NET developer, you totally left out learning the .NET framework!!! [/edit] Well, in my book, a "good" .NET developer is a subset of someone who is actually a good developer. For example, there's this fellow that I've been working with that has tons of Oracle experience and almost zero .NET experience. But he's a good developer. And he did excellent work with some C# development that we asked him to take on. Marc

      C P 2 Replies Last reply
      0
      • V virang_21

        I am thinking what is the minimum should I know before I can call myself a "good" .NET developer ? This is what I am comfortable with so far : C# ASP.NET Javascript AJAX Control toolkit Telerik Rad Controls , iTextSharp library (Third party .NET controls) Some basic LINQ (I started using this in my current project).

        A Offline
        A Offline
        Andy Brummer
        wrote on last edited by
        #21

        I hope you aren't talking about the Telerik rad web controls, other than learning to curse their existence. :^)

        I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon

        1 Reply Last reply
        0
        • M Marc Clifton

          virang_21 wrote:

          This is what I am comfortable with so far :

          Brrraaappp! Wrong answer. C#: Nope. Knowing a language doesn't make you a good developer. And in the .NET world, there's VB.NET, F#, and a plethora of other interesting languages. So, why C#? ASP.NET: Nope. There's WPF and Silverlight as well. So, why ASP.NET? Javascript: WTF does that have to do with .NET? AJAX Control toolkit: Again, WTF does that have to do with .NET? Telerik: What about DevExpress, ComponentOne, Infragistics, etc? Why pick Telerik? Some basic LINQ: What about lambda expressions? What about knowing how do to things the "old fashioned" way so you know when to properly apply LINQ? [edit] The irony of it all is that, when you ask what makes a good .NET developer, you totally left out learning the .NET framework!!! [/edit] Well, in my book, a "good" .NET developer is a subset of someone who is actually a good developer. For example, there's this fellow that I've been working with that has tons of Oracle experience and almost zero .NET experience. But he's a good developer. And he did excellent work with some C# development that we asked him to take on. Marc

          C Offline
          C Offline
          Christian Graus
          wrote on last edited by
          #22

          Marc Clifton wrote:

          AJAX Control toolkit: Again, WTF does that have to do with .NET?

          In fairness, it IS a framework written to be consumed by .NET languages. It's also often confused with AJAX, as in, people think using that is the same as using AJAX, when it's not.

          Marc Clifton wrote:

          What about knowing how do to things the "old fashioned" way so you know when to properly apply LINQ?

          Yeah, the number of people in the programming forums desperate to know how to solve an issue using LINQ, instead of asking what the best way is.....

          Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

          1 Reply Last reply
          0
          • C Christian Graus

            PIEBALDconsult wrote:

            No matter how impressive an application may be, if it was simply dragged-and-dropped and the developer didn't write any actual code, then it doesn't convey mastery of the language and framework

            I agree with this.

            PIEBALDconsult wrote:

            Just for the heck of it, a week or two ago I wrote a simple webbrowser app (WinForms)

            Yeah, the number of people who post programming questions that start with 'I am writing a web browser'. No, you're not,

            PIEBALDconsult wrote:

            We old dogs who started out with no IDEs (until Turbo Pascal) have experience and understanding of what's going on in the background that the GUI-jocks can't comprehend

            See, I learned how to do MFC apps without using the IDE in VC6, and back then, so much code was being generated in so many places, that I thought it was a very worthwhile thing to do, so when the IDE messed things up, you could fix it. But, I don't understand why someone would find themselves asked to write a C# app without access to the IDE, when there's free ones out there, that was my only thought. I guess it would help to understand the code that is auto generated by the IDE for the form generation, but not as much as it was in MFC.

            Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

            P Offline
            P Offline
            PIEBALDconsult
            wrote on last edited by
            #23

            Christian Graus wrote:

            I don't understand why someone would find themselves asked to write a C# app without access to the IDE

            It was late 2002, in the offices we needed to inventory, the only PCs that had .net (or XP for that matter, all the rest were Win95) were the POSses -- and we couldn't install anything. CSC was simply the only available compiler* (and maybe VBC). I could have written it at home with Visual Studio, but I wouldn't have been paid. (I also considered using Perl and having all the required files on a floppy. :rolleyes: ) This summer I was taking some classes at one of the local community colleges. They don't teach any programming ( :wtf: ) and I couldn't install anything so I used EDIT and CSC when I wanted to whip up some code. The PC on my desk at my new job doesn't have Visual Studio -- all official development is done via remote desktop (and I didn't have access until yesterday) -- and I'm not allowed to install anything, so again, I've been using EDIT, CSC, and VBC to acquaint myself with VB. * Oh, wait, can't DEBUG assemble MASM?... :~

            R 1 Reply Last reply
            0
            • M Marc Clifton

              virang_21 wrote:

              This is what I am comfortable with so far :

              Brrraaappp! Wrong answer. C#: Nope. Knowing a language doesn't make you a good developer. And in the .NET world, there's VB.NET, F#, and a plethora of other interesting languages. So, why C#? ASP.NET: Nope. There's WPF and Silverlight as well. So, why ASP.NET? Javascript: WTF does that have to do with .NET? AJAX Control toolkit: Again, WTF does that have to do with .NET? Telerik: What about DevExpress, ComponentOne, Infragistics, etc? Why pick Telerik? Some basic LINQ: What about lambda expressions? What about knowing how do to things the "old fashioned" way so you know when to properly apply LINQ? [edit] The irony of it all is that, when you ask what makes a good .NET developer, you totally left out learning the .NET framework!!! [/edit] Well, in my book, a "good" .NET developer is a subset of someone who is actually a good developer. For example, there's this fellow that I've been working with that has tons of Oracle experience and almost zero .NET experience. But he's a good developer. And he did excellent work with some C# development that we asked him to take on. Marc

              P Offline
              P Offline
              PIEBALDconsult
              wrote on last edited by
              #24

              Marc Clifton wrote:

              knowing how do to things the "old fashioned" way

              Yeah, that's what I'm tawkin' about! :-D

              Marc Clifton wrote:

              when to properly apply LINQ

              E.g. -- never.

              1 Reply Last reply
              0
              • P PIEBALDconsult

                Christian Graus wrote:

                I don't understand why someone would find themselves asked to write a C# app without access to the IDE

                It was late 2002, in the offices we needed to inventory, the only PCs that had .net (or XP for that matter, all the rest were Win95) were the POSses -- and we couldn't install anything. CSC was simply the only available compiler* (and maybe VBC). I could have written it at home with Visual Studio, but I wouldn't have been paid. (I also considered using Perl and having all the required files on a floppy. :rolleyes: ) This summer I was taking some classes at one of the local community colleges. They don't teach any programming ( :wtf: ) and I couldn't install anything so I used EDIT and CSC when I wanted to whip up some code. The PC on my desk at my new job doesn't have Visual Studio -- all official development is done via remote desktop (and I didn't have access until yesterday) -- and I'm not allowed to install anything, so again, I've been using EDIT, CSC, and VBC to acquaint myself with VB. * Oh, wait, can't DEBUG assemble MASM?... :~

                R Offline
                R Offline
                Roger Wright
                wrote on last edited by
                #25

                PIEBALDconsult wrote:

                I've been using EDIT, CSC, and VBC to acquaint myself with VB.

                After that, you could teach Dante a thing or two...

                PIEBALDconsult wrote:

                can't DEBUG assemble MASM?

                I think so, but if not I have a copy of Turbo Assembler you can borrow. :)

                "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                P 2 Replies Last reply
                0
                • R Roger Wright

                  PIEBALDconsult wrote:

                  I've been using EDIT, CSC, and VBC to acquaint myself with VB.

                  After that, you could teach Dante a thing or two...

                  PIEBALDconsult wrote:

                  can't DEBUG assemble MASM?

                  I think so, but if not I have a copy of Turbo Assembler you can borrow. :)

                  "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                  P Offline
                  P Offline
                  PIEBALDconsult
                  wrote on last edited by
                  #26

                  Ohh... don't get me started on that frickin' Dante!! Idiot stole my brother's computers... A-hole... :mad:

                  1 Reply Last reply
                  0
                  • R Roger Wright

                    PIEBALDconsult wrote:

                    I've been using EDIT, CSC, and VBC to acquaint myself with VB.

                    After that, you could teach Dante a thing or two...

                    PIEBALDconsult wrote:

                    can't DEBUG assemble MASM?

                    I think so, but if not I have a copy of Turbo Assembler you can borrow. :)

                    "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                    P Offline
                    P Offline
                    PIEBALDconsult
                    wrote on last edited by
                    #27

                    Roger Wright wrote:

                    Turbo Assembler

                    I used to, it came with Borland's higher-end C++ and Pascal as I recall. But I never used it.

                    R 1 Reply Last reply
                    0
                    • P PIEBALDconsult

                      Roger Wright wrote:

                      Turbo Assembler

                      I used to, it came with Borland's higher-end C++ and Pascal as I recall. But I never used it.

                      R Offline
                      R Offline
                      Roger Wright
                      wrote on last edited by
                      #28

                      Neither did I, actually. Turbo Pascal 5.5 did everything I ever wanted a computer language to do, and more efficiently than anything since.

                      "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                      P 1 Reply Last reply
                      0
                      • R Roger Wright

                        Neither did I, actually. Turbo Pascal 5.5 did everything I ever wanted a computer language to do, and more efficiently than anything since.

                        "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                        P Offline
                        P Offline
                        PIEBALDconsult
                        wrote on last edited by
                        #29

                        Chicks didn't seem to dig it as much though.

                        1 Reply Last reply
                        0
                        • M Mycroft Holmes

                          PIEBALDconsult wrote:

                          Learn how to develop without an IDE.

                          You really are a sadist, I would consider this, half the fun is finding out where all the bits are hidden in the IDE.

                          Never underestimate the power of human stupidity RAH

                          R Offline
                          R Offline
                          Rick York
                          wrote on last edited by
                          #30

                          Don't you mean a masochist ?

                          M 1 Reply Last reply
                          0
                          • V virang_21

                            I am thinking what is the minimum should I know before I can call myself a "good" .NET developer ? This is what I am comfortable with so far : C# ASP.NET Javascript AJAX Control toolkit Telerik Rad Controls , iTextSharp library (Third party .NET controls) Some basic LINQ (I started using this in my current project).

                            C Offline
                            C Offline
                            Carl Howarth
                            wrote on last edited by
                            #31

                            I think the point here is being missed slightly - it's not just about the aspects of the language and the APIs you know, it's also about being able to use and understand good design principles, design patterns and all round decent OO. On top of that being able to understand the needs of the business for which you are developing and being able to challenge approaches where necessary is a big bonus. Obviously being able to code the thing is important but there is too much emphasis on the language itself.

                            1 Reply Last reply
                            0
                            • R Rick York

                              Don't you mean a masochist ?

                              M Offline
                              M Offline
                              Mycroft Holmes
                              wrote on last edited by
                              #32

                              No he was recommending the OP not to use the IDE - you are assuming PIEBALDconsult has done this (in which case I would use other words than masochist to describe him)

                              Never underestimate the power of human stupidity RAH

                              P 1 Reply Last reply
                              0
                              • V virang_21

                                I am thinking what is the minimum should I know before I can call myself a "good" .NET developer ? This is what I am comfortable with so far : C# ASP.NET Javascript AJAX Control toolkit Telerik Rad Controls , iTextSharp library (Third party .NET controls) Some basic LINQ (I started using this in my current project).

                                E Offline
                                E Offline
                                EbenRoux
                                wrote on last edited by
                                #33

                                Rumour has it that before your are proficient at anything you have to be doing it for about 10 years. The language isn't all that important since it is just a way to make the computer dance. What is more important is software design.

                                M 1 Reply Last reply
                                0
                                • P PIEBALDconsult

                                  Master C#. Learn how to develop without an IDE.

                                  J Offline
                                  J Offline
                                  Johann Gerell
                                  wrote on last edited by
                                  #34

                                  PIEBALDconsult wrote:

                                  Learn how to develop without an IDE.

                                  YAGNI[^]

                                  Time you enjoy wasting is not wasted time - Bertrand Russel

                                  P 1 Reply Last reply
                                  0
                                  • V virang_21

                                    I am thinking what is the minimum should I know before I can call myself a "good" .NET developer ? This is what I am comfortable with so far : C# ASP.NET Javascript AJAX Control toolkit Telerik Rad Controls , iTextSharp library (Third party .NET controls) Some basic LINQ (I started using this in my current project).

                                    B Offline
                                    B Offline
                                    Branko Dimitrijevic
                                    wrote on last edited by
                                    #35

                                    To be a good ".NET" developer you need to be a good developer. The understanding of concepts on which software is built is far more important than understanding any particular tool. If you know the concept, you will learn a tool implementing that concept quickly. So what concepts should you know to be a "good developer"? Here are some ideas (and I'm sure I missed many):

                                    • Algorithms and data structures. E.g. you should know, roughly, what kind of performance can you expect from Dictionary and why, how to implement Object.GetHashCode(), when to use List vs. LinkedList, how to construct and traverse a tree etc, etc...
                                    • OOP concepts - when to use inheritance vs. composition, polymorphism, how to encapsulate properly, when to use "pure" OOP vs. generics etc...
                                    • Functional concepts - side effects, functions as first-class citizens, eager vs. lazy execution...
                                    • Database concepts - what are basic DB objects and how to put them together in a database, what are B-trees and what they can and cannot do, what each of the ACID letters really means...
                                    • Multi-threaded concepts - threads vs. processes, types of locks, granularity and scalability, deterministic vs. non-deterministic execution (and bugs!), what is the cost of a context switch or acquiring a lock...
                                    • Memory concepts - heap vs. garbage collection, what is virtual memory, caching and cache coherence, kinds of memory bugs...
                                    • Network concepts - why do we have Ethernet, IP, TCP, HTTP, HTML etc. as separate layers? What each of them does? Why is HTTP sessionless and how do we achieve sessions? How can we scale? What should we do on server, what on the client and what on both?
                                    • Code construction best practice - the importance of clear requirements, layered design, coding conventions, documentation, testing, version control, issue tracking...
                                    • Etc, etc....
                                    1 Reply Last reply
                                    0
                                    • V virang_21

                                      I am thinking what is the minimum should I know before I can call myself a "good" .NET developer ? This is what I am comfortable with so far : C# ASP.NET Javascript AJAX Control toolkit Telerik Rad Controls , iTextSharp library (Third party .NET controls) Some basic LINQ (I started using this in my current project).

                                      A Offline
                                      A Offline
                                      Alexander DiMauro
                                      wrote on last edited by
                                      #36

                                      To be a 'good' programmer, it's not about the tools. You have to know Design Patterns (and when to use or not use them), and SOLID principles, and even try things out in other languages. For all things SOLID, just do a search for 'Uncle Bob Martin', or 'SOLID Programming Principles'. The best book to get started is Agile Principles, Patterns and Practices in C# by Robert and Micah Martin. Learning Design Patterns + SOLID principles changed my programming for the better. There are many resources on the internet, that would be the best place to start, and the book I mention above is a must-have for C#. Find a good users group, and/or visit a Code Camp if there is one near you. Read Code. Lots of it. It's not about the tools. The tools don't make you a better programmer.

                                      P 1 Reply Last reply
                                      0
                                      • M Mycroft Holmes

                                        No he was recommending the OP not to use the IDE - you are assuming PIEBALDconsult has done this (in which case I would use other words than masochist to describe him)

                                        Never underestimate the power of human stupidity RAH

                                        P Offline
                                        P Offline
                                        PIEBALDconsult
                                        wrote on last edited by
                                        #37

                                        Mycroft Holmes wrote:

                                        recommending the OP not to use the IDE

                                        No, I don't say "don't use it", I say "learn not to rely on it". Having the flexibility to use it or not use are is very beneficial. Like being able to walk to the gas station when you run out of gas, use candles when the power goes out, etc. There are craftsmen who use only hand tools, not because they have to, but because they choose to.

                                        M 1 Reply Last reply
                                        0
                                        • P PIEBALDconsult

                                          You never know. It's better to have it and not need it.... There was a place I was working (but not as a developer) where my boss asked if I could whip up a simple little inventory application. My only tools were CSC and EDIT (I can't stand NotePad X| ). No matter how impressive an application may be, if it was simply dragged-and-dropped and the developer didn't write any actual code, then it doesn't convey mastery of the language and framework. Just for the heck of it, a week or two ago I wrote a simple webbrowser app (WinForms) and only actually typed three or four assignments (with Intellisense's help even); Visual Studio did all the rest. It merely shows familiarity with the IDE. We old dogs who started out with no IDEs (until Turbo Pascal) have experience and understanding of what's going on in the background that the GUI-jocks can't comprehend. Learn from history, it'll make you a better practitioner*. * That's not directed at you, Christian, it's just a general statement.

                                          E Offline
                                          E Offline
                                          Euhemerus
                                          wrote on last edited by
                                          #38

                                          PIEBALDconsult wrote:

                                          No matter how impressive an application may be, if it was simply dragged-and-dropped and the developer didn't write any actual code, then it doesn't convey mastery of the language and framework.

                                          I'd have to agree with the sentiment expressed. It's so easy these days to write an app in a development suite but not to have a clue about HOW it actually accomplishes what it does. This obviously makes it so much more difficult in bug tracking if there is no prior understanding of the underlying generated code.

                                          There is only one satisfying way to boot a computer.

                                          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