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. Are OO skills important when someone has a good technical knowledge

Are OO skills important when someone has a good technical knowledge

Scheduled Pinned Locked Moved The Lounge
csharpc++htmlcomdesign
65 Posts 34 Posters 2 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.
  • N N a v a n e e t h

    Recently I interviewed one guy and found that he is very good in technical stuff. He got a good understanding about C++ and C#. But his OO skills was not up to the level that my company was expecting. He knows and can create classes or interfaces, create good and readable code but he doesn't know to apply design patterns, handling the class responsibilities etc. IMO, OO skills like these can be developed easily when one starts working on projects. Technical knowledge and the willingness to learn matters. What will you do if you were in my position? Do you think advanced OO knowledge is needed to work on a project? Any thoughts?

    Navaneeth How to use google | Ask smart questions

    _ Offline
    _ Offline
    _Damian S_
    wrote on last edited by
    #2

    N a v a n e e t h wrote:

    IMO, OO skills like these can be developed easily when one starts working on projects. Technical knowledge and the willingness to learn matters.

    True... Someone with good design/development skills who writes good code can be taught to do OO no problems... Someone who knows OO inside and out but writes sloppy code is a liability... It's like the old saying "everything is a nail if the only tool you have is a hammer".

    N a v a n e e t h wrote:

    What will you do if you were in my position?

    Hire him and expand his knowledge to include OO if that's important to your company/project.

    I don't have ADHD, I have ADOS... Attention Deficit oooh SHINY!! Booger Mobile (n) - A bright green 1964 Ford Falcon - our entry into the Camp Quality esCarpade!! Do something wonderful - make a donation to Camp Quality today!!

    N 1 Reply Last reply
    0
    • _ _Damian S_

      N a v a n e e t h wrote:

      IMO, OO skills like these can be developed easily when one starts working on projects. Technical knowledge and the willingness to learn matters.

      True... Someone with good design/development skills who writes good code can be taught to do OO no problems... Someone who knows OO inside and out but writes sloppy code is a liability... It's like the old saying "everything is a nail if the only tool you have is a hammer".

      N a v a n e e t h wrote:

      What will you do if you were in my position?

      Hire him and expand his knowledge to include OO if that's important to your company/project.

      I don't have ADHD, I have ADOS... Attention Deficit oooh SHINY!! Booger Mobile (n) - A bright green 1964 Ford Falcon - our entry into the Camp Quality esCarpade!! Do something wonderful - make a donation to Camp Quality today!!

      N Offline
      N Offline
      N a v a n e e t h
      wrote on last edited by
      #3

      _Damian S_ wrote:

      Hire him and expand his knowledge to include OO if that's important to your company/project.

      Problem is I can't take the final decision. My company management is a crap and they think OO is the biggest thing in the world.

      Navaneeth How to use google | Ask smart questions

      _ G 2 Replies Last reply
      0
      • N N a v a n e e t h

        _Damian S_ wrote:

        Hire him and expand his knowledge to include OO if that's important to your company/project.

        Problem is I can't take the final decision. My company management is a crap and they think OO is the biggest thing in the world.

        Navaneeth How to use google | Ask smart questions

        _ Offline
        _ Offline
        _Damian S_
        wrote on last edited by
        #4

        Use my statement to your boss/management... You can teach a good programmer OO more easily than you can teach someone who knows OO but is a bad programmer to improve their coding... Of course, you could just let it unfold, let them break it, then smugly say "I told you so", but I don't think that will help!

        I don't have ADHD, I have ADOS... Attention Deficit oooh SHINY!! Booger Mobile (n) - A bright green 1964 Ford Falcon - our entry into the Camp Quality esCarpade!! Do something wonderful - make a donation to Camp Quality today!!

        C 1 Reply Last reply
        0
        • N N a v a n e e t h

          Recently I interviewed one guy and found that he is very good in technical stuff. He got a good understanding about C++ and C#. But his OO skills was not up to the level that my company was expecting. He knows and can create classes or interfaces, create good and readable code but he doesn't know to apply design patterns, handling the class responsibilities etc. IMO, OO skills like these can be developed easily when one starts working on projects. Technical knowledge and the willingness to learn matters. What will you do if you were in my position? Do you think advanced OO knowledge is needed to work on a project? Any thoughts?

          Navaneeth How to use google | Ask smart questions

          J Offline
          J Offline
          Joe Woodbury
          wrote on last edited by
          #5

          My experience is that there is a direct relationship to how well developers can site design patterns and how much they suck in actually writing actual code (and solving actual problems.) (Yes, I'm exaggerating, but I do get very exasperated by developers overly attached to theory. I once had to "supervise" a developer with a PhD who spent an inordinate amount of time "proving" on paper that his algorithm was faster than mine. He could never grasp that when you ran the actual real world data that we actually used through the algorithms my "dumb code" ran circles around his (and was far smaller and insanely easier to maintain.))

          T 1 Reply Last reply
          0
          • J Joe Woodbury

            My experience is that there is a direct relationship to how well developers can site design patterns and how much they suck in actually writing actual code (and solving actual problems.) (Yes, I'm exaggerating, but I do get very exasperated by developers overly attached to theory. I once had to "supervise" a developer with a PhD who spent an inordinate amount of time "proving" on paper that his algorithm was faster than mine. He could never grasp that when you ran the actual real world data that we actually used through the algorithms my "dumb code" ran circles around his (and was far smaller and insanely easier to maintain.))

            T Offline
            T Offline
            Todd Smith
            wrote on last edited by
            #6

            Joe Woodbury wrote:

            My experience is that there is a direct relationship to how well developers can site design patterns and how much they suck in actually writing actual code (and solving actual problems.)

            You just demonstrated IRant in conjunction with IGeneralization which is often used along with IMakeShitUpOnTheFly which happens to be related to IUnknown. As for the OP, I would say it depends on what kind of peer development you do at your company. It's hard to learn good OO in a bubble. p.s. IKid

            Todd Smith

            J 1 Reply Last reply
            0
            • N N a v a n e e t h

              Recently I interviewed one guy and found that he is very good in technical stuff. He got a good understanding about C++ and C#. But his OO skills was not up to the level that my company was expecting. He knows and can create classes or interfaces, create good and readable code but he doesn't know to apply design patterns, handling the class responsibilities etc. IMO, OO skills like these can be developed easily when one starts working on projects. Technical knowledge and the willingness to learn matters. What will you do if you were in my position? Do you think advanced OO knowledge is needed to work on a project? Any thoughts?

              Navaneeth How to use google | Ask smart questions

              R Offline
              R Offline
              Rajesh R Subramanian
              wrote on last edited by
              #7

              I would have hired him.

              It is a crappy thing, but it's life -^ Carlo Pallini

              1 Reply Last reply
              0
              • T Todd Smith

                Joe Woodbury wrote:

                My experience is that there is a direct relationship to how well developers can site design patterns and how much they suck in actually writing actual code (and solving actual problems.)

                You just demonstrated IRant in conjunction with IGeneralization which is often used along with IMakeShitUpOnTheFly which happens to be related to IUnknown. As for the OP, I would say it depends on what kind of peer development you do at your company. It's hard to learn good OO in a bubble. p.s. IKid

                Todd Smith

                J Offline
                J Offline
                Joe Woodbury
                wrote on last edited by
                #8

                You must work at Microsoft where the motto is; anything not done in COM isn't worth doing? :)

                modified on Thursday, August 13, 2009 12:45 AM

                C 1 Reply Last reply
                0
                • N N a v a n e e t h

                  Recently I interviewed one guy and found that he is very good in technical stuff. He got a good understanding about C++ and C#. But his OO skills was not up to the level that my company was expecting. He knows and can create classes or interfaces, create good and readable code but he doesn't know to apply design patterns, handling the class responsibilities etc. IMO, OO skills like these can be developed easily when one starts working on projects. Technical knowledge and the willingness to learn matters. What will you do if you were in my position? Do you think advanced OO knowledge is needed to work on a project? Any thoughts?

                  Navaneeth How to use google | Ask smart questions

                  R Offline
                  R Offline
                  Rama Krishna Vavilala
                  wrote on last edited by
                  #9

                  Depends on the seniority level at which you are hiring. If he has 1-3 years experience yes definitely hire him 3-5 years experience it is a maybe 5+ years experience then don't hire him also he might not know a pattern by name but he might be able to design something which looks iike one of the pattern or the design is very good. Then definitely hire him. Knowing pattern names only is no qualification.

                  V R D L 4 Replies Last reply
                  0
                  • N N a v a n e e t h

                    Recently I interviewed one guy and found that he is very good in technical stuff. He got a good understanding about C++ and C#. But his OO skills was not up to the level that my company was expecting. He knows and can create classes or interfaces, create good and readable code but he doesn't know to apply design patterns, handling the class responsibilities etc. IMO, OO skills like these can be developed easily when one starts working on projects. Technical knowledge and the willingness to learn matters. What will you do if you were in my position? Do you think advanced OO knowledge is needed to work on a project? Any thoughts?

                    Navaneeth How to use google | Ask smart questions

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

                    IMHO, hire him (or her). Every company has a "culture" and yours happens to embrace design patterns and class responsibilites. I've been using OOP principles since Turbo Pascal introduced the concept in version 5.5, and never heard of either until recently. Who the hell cares about the buzzword of the day? He's got a solid foundation, and probably can be trained easily enough into your particular mindset to be a real asset. Good fundamentals are hard to find in any technical candidate these days - grab him.

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

                    R 1 Reply Last reply
                    0
                    • N N a v a n e e t h

                      Recently I interviewed one guy and found that he is very good in technical stuff. He got a good understanding about C++ and C#. But his OO skills was not up to the level that my company was expecting. He knows and can create classes or interfaces, create good and readable code but he doesn't know to apply design patterns, handling the class responsibilities etc. IMO, OO skills like these can be developed easily when one starts working on projects. Technical knowledge and the willingness to learn matters. What will you do if you were in my position? Do you think advanced OO knowledge is needed to work on a project? Any thoughts?

                      Navaneeth How to use google | Ask smart questions

                      B Offline
                      B Offline
                      BillWoodruff
                      wrote on last edited by
                      #11

                      (Namaste, or Namaskaram, or Vanakkum : your choice), Sri Navaneeth, An interesting question : from my point of view you are very prudently weighing the cost/benefit and risk of using some of your "political capital" and "cred" with management against a possible valuable addition to your team. Is there perhaps a "middle path" here where you propose to hire the employee first as a contractor, or on a three month trial basis, with specific written notice to the employee that they are expected to demonstrate mastery of certain OO skills and concepts within that period. Another thought : have you discussed the candidate and your views with the other members of the team he or she would be actually working with closely ? Did they have the opportunity to interview the candidate ? I think if your team is saying the candidate is "worth the risk" then he or she has a much better chance at success than if your team strongly oppose the candidate. Now the "ruthless bastards" I've worked with in the past would offer the candidate a slightly lower job position with a really lower rate of pay with the promise for an up-or-out performance review within six months (and that would be stretched out indefinitely). But I am pretty sure you are not one of those :) best, Bill

                      "Many : not conversant with mathematical studies, imagine that because it [the Analytical Engine] is to give results in numerical notation, its processes must consequently be arithmetical, numerical, rather than algebraical and analytical. This is an error. The engine can arrange and combine numerical quantities as if they were letters or any other general symbols; and it fact it might bring out its results in algebraical notation, were provisions made accordingly." Ada, Countess Lovelace, 1844

                      1 Reply Last reply
                      0
                      • N N a v a n e e t h

                        Recently I interviewed one guy and found that he is very good in technical stuff. He got a good understanding about C++ and C#. But his OO skills was not up to the level that my company was expecting. He knows and can create classes or interfaces, create good and readable code but he doesn't know to apply design patterns, handling the class responsibilities etc. IMO, OO skills like these can be developed easily when one starts working on projects. Technical knowledge and the willingness to learn matters. What will you do if you were in my position? Do you think advanced OO knowledge is needed to work on a project? Any thoughts?

                        Navaneeth How to use google | Ask smart questions

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

                        Yes, but you need to see their code to judge it for yourself. Too many hacks can talk a good game.

                        J N 2 Replies Last reply
                        0
                        • P PIEBALDconsult

                          Yes, but you need to see their code to judge it for yourself. Too many hacks can talk a good game.

                          J Offline
                          J Offline
                          Joe Woodbury
                          wrote on last edited by
                          #13

                          PIEBALDconsult wrote:

                          Too many hacks can talk a good game.

                          Hacks usually give themselves away fairly quickly; I'm more leery of those who can spew all the buzzwords.

                          1 Reply Last reply
                          0
                          • R Rama Krishna Vavilala

                            Depends on the seniority level at which you are hiring. If he has 1-3 years experience yes definitely hire him 3-5 years experience it is a maybe 5+ years experience then don't hire him also he might not know a pattern by name but he might be able to design something which looks iike one of the pattern or the design is very good. Then definitely hire him. Knowing pattern names only is no qualification.

                            V Offline
                            V Offline
                            Viral Upadhyay
                            wrote on last edited by
                            #14

                            spot on :thumbsup:

                            Viral My Site Tips & Tracks

                            1 Reply Last reply
                            0
                            • R Roger Wright

                              IMHO, hire him (or her). Every company has a "culture" and yours happens to embrace design patterns and class responsibilites. I've been using OOP principles since Turbo Pascal introduced the concept in version 5.5, and never heard of either until recently. Who the hell cares about the buzzword of the day? He's got a solid foundation, and probably can be trained easily enough into your particular mindset to be a real asset. Good fundamentals are hard to find in any technical candidate these days - grab him.

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

                              R Offline
                              R Offline
                              Rajesh R Subramanian
                              wrote on last edited by
                              #15

                              Excellent comment. :)

                              It is a crappy thing, but it's life -^ Carlo Pallini

                              1 Reply Last reply
                              0
                              • N N a v a n e e t h

                                Recently I interviewed one guy and found that he is very good in technical stuff. He got a good understanding about C++ and C#. But his OO skills was not up to the level that my company was expecting. He knows and can create classes or interfaces, create good and readable code but he doesn't know to apply design patterns, handling the class responsibilities etc. IMO, OO skills like these can be developed easily when one starts working on projects. Technical knowledge and the willingness to learn matters. What will you do if you were in my position? Do you think advanced OO knowledge is needed to work on a project? Any thoughts?

                                Navaneeth How to use google | Ask smart questions

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

                                Doesn't make sense, every house has a style, it may be adopted as a design pattern, and there seems to be hundreds of the bloody things, or it may be internally developed. You expect a dev to know the particular patterns you are using. I consider that a long stretch. I recall a contract in the late 90's I think, VB5 anyway, where the project lead said we develop in this style and when I said I had never used that style he stated that he didn't ask wether I had but wether I WOULD use their standard. I instantly accepted the contract. Learning a patternt/practice is infinately easier than learning to code decently. Hire the bloke (assumed) and give him the doco on the pattern/practice.

                                Never underestimate the power of human stupidity RAH

                                S 1 Reply Last reply
                                0
                                • R Rama Krishna Vavilala

                                  Depends on the seniority level at which you are hiring. If he has 1-3 years experience yes definitely hire him 3-5 years experience it is a maybe 5+ years experience then don't hire him also he might not know a pattern by name but he might be able to design something which looks iike one of the pattern or the design is very good. Then definitely hire him. Knowing pattern names only is no qualification.

                                  R Offline
                                  R Offline
                                  Rajesh R Subramanian
                                  wrote on last edited by
                                  #17

                                  I'd beg to differ. What if a candidate isn't exposed to any kind of design pattern mumbo-jumbos at all, for all the years of his work? I've seen and worked with some excellent developers, who can write fast and efficient code, but don't know a thing about design pattern. I'd see knowing design patterns and other flashy stuff a plus, but I'd never miss a good developer who has a solid grasp of the fundamentals, with problem solving skills, no matter what he knows or not knows about design patterns. A good developer can always learn this stuff and cope with your organization (if design pattern and other buzz is a part of your organization's culture). Just my thought though... :)

                                  It is a crappy thing, but it's life -^ Carlo Pallini

                                  R 1 Reply Last reply
                                  0
                                  • P PIEBALDconsult

                                    Yes, but you need to see their code to judge it for yourself. Too many hacks can talk a good game.

                                    N Offline
                                    N Offline
                                    N a v a n e e t h
                                    wrote on last edited by
                                    #18

                                    Code looks perfect to me.

                                    Navaneeth How to use google | Ask smart questions

                                    R 1 Reply Last reply
                                    0
                                    • N N a v a n e e t h

                                      Recently I interviewed one guy and found that he is very good in technical stuff. He got a good understanding about C++ and C#. But his OO skills was not up to the level that my company was expecting. He knows and can create classes or interfaces, create good and readable code but he doesn't know to apply design patterns, handling the class responsibilities etc. IMO, OO skills like these can be developed easily when one starts working on projects. Technical knowledge and the willingness to learn matters. What will you do if you were in my position? Do you think advanced OO knowledge is needed to work on a project? Any thoughts?

                                      Navaneeth How to use google | Ask smart questions

                                      V Offline
                                      V Offline
                                      V 0
                                      wrote on last edited by
                                      #19

                                      In the end, the client is only happy with the solution, not the way how it was implimented. Internally you should care if his code is understandable, robust etc... but who cares if it's not according to pattern A or B?

                                      V.
                                      Stop smoking so you can: Enjoy longer the money you save. Moviereview Archive

                                      K 1 Reply Last reply
                                      0
                                      • M Mycroft Holmes

                                        Doesn't make sense, every house has a style, it may be adopted as a design pattern, and there seems to be hundreds of the bloody things, or it may be internally developed. You expect a dev to know the particular patterns you are using. I consider that a long stretch. I recall a contract in the late 90's I think, VB5 anyway, where the project lead said we develop in this style and when I said I had never used that style he stated that he didn't ask wether I had but wether I WOULD use their standard. I instantly accepted the contract. Learning a patternt/practice is infinately easier than learning to code decently. Hire the bloke (assumed) and give him the doco on the pattern/practice.

                                        Never underestimate the power of human stupidity RAH

                                        S Offline
                                        S Offline
                                        Sundance Kid
                                        wrote on last edited by
                                        #20

                                        That is so true. Every company has their own standard(s), methods etc. I don't think it's fair to expect someone to know all :omg:

                                        1 Reply Last reply
                                        0
                                        • R Rajesh R Subramanian

                                          I'd beg to differ. What if a candidate isn't exposed to any kind of design pattern mumbo-jumbos at all, for all the years of his work? I've seen and worked with some excellent developers, who can write fast and efficient code, but don't know a thing about design pattern. I'd see knowing design patterns and other flashy stuff a plus, but I'd never miss a good developer who has a solid grasp of the fundamentals, with problem solving skills, no matter what he knows or not knows about design patterns. A good developer can always learn this stuff and cope with your organization (if design pattern and other buzz is a part of your organization's culture). Just my thought though... :)

                                          It is a crappy thing, but it's life -^ Carlo Pallini

                                          R Offline
                                          R Offline
                                          Rama Krishna Vavilala
                                          wrote on last edited by
                                          #21

                                          I reiterate, it is not neccessary to memorize GOF design patterns or even know all of them.

                                          Rajesh R Subramanian wrote:

                                          A good developer can always learn this stuff and cope with your organization

                                          As I said, for 1-3 exprience I will hire the candidate becaue at this stage he can start learning and become good in OOP. Beacuse at this stage the developer can learn very fast. One who has 5+ year experience in modern days should have already done that. At least they should have known some OOP concepts and some patterns. For example, Factory method and Abstract Factory is too common to miss in 5 years.uage If developer does not know it, it only implies that the developer is not a good learner. Of course the exception to this rule is one who does not have experience with C++/C#/Java or other OOP language.

                                          T 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