SitePoint Sponsor

User Tag List

Page 2 of 2 FirstFirst 12
Results 26 to 36 of 36
  1. #26
    SitePoint Wizard silver trophybronze trophy Cups's Avatar
    Join Date
    Oct 2006
    Location
    France, deep rural.
    Posts
    6,869
    Mentioned
    17 Post(s)
    Tagged
    1 Thread(s)
    Quote Originally Posted by rvdavid View Post
    That's a good link
    Selkirk posted that ages ago, I think it got moved, but I followed it. glad you liked it.

    I think another good test is to start replying to users questions on this forum or similar.

    Now that is sobering, and the funny thing is the more time you spend helping others, the more you bare yourself (and, dare I say it, your ineptitudes and misconceptions) to the world, the more you learn.

    I have found that really hard to bear sometimes, but sheesh, the stuff I have learnt from other developers is amazing.

    Then of course if you really want to test yourself, there is the acid test. Start hanging around the PAD forum.

    I also read somewhere, could have been on SP, that your own confidence level, be that over-confident or quiet head-down-learning - can be measured by how many unread programming books you have hanging around your desk, in the WC, in the kitchen (go on, count them).

    Four unread books indicating you are too engrossed in learning to ask yourself questions such as 'how am I doing?'.

    Four unread books means perhaps you are still hungry.
    Off Topic:

    Now I think of it I am interested in what others have "unread" - are they dead? or is it just you dont have time to finish them?

  2. #27
    Follow Me On Twitter: @djg gold trophysilver trophybronze trophy Dan Grossman's Avatar
    Join Date
    Aug 2000
    Location
    Philadephia, PA
    Posts
    20,578
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Cups View Post
    Off Topic:

    Now I think of it I am interested in what others have "unread" - are they dead? or is it just you dont have time to finish them?
    Most of "Agile Web Development with Rails", most of SitePoint's AJAX book, the second half of "Pragmatic Version Control Using Subversion"... a couple others... sounded interesting but didn't find them useful once I started reading. A couple of SitePoint's books have very specific examples in them (like AJAX interaction with Amazon web services) that would be good to have as references but I might not read until I need to.

    I never throw away a book, including every textbook I've bought for courses the past 4 years. I always get to know what's in there even if I don't read the entire book so I know what reference material I have on hand.

  3. #28
    SitePoint Wizard simplecode's Avatar
    Join Date
    Jun 2006
    Posts
    1,129
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The more you are writing code the more you are learning from it…… am learning day by day from few years and still more to go

  4. #29
    SitePoint Enthusiast
    Join Date
    Sep 2005
    Posts
    58
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    When you see 1000 moves ahead

    Sorry for my english, which is not my native lang, ok?

    Insomuch as you are looking for a measurable indication, you are right: such a question like yours is, as a matter of fact, so open to speculation that you yourself rightly found out you needed a measureable entity for a START.
    Of course, the reason you felt you need one is that... you feel there isn't a clear one.

    You seem to have believed that it might be a matter of time - that is you say: "how much time would a good developer need to create an exact duplicate".
    Unodubtely, time was a reasonable pick to look for an indicator.
    Unfortunately, it isn't. One programmer may need one year, another 5 months, and the product still be the same: now, we'd evaluate basing on the results, not on time. Two great ferraris are still GOOD no matter if one took 1 year to be assembled or the other 9 months...

    So one might argue about things like: are there in the codes the comments, are there the good naming conventions... and yet once again, you can have great codes and bad naming conventions applied, and of course nothing of the latter would diminish the value of the former.

    But then, what is a great code?
    You know, actually one parameter is available: security.

    But if you really want to know what is that can make you guess how much of a good programmer you can be, I know what the indicator is. It is elusive as you rightly felt because it doesn't stay in the measurable outer world, but within.

    Programming is like playing CHESS. In fact, do you know WHAT is that makes a great chess player? Have you ever played chess? We know as an objective matter of fact what this is.
    It's envisioning the moves ahead.

    The chess player who wins, is the one who outranges your ability to foresee his(her) next move with his own ability to foresee yours. His move, yours, his next options, your next moves, his next options, your next moves... who stops first, is the lesser player.
    Because there is a LIMIT to how much a man's mind may control and coordinate at once, how many wires you may pull at the same time.

    If a programmer writes a code and sees one or two moves ahead, he/she isn't good. If per each line of code you write you see 20 moves ahead, you are good.

    How can you tell that you "saw a 'move'"? Because each line of code you write, makes you THINK about many possible outcomes and about how many possible combinations of the inputs there can be round the corner, and round the next corner, and the other corner again and again and again. You have a VISION.
    Those are the "chess moves" applied to PROGRAMMING.

    Eventually, you will find that a specular indicator of what type of programmer you are is, if it is seeing many moves ahead, that your fellow programmers do NOT follow you anymore and do NOT understand AT ALL what the flick you're talking about.
    It's the time when they start saying YOU are bad........

    When your fellow programmer will say to you that you're bad, and that you talk nonsense, THEN you are GOOD.

    That is, you are good when you become LONELY. That's the chrism. Genius does not go in teams.

    When everybody can't understand you, when they MOCK at you because you CAN see things that they can't even imagine go figure understand, and therefore you start finding also the manuals as pretty lousy and crammed with unsecure advice, particularly the most affirmed manuals, particularly those where TONS of programmers worked, particularly those where worked programmers that think manuals are the Bible and therefore they transmit from one programmer to the other their lousy habits as templates.... when you see all of this, when you are out there in the wilderness, when it's just a matter of you and the codes in MORTAL COMBAT, and the far horizon you see is open to your eyes only because no one else has hat scope, when you start INVENTING because manuals FAIL to see what you see and you need to trash templates - then you DO are GOOD.
    You can tell you are very good when nobody understands you any longer, and when you read the manuals feeling a shiver in your backbone at seeing what they have been able to pass as a sound advice over there...

    Alberto

    [QUOTE=chaosTheory;3210689]Hi guys, just wanted to ask a question, how should we rate ourselves as php developers?

    There was a thread at sitepoint that talks about how good a programmer are.
    Most of the replies in that thread are about aptitude, for example, clean codes, comments, etc. But those can't be measured.
    (...)
    Time?QUOTE]
    Last edited by _Alberto; Dec 28, 2006 at 09:35. Reason: misspellings
    "We Program. We Bugfix. We Patch.
    We are such stuff as bugs are made on,
    and our little program is rounded with threats."
    Alberto

  5. #30
    SitePoint Wizard silver trophybronze trophy Cups's Avatar
    Join Date
    Oct 2006
    Location
    France, deep rural.
    Posts
    6,869
    Mentioned
    17 Post(s)
    Tagged
    1 Thread(s)
    If you are looking for an absolute value you could always take the Zend PHP5 Examination.

  6. #31
    SitePoint Enthusiast
    Join Date
    Sep 2005
    Posts
    58
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Cups View Post
    If you are looking for an absolute value you could always take the Zend PHP5 Examination.

    An absolute value of what?
    Einstein was rejected at his math exams. twice.
    "We Program. We Bugfix. We Patch.
    We are such stuff as bugs are made on,
    and our little program is rounded with threats."
    Alberto

  7. #32
    SitePoint Wizard silver trophybronze trophy Cups's Avatar
    Join Date
    Oct 2006
    Location
    France, deep rural.
    Posts
    6,869
    Mentioned
    17 Post(s)
    Tagged
    1 Thread(s)
    I didnt say I judge my skills by that, just that it does provide an absolute value - it does provide an absolute value of retention of knowledge.

    Now that may be a misleading thing, but I am learning an awful lot by preparing myself to take that exam. Probably because I am willing to admit I am a crap programmer, but the thing is - I do have a list of things I am crappy at, and am working on them. Is that what the OP was looking for?

    As for "is the Zend Cert a good thing?"... thats been discussed properly before.

  8. #33
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi...

    Quote Originally Posted by chaosTheory View Post
    Hi guys, just wanted to ask a question, how should we rate ourselves as php developers?
    This is related to my own favourite question: what makes a good programmer? I've never yet answered this question, although I've got some great information when I asked it. I think you'll get the same result from your question.

    However, yours is easier to answer. There is no linear scale. We can get a clue about this from school national curriculums. The tend to be a rope of entangled strands. You progress along different paths and sometimes you don't have the prerequisites top progress. We could make a stab at your question if we could list the major strands, analize the key concept turning points, etc.

    In general that would be a huge project, but very worthwhile. To hack it down to size, what areas of skill do you think programming applies to now? We could then point out areas which you hadn't realised were a concern, and also show you the next few steps in the ones you do point out.

    Say you mention OO skills. I could come up with this strand...
    1) Understand the syntax of classes/methods.
    2) Understand inheritance.
    3) Can do fancy, but useless, tricks such as Singletons.
    4) Start to understand the role of interfaces to hide details. Start to design the interfaces before everything else.
    5) Understand the strategy idea, that you extend code with polymorphism rather than inheritance.
    6) See the value of design patterns as tricks for difficult situations. Can understand most patterns such as decorators.
    7) Can start to refactor to change designs.
    8) The downgrading of inheritance. The rise of flex points.
    9) Understanding what dependencies are and how to manage them with factories. Code becomes configurable, such as changing the persistence mechanism by changing a single line of code. Singletons are now evil.
    10) The classes start to express meaning. The code feeds back to the programmer the shape of the underlying problem. The code starts to speak to you.
    11) You start to define the problem and the code in terms of a language. Patterns like the specification pattern become very important. You move to Domain Driven Design.

    There is also a split at 5, if you include non-PHP language features such as comprehensions, blocks and metaclasses. This is a pure technical skill strand.

    All of this is just educated guess work. It's a bit of a knowledge management exercise to sharpen up just one strand.

    Anyway, I reckon there are a dozen or more such strands, each of which would have to be analized, broken down into stories, etc. Then you would have both an estimate of where you were, plus a shopping list of stuff to learn. That would be a huge project. Not quite as big as the human genome project, but not something to be answered in a single thread.

    I still think it's a good question . Please do list some of your skill areas and we could at least start to break them down.

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  9. #34
    SitePoint Wizard silver trophybronze trophy Cups's Avatar
    Join Date
    Oct 2006
    Location
    France, deep rural.
    Posts
    6,869
    Mentioned
    17 Post(s)
    Tagged
    1 Thread(s)
    As evidence of both how futile the Zend certifcate is for some people, and yet how useful the Zend Examination system is for others - let me explain what happened to me.

    I enrolled for the online self text programme being put out by PHPArchitect.

    I have taken the fake test once. To my horror I failed at each of the 17 topics (or strands - to paraphrase Marcus above) except one, the five questions on "OOP in PHP5" - those I got all correct*.

    Now on Marcus' OOP list I'd say I am at 5.5 (I yearn dreadfully to be at 9 or 10 - yeah, 'the code will speak to you' it sounds like nirvana).

    But to be a fully rounded PHP programmer it is clear to me I am getting ahead of myself, I should know all the basics first.

    In order to address my weaknesses I am doing two things:

    -working through each chapter of Davey Shafiks "Zend Certification study guide"
    -looking out for problems related to that chapter on PHP forums - as I said earlier

    Working through Daveys book is the first time I have had my hand held and walked carefully through every basic point of PHP. I mean since I first picked it up in 1999 I just want PHP to work for me, I haven't had time to understand it! I was a html bodger in the days of netscape 3. Until a year ago the only learning I have done was when hacking and inspecting everyone else's classes posted on PHPClasses.org.

    My point is this, I like Marcus' list - and it would be well cool to create similar just for Arrays, or just for a discipline like CVS.

    For some people, your progress on each "strand" can be scored to a small degree - like a litmus test - and it doesn't require you to buy into the whole "Zend plaque on the wall" thing at all.

    I only bother to post this POV, because it summarises my situation at this particular time and place with my particticular background - but I get the feeling I share this background with tens of thousands of others. We know we could be doing better, we are trying to improve, but just how good/bad am I?

    Off Topic:

    * this included a question like 'which design pattern would you choose if you wanted a class which created other classes?' Factory, Observer, Singleton?

    But to answer the question off the top of your head, you would need to be at about 6 on Marcus' OOP scale.

  10. #35
    Non-Member Musicbox's Avatar
    Join Date
    Nov 2004
    Location
    india
    Posts
    1,331
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ratings to me comes from public no self advertisement.

  11. #36
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi...

    Quote Originally Posted by Cups View Post
    Now on Marcus' OOP list I'd say I am at 5.5 (I yearn dreadfully to be at 9 or 10 - yeah, 'the code will speak to you' it sounds like nirvana).
    My guess is you probably want to cement your knowledge with Robert Martin's book "Agile Software Development" and Martin Fowler's "Refactoring" if you haven't done so already. I'd try to have a play with CRC cards as well.

    A lot of the later stuff needs a team environment. Or at least a Sourecforge project where others have to extend your code directly. I also found answering Sitepoint posts was a good way of improving my designs .

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things


Bookmarks

Posting Permissions

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