I'd agree with your simple categorization for the most part with the
exception that a "God" in my view is one who is intimately involved in
developing the language itself. eg people contributing to the
development of PHP6 and there should be something in-between that and
a hacker.
On Wed, Jan 27, 2010 at 1:42 PM, james <[address removed]> wrote:
> seems to come down to an old hacker pyramid/image i saw a few years back:
>
> script kiddie -- knows how to make websites in dreamweaver (lol) [which
> applies to some junior level from what i've seen described on this list]
> hacker -- junior to mid level programmer that can modify scripts
> god -- senior level that writes the scripts
>
> ? jms.
>
> On Wed, Jan 27, 2010 at 12:31 PM, ambert ho <[address removed]> wrote:
>>
>> And to better answer your question, James, "elegant" is subjective and
>> case-dependent.?For example, it would be ugly for me to write varying
>> amounts of comma separated values into a DB table instead of normalizing the
>> table. However this would be an elegant solution, if I was optimizing the
>> database for fast writes.
>> For code examples,
>> - the Zend codebase is pretty elegant, if you're looking for a great
>> reference on how to do OO php
>> - I thought the piwik codebase was pretty cool?https://piwik.org/
>> - for javascript, the major libraries represent elegant code to look
>> through (jQuery, prototype, YUI, etc.). In general stuff posted on
>> www.ajaxian.com will be legit-ly elegant
>> - in general anything on github tends to be elegant (or at least cool),
>> because in general that community (and that of the users of git) is only
>> comprised of people who really, really care. And people who really, really
>> care tend to write elegant code
>>
>>
>> On Wed, Jan 27, 2010 at 12:16 PM, ambert ho <[address removed]> wrote:
>>>
>>> Well ugly vs. elegant is a very a "zen" kinda thing. You'll have to get a
>>> feel for what is:
>>> - simplest (as in few lines of code)
>>> - DRY (don't repeat yourself)
>>> - easy to read
>>> - easy to understand by another developer who has no idea what the hell
>>> you are doing
>>>
>>> But off the top of my head a random example is like: say you make a bunch
>>> of ajax calls to load in content, but one of the pages you want the logic to
>>> do something different (for example execute javascript functions instead of
>>> just loading up the page). How to differentiate the logic if on the
>>> clientside all you can do is make page requests?
>>> - An ugly way would be to set something at the beginning of the page and
>>> do a substr() or regex match for it. It's hackey for numerous reasons (like
>>> it would break if that string at the beginning of the page were changed, and
>>> also it's not clear to another developer what you are trying to do)
>>> - An elegant way would be to set something in the header to make its way
>>> into the returned transport object, and in your ajax handler do something
>>> like ( ? ?if responseText.handleThisPageDifferently, doThis() ? ) <-- this
>>> is more robust, and it's also clear to other developers what you are trying
>>> to accomplish
>>>
>>> The reason I know this example off the top of my head is b/c I'm doing
>>> the ugly way hahaha
>>> Ambert
>>>
>>>
>>> On Wed, Jan 27, 2010 at 11:59 AM, james <[address removed]> wrote:
>>>>
>>>> okay, so now i'm getting a better grip on this.
>>>>
>>>> i read about "elegance of a solution" a LOT but i don't see many
>>>> examples of that.? i have a pretty limited exposure, admittedly.
>>>>
>>>> can anyone point to some code bases that i can look over to get an
>>>> impression of "ugly" vs "elegant"?? that'd be pretty sweet.
>>>>
>>>> thanks everyone!
>>>>
>>>> ? james.
>>>>
>>>> On Wed, Jan 27, 2010 at 11:51 AM, Mike Arace
>>>> <[address removed]> wrote:
>>>>>
>>>>> I think that figuring out baseline skills for each development level is
>>>>> impossible since each job is so different. The different levels correspond
>>>>> more (in my opinion) to the speed with which a developer will be able to
>>>>> solve a given problem, and, more importantly, the elegance of their
>>>>> solution. As a rough guide, junior people can hack together scripts, mid
>>>>> level people know of and utilize frameworks or existing code libraries, and
>>>>> senior people write their own frameworks.
>>>>>
>>>>> Sent from my Nokia phone
>>>>> -----Original Message-----
>>>>> From: james
>>>>> Sent: ?01/27/[masked]:34:51 AM
>>>>> Subject: ?Re: [php-139] skills of a programmer
>>>>>
>>>>> there are some things that should be quantifiable.
>>>>>
>>>>> you should be able to crank through 1 million lines of text spread
>>>>> across
>>>>> 20,000 documents and find xzy.
>>>>> should be able to refactor an active database without loss of data.
>>>>>
>>>>> that's the kind of stuff i'm trying to understand.
>>>>>
>>>>> i agree that not all projects are created equal but there's a baseline
>>>>> skill
>>>>> set that people should have for each level.
>>>>>
>>>>> interesting discussion so far. ?i hope we can get more info on this.
>>>>> ?:)
>>>>>
>>>>> ?james.
>>>>>
>>>>> On Wed, Jan 27, 2010 at 10:54 AM, emily blanchard
>>>>> <[address removed]>wrote:
>>>>>
>>>>> > FWIW-Theses breakdowns make sense in a general way but Jr. Mid Sr. Is
>>>>> > relative to the type of development work you have been doing. All PHP
>>>>> > projects are not the same (obviously) the Jr. Person may have
>>>>> > experience
>>>>> > with something a Sr. Person hasn't worked much with and vise versa.
>>>>> > Value is
>>>>> > determined as much by what skills are listed on a resume as to how
>>>>> > when
>>>>> > where and what you did with them yourself. Explain what you have done
>>>>> > vis a
>>>>> > vis what the project needs are and sell your value based on specific
>>>>> > expeience. Not just that you have 3 or 6 yrs PHP. What did you
>>>>> > do/work on in
>>>>> > that time. We are people- and not to be purchased like off the shelf
>>>>> > items
>>>>> > in a grocery store- last I check I couldn't buy a 6 pack of PHP with
>>>>> > a loaf
>>>>> > of MSQL and a bag of Zend.- ;-)
>>>>> >
>>>>> > Sent via BlackBerry by AT&T
>>>>> > ------------------------------
>>>>> > *From: * ransom1538 <[address removed]>
>>>>> > *Date: *Wed, 27 Jan[masked]:26:52 -0500
>>>>> > *To: *<[address removed]>
>>>>> > *Subject: *Re: [php-139] skills of a programmer
>>>>> >
>>>>> > In my humble opinion:
>>>>> >
>>>>> > Junior: someone right out of school, who may have one or two years
>>>>> > experience
>>>>> >
>>>>> > Mid level: anyone over three or so years experience with solid
>>>>> > development
>>>>> > experience, but hasn't had a chance to lead a team
>>>>> >
>>>>> > Senior: people able to run and lead three or more developers,
>>>>> > experienced
>>>>> > in delegating
>>>>> >
>>>>> >
>>>>> > On Wed, Jan 27, 2010 at 10:09 AM, james <[address removed]> wrote:
>>>>> >
>>>>> >> so, after all the rate discussions of late, i started thinking about
>>>>> >> what
>>>>> >> constitutes the different levels/pay-scales of a programmer.
>>>>> >>
>>>>> >> can someone describe the skill set of a 'junior programmer', a
>>>>> >> 'mid-level'
>>>>> >> and 'senior level' --other levels/statuses that i'm not mentioning?
>>>>> >> ?putting
>>>>> >> this in terms of PHP would be nice since this is a php group but
>>>>> >> describing
>>>>> >> languages known, capabilities within known languages, etc would be
>>>>> >> really
>>>>> >> helpful and interesting to me.
>>>>> >>
>>>>> >> thanks everyone!
>>>>> >>
>>>>> >> ? james.
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >> --
>>>>> >> Please Note: If you hit "*REPLY*", your message will be sent to
>>>>> >> *everyone
>>>>> >> * on this mailing list ([address removed])
>>>>> >> This message was sent by james ([address removed]) from The San
>>>>> >> Francisco PHP Meetup Group <https://www.sfphp....;.
>>>>> >> To learn more about james, visit his/her member
>>>>> >> profile<https://www.sfphp....;
>>>>> >> To unsubscribe or to update your mailing list settings, click
>>>>> >> here<https://www.meetup...;
>>>>> >>
>>>>> >> ?Meetup, PO Box 4668 #37895 New York, New York[masked] |
>>>>> >> [address removed]
>>>>> >>
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > Please Note: If you hit "*REPLY*", your message will be sent to
>>>>> > *everyone*on this mailing list (
>>>>> > [address removed])
>>>>> > This message was sent by ransom1538 ([address removed]) from The
>>>>> > San
>>>>> > Francisco PHP Meetup Group <https://www.sfphp....;.
>>>>> > To learn more about ransom1538, visit his/her member
>>>>> > profile<https://www.sfphp....;
>>>>> > To unsubscribe or to update your mailing list settings, click
>>>>> > here<https://www.meetup...;
>>>>> >
>>>>> > ?Meetup Inc. PO Box 4668 #37895 New York, New York[masked] |
>>>>> > [address removed]
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > Please Note: If you hit "*REPLY*", your message will be sent to
>>>>> > *everyone*on this mailing list (
>>>>> > [address removed])
>>>>> > This message was sent by emily blanchard ([address removed])
>>>>> > from The
>>>>> > San Francisco PHP Meetup Group <https://www.sfphp....;.
>>>>> > To learn more about emily blanchard, visit his/her member
>>>>> > profile<https://www.sfphp....;
>>>>> >
>>>>> > To unsubscribe or to update your mailing list settings, click
>>>>> > here<https://www.meetup...;
>>>>> >
>>>>> > ?Meetup, PO Box 4668 #37895 New York, New York[masked] |
>>>>> > [address removed]
>>>>> >
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Please Note: If you hit "REPLY", your message will be sent to everyone
>>>>> on this mailing list ([address removed])
>>>>> https://www.sfphp....
>>>>> This message was sent by Mike Arace ([address removed]) from
>>>>> The San Francisco PHP Meetup Group.
>>>>> To learn more about Mike Arace, visit his/her member profile:
>>>>> https://www.sfphp....
>>>>> To unsubscribe or to update your mailing list settings, click here:
>>>>> https://www.meetup...
>>>>> Meetup Inc. PO Box 4668 #37895 New York, New York[masked] |
>>>>> [address removed]
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Please Note: If you hit "REPLY", your message will be sent to everyone
>>>> on this mailing list ([address removed])
>>>> This message was sent by james ([address removed]) from The San
>>>> Francisco PHP Meetup Group.
>>>> To learn more about james, visit his/her member profile
>>>> To unsubscribe or to update your mailing list settings, click here
>>>>
>>>> Meetup, PO Box 4668 #37895 New York, New York[masked] |
>>>> [address removed]
>>
>>
>>
>>
>>
>> --
>> Please Note: If you hit "REPLY", your message will be sent to everyone on
>> this mailing list ([address removed])
>> This message was sent by ambert ho ([address removed]) from The San
>> Francisco PHP Meetup Group.
>> To learn more about ambert ho, visit his/her member profile
>> To unsubscribe or to update your mailing list settings, click here
>>
>> Meetup Inc. PO Box 4668 #37895 New York, New York[masked] |
>> [address removed]
>
>
>
>
> --
> Please Note: If you hit "REPLY", your message will be sent to everyone on
> this mailing list ([address removed])
> This message was sent by james ([address removed]) from The San Francisco
> PHP Meetup Group.
> To learn more about james, visit his/her member profile
> To unsubscribe or to update your mailing list settings, click here
>
> Meetup, PO Box 4668 #37895 New York, New York[masked] |
> [address removed]