Is the ability to use/design MVC framework signature for advanced programmers?
Page 1 of 2 12 LastLast
Results 1 to 15 of 23

Thread: Is the ability to use/design MVC framework signature for advanced programmers?

  1. #1
    Senior Member
    Join Date
    Sep 2011
    Posts
    258

    Is the ability to use/design MVC framework signature for advanced programmers?

    Just curious. I've heard of people talking about definitions of noncoders, beginners, intermediate and advanced programmers. This is what I have in mind:

    Noncoder:
    ---Cannot write their own codes at all
    ---Occasionally able to copy/paste existing codes to get something to work

    Beginners:
    ---Can write basic procedural codes, knowledgebase of PHP covers at least arrays and functions
    ---Always able to copy/paste existing codes to get desired results
    ---Not capable of using OOP and basic design patterns
    ---Can use simple MySQL database functions

    Intermediate:
    ---Can write OOP codes and know how to use third party classes
    ---Familiar with concepts like inheritance, Polymorphism, interface/abstract class and encapsulation, and make use of them in practices
    ---Know basic design patterns such as strategy, abstract factory, iterator, decorator, and can apply them in practices if a design pattern is specified
    ---Can use OOP style database libraries such as MySQLi and PDO, or even know how to extend them if needed

    Advanced:
    ---OOP is being used everywhere, almost no trace of procedural codes
    ---Capable of using and designing MVC frameworks, know how to use Zend, CakePHP, Codeignitor frameworks
    ---Expert at all design pattens, and know which is the best design pattern to use under various circumstances
    ---Maybe more, such as usage of AJAX?

  2. #2
    Beware: Crazy Scientist leatherback's Avatar
    Join Date
    Mar 2002
    Location
    Small border town between Netherlands and Germany
    Posts
    5,395
    I don't know. For certain is that advanced web-users know how to choose the right section for their posts in forums. Guess what.. This forum section is for questions about CODING not about discussion.
    Php 4.* to 5.*. A small step for programmers. But a leap for me!

  3. #3
    Senior Member
    Join Date
    Sep 2011
    Posts
    258
    Well I do know of that, but I dont see a section for general programming discussion so this is the only place I can post a topic like this. Its not my fault.

    Also I am at best an intermediate programmer at this point, do not accuse me of being arrogant here since I aint claiming myself as advanced or professional programmer.

  4. #4
    Pedantic Curmudgeon Weedpacket's Avatar
    Join Date
    Aug 2002
    Location
    General Systems Vehicle "Thrilled To Be Here"
    Posts
    21,774
    Echo Lounge
    General Chat and Introductions. A catch all for any topic.
    THERE IS AS YET INSUFFICIENT DATA FOR A MEANINGFUL ANSWER
    FAQs! FAQs! FAQs! Most forums have them!
    Search - Debugging 101 - Collected Solutions - General Guidelines - Getting help at all

  5. #5
    PHP Witch laserlight's Avatar
    Join Date
    Apr 2003
    Location
    Singapore
    Posts
    13,459
    Quote Originally Posted by Lord Yggdrasill
    Well I do know of that, but I dont see a section for general programming discussion so this is the only place I can post a topic like this. Its not my fault.
    I would take Weedpacket's option of Echo Lounge if this was a completely general question of programming, but from your list it appears to have a strong PHP slant, so... I guess I'll just leave this thread here in the PHP coding forum

    Quote Originally Posted by Lord Yggdrasill
    I've heard of people talking about definitions of noncoders, beginners, intermediate and advanced programmers.
    Everyone has various strengths and weaknesses. Ultimately, what is important is the general ability to get the job done correctly in a timely manner such that the result is sufficiently secure, efficient and maintainable. In this sense, the idea of "OOP is being used everywhere, almost no trace of procedural codes" as being inherently desirable is a little foolish. OOP is not magic that solves all problems; other programming paradigms have their place too.

    Using a database library like PDO is one thing: surely a beginner can be taught to use PDO? What I would look out for is how the library is used and skills in database design, e.g., normalisation for a relational database.

    Even before we talk about "expert at all design patterns", does the programmer even have basic data structures and algorithms down pat? Do you really need to explicitly know "all design patterns" to be able to come up with good design? I think not.

    Usage of frameworks is a useful practical skill, but if your team is using framework X, I think it would be in your best interest to know if the programmer knows framework X, and if not, how easily he/she will be able to learn to use it. Not knowing a major framework does not automatically mean that one is not a good programmer, but being unable to learn fast enough could be a sign of a bad programmer.

    Oh, and what about security? I say this somewhat as an afterthought, yet security is perhaps one of the most important things to keep in mind on the Web.
    Use Bazaar for your version control system
    Read the PHP Spellbook
    Learn How To Ask Questions The Smart Way

  6. #6
    Senior Member
    Join Date
    Sep 2011
    Posts
    258
    Oh yeah, I forgot to mention security, sorry about that.

    Regarding frameworks, its an interesting thing to think about Advanced programmers should be able to codeg with teams adopting Zend, CakePHP, Codeignitor thats no question, but if the team is using its own frameworks he should be able to get used to the convention soon enough. Id say whether a programmer can learn Framework X or not depends not only on the programmers skills, but also the framework. If the framework is poorly designed, it hurts programmers too.

    umm I did not really think much about database design before making this thread, since the focus was on a programmer's PHP skills. A well-designed database structure helps programmers in various way. I am not quite sure if database design ability is part of the programming skills, perhaps people have various opinions when it comes down to this.

  7. #7
    Senior Member
    Join Date
    Mar 2009
    Location
    Canada
    Posts
    794
    According to this list I'm an intermediate developer, though I use AJAX extensively and even prefer it to some "standard" approaches. I also try to keep security in mind from the beginning of the project.

    Quote Originally Posted by Lord Yggdrasill View Post
    ---Familiar with concepts like inheritance, Polymorphism, interface/abstract class and encapsulation, and make use of them in practices
    ---Know basic design patterns such as strategy, abstract factory, iterator, decorator, and can apply them in practices if a design pattern is specified
    I know and (mostly) understand concepts like inheritance, polymorphism, etc. but I probably wouldn't know how to use them effectively in practice (mostly because I've never really needed to use them). I could probably use a refresher on design strategies, though.

    Quote Originally Posted by Lord Yggdrasill View Post
    ---Maybe more, such as usage of AJAX?
    As mentioned above, I use AJAX quite a bit, and I don't consider myself to be an advanced or senior developer.
    Prison of Mirrors
    Declare variables, not war.

  8. #8
    Senior Member
    Join Date
    Sep 2011
    Posts
    258
    Well the list is simply what I believe noncoders, beginners, intermediate and advanced programmers should be. Ya know, what I believe may not be what others believe, though Id say it does give you some kind of ideas if you are clueless at which category you are.

    I suppose I'd say I am an intermediate-skilled programmer too, but I am nowhere even close to the concept of advanced and professional. To my understanding, an intermediate programmer needs to know design patterns and more importantly, can design a script if given a design pattern. For instance, if your boss or teammates ask you to code with abstract factory or decorator pattern, you should be able to complete your script using these patterns. For advanced programmers, they not only need to know how to code with a given design pattern, but also know what is the best design pattern for a project.

    Regarding AJAX, well, it is indeed quite controversial at this point. AJAX technically is not PHP programming, and therefore should be irrelevant to a programmer's PHP skills. Still, an advanced programmer needs to know how to use PHP and AJAX integrally. I cant do that yet, and in fact I barely know AJAX at all. People expect expert/advanced programmer to know everything, this is one undeniable truth.

  9. #9
    Senior Member Derokorian's Avatar
    Join Date
    Apr 2011
    Location
    Denver
    Posts
    1,740
    Quote Originally Posted by laserlight View Post
    Oh, and what about security? I say this somewhat as an afterthought, yet security is perhaps one of the most important things to keep in mind on the Web.
    An after thought, one of the biggest problems I've had when working with others is the thought process of "Oh I'll secure it later". That frustrates me to no end, its like why spend a week writing a DB abstraction layer that is vulnerable to SQL injection, then go back and spend more days fixing it so its not vulnerable to injection when you can just make it right from the get go.

    I find this "security as an afterthought" is all too rampant, and while I have great confidence in your abilities to code defensively from the start laser, the way you phrased this is the epitome of what frustrates me about so many other developers.


    Quote Originally Posted by Lord Yggdrasill View Post
    umm I did not really think much about database design before making this thread, since the focus was on a programmer's PHP skills. A well-designed database structure helps programmers in various way. I am not quite sure if database design ability is part of the programming skills, perhaps people have various opinions when it comes down to this.
    Well in my experience as a developer I can tell you I've designed and developed every database that my projects run on. If I wasn't able to design the DB properly, it greatly effects the re-usability of my code. So I think the 2 do go hand in hand, if you can't design an effective, normalized DB how can you be expected to design an application that interacts with it in an efficient way?

    PPS: According to this list I'm an advanced programmer, tho I disagree with that. I don't think I'm advanced maybe intermediate at best. I still feel there are so many things I don't know - yet for as much as I don't know I feel that are a great deal of things I'm better than most at.
    Last edited by Derokorian; 04-10-2012 at 10:20 AM.
    Sadly, nobody codes for anyone on this forum. People taste your dishes and tell you what is missing, but they don't cook for you. ~anoopmail
    I'd rather be a comma, then a full stop.
    User Authentication in PHP with MySQLi - Don't forget to mark threads resolved - MySQL(i) warning

  10. #10
    Senior Member
    Join Date
    Sep 2011
    Posts
    258
    Well regarding security against SQL injection, the best strategy is to begin with an inherently safer database library. For this reason I strongly recommend PDO, and the software I am developing has a database class extending PDO with methods such as select(), insert(), update() that uses prepared statement, named placeholders, bindparams and execute altogether. Still, using libraries like MySQLi or PDO does not completely get rid of all possible SQL injections, it depends on cases.
    Last edited by Lord Yggdrasill; 04-10-2012 at 10:29 AM.

  11. #11
    Senior Member
    Join Date
    Mar 2009
    Location
    Canada
    Posts
    794
    Quote Originally Posted by Derokorian View Post
    I find this "security as an afterthought" is all too rampant, and while I have great confidence in your abilities to code defensively from the start laser, the way you phrased this is the epitome of what frustrates me about so many other developers.
    Maybe I misinterpreted what was written, but I don't think Laserlight was advocating security as an afterthought but rather security was an afterthought on the list.
    Prison of Mirrors
    Declare variables, not war.

  12. #12
    Senior Member Derokorian's Avatar
    Join Date
    Apr 2011
    Location
    Denver
    Posts
    1,740
    Yes indeed bonesnap. I read it as he responded to the post then at the end of his response went "Security". My point was the way he phrased it, like I said I have all the confidence he can code defensively from the start (being that he's one of the few who's always impressed me with his knowledge here).
    Sadly, nobody codes for anyone on this forum. People taste your dishes and tell you what is missing, but they don't cook for you. ~anoopmail
    I'd rather be a comma, then a full stop.
    User Authentication in PHP with MySQLi - Don't forget to mark threads resolved - MySQL(i) warning

  13. #13
    Senior Member
    Join Date
    Oct 2005
    Location
    Chicago, IL
    Posts
    417
    Another big one is how scalable a programmers code is.. Also, you can probably add how well a programmer documents, adapts to scripts, ability to reuse, ability to communicate, etc.

    I think laserlight nailed it with effectiveness vs efficiency.. Knowing how to get the job done in the in best way possible. Kind of the "work smarter - not harder" approach.

    For me personally I have respect for the depth of knowledge a programmer has in their chosen language - I think it speaks volumes.

    That being said.. there is always new things learn.. especially for this guy
    Bob Lob Law

  14. #14
    Senior Member
    Join Date
    Sep 2011
    Posts
    258
    So, what do you think noncoders, beginners, intermediate and advanced programmers handle security? I hope I can further complete the list I just proposed in the first post. XD

  15. #15
    PHP Witch laserlight's Avatar
    Join Date
    Apr 2003
    Location
    Singapore
    Posts
    13,459
    Quote Originally Posted by Derokorian
    I find this "security as an afterthought" is all too rampant, and while I have great confidence in your abilities to code defensively from the start laser, the way you phrased this is the epitome of what frustrates me about so many other developers.
    That is precisely the reason why I placed my question of where was security in Lord Yggdrasill's proposed list as somewhat of an afterthought. Otherwise, my placement of the word "secure" is no accident.

    Quote Originally Posted by Lord Yggdrasill
    So, what do you think noncoders, beginners, intermediate and advanced programmers handle security?
    Badly
    Use Bazaar for your version control system
    Read the PHP Spellbook
    Learn How To Ask Questions The Smart Way

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •