Then there is Senior at one aspect of the development process but Jr.
at another.
On Wed, Jan 27, 2010 at 1:51 PM, Alan Puccinelli
<[address removed]> wrote:
> 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]
>
>
>
> --
> 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 Alan Puccinelli ([address removed]) from The San Francisco PHP Meetup Group.
> To learn more about Alan Puccinelli, 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]
>
>