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: Ramon C.
Sent on: Wednesday, January 27, 2010, 5:52 PM
Getting back to Junior vs. Mid vs Senior...

Elegance is one thing and that's partially subjective. Even the GoF design patterns book illustrates ambiguities like - when do you switch from the proxy DP to the mediator DP?

IMHO: the big difference is this, verbatim for the PHPUnit documentation, 2nd sentence: "The difference between a good programmer and a bad programmer is that the good programmer uses tests to detect his mistakes as soon as possible."

See: https://www.phpuni...­


--- On Wed, 1/27/10, Alan Puccinelli <[address removed]> wrote:

> From: Alan Puccinelli <[address removed]>
> Subject: Re: [php-139] skills of a programmer
> To: [address removed]
> Date: Wednesday, January 27, 2010, 1:51 PM
> 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: