addressalign-toparrow-leftarrow-leftarrow-right-10x10arrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcredit-cardcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobe--smallglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1languagelaunch-new-window--smalllight-bulblightning-boltlinklocation-pinlockm-swarmSearchmailmediummessagesminusmobilemoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstar-shapestartickettrashtriangle-downtriangle-uptwitteruserwarningyahooyoutube

Re: [php-139] skills of a programmer

From: user 9.
Sent on: Wednesday, January 27, 2010, 1:56 PM
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.handleT­hisPageDifferently, 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:5­1 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]
>
>

People in this
group are also in: