Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-30 Thread Grant
>> >> > You can get away with almost anything except these two things:
>> >> >
>> >> > Do not micro-manage
>> >> > Do not tell them how to do what they do
>> >>
>> >> Could you give me an example of this last one?
>> >
>> > - I see you are using Perl with hashrefs to do function xyz. Have
>> > you considered (i.e. I would like you to) using
>> > $INSERT_SOMETHING_HERE?
>>
>> So if I see a way that their coding could be improved (faster
>> execution, greater legibility, etc) I just keep quiet about it?
>>
>> > - Wanting to personally review the code often. I've seen some
>> > managers want to do this daily.
>>
>> How often should I read their code?  I was planning on reading it a
>> lot.
>
>
> Perhaps I was too literal. Those examples should be read in the context
> of obsessively fiddling with someone else's work. Alternatively, doing
> those examples and not producing anything worthwhile from doing it.
>
> Code reviews and suggestions are valuable, but there's a time and a
> place and a forum for them. All productive teams eventually reserve a
> time slot for review and demos of running code. You and the entire team
> can and should discuss optimizations then.
>
> Let me put it another way - you likely don't like it if someone else
> fiddles with your work while you are trying to do it, or gives
> "helpful suggestions" while you are trying to concentrate. All I'm
> saying is to avoid doing that to others. Good old common sense will
> tell you when this is happening - you already know how to do it, no
> need to analyze the thing any further than that

Got it, thanks Alan and thanks everyone for helping with this.

- Grant



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-30 Thread Alan McKinnon
On Wed, 30 May 2012 02:11:54 -0700
Grant  wrote:

> >> > You can get away with almost anything except these two things:
> >> >
> >> > Do not micro-manage
> >> > Do not tell them how to do what they do
> >>
> >> Could you give me an example of this last one?
> >
> > - I see you are using Perl with hashrefs to do function xyz. Have
> > you considered (i.e. I would like you to) using
> > $INSERT_SOMETHING_HERE?
> 
> So if I see a way that their coding could be improved (faster
> execution, greater legibility, etc) I just keep quiet about it?
> 
> > - Wanting to personally review the code often. I've seen some
> > managers want to do this daily.
> 
> How often should I read their code?  I was planning on reading it a
> lot.


Perhaps I was too literal. Those examples should be read in the context
of obsessively fiddling with someone else's work. Alternatively, doing
those examples and not producing anything worthwhile from doing it.

Code reviews and suggestions are valuable, but there's a time and a
place and a forum for them. All productive teams eventually reserve a
time slot for review and demos of running code. You and the entire team
can and should discuss optimizations then.

Let me put it another way - you likely don't like it if someone else
fiddles with your work while you are trying to do it, or gives
"helpful suggestions" while you are trying to concentrate. All I'm
saying is to avoid doing that to others. Good old common sense will
tell you when this is happening - you already know how to do it, no
need to analyze the thing any further than that

-- 
Alan McKinnnon
alan.mckin...@gmail.com




Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-30 Thread Grant
>> > You can get away with almost anything except these two things:
>> >
>> > Do not micro-manage
>> > Do not tell them how to do what they do
>>
>> Could you give me an example of this last one?
>
> - I see you are using Perl with hashrefs to do function xyz. Have you
> considered (i.e. I would like you to) using $INSERT_SOMETHING_HERE?

So if I see a way that their coding could be improved (faster
execution, greater legibility, etc) I just keep quiet about it?

> - Wanting to personally review the code often. I've seen some managers
>  want to do this daily.

How often should I read their code?  I was planning on reading it a lot.

- Grant



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-30 Thread Grant
>> Regarding proposals, schedules, roadmaps, milestones  I've got a
>> list of a million changes to make to my website's front-end and
>> back-end.  There is a very specific way I want things to work, so
>> everything is broken down to a granular "task" level.  In the old days
>> I would just dig in and start grinding away on things, but I'm ready
>> to pass that duty on to a real programmer and I can't imagine that
>> it's productive to have him submit a proposal, set up a schedule,
>> generate a roadmap, and create milestones for every little thing that
>> needs to be done.  Can I hire one guy and give him one task at a time
>> and see how it goes without any of that stuff?
>
> That will only work if you show him the big picture first so he sees
> where the bits fit in. By all means contract him to focus on one aspect
> at a time, but please don't disguise the overall view. It's
> counter-productive and he's not doing something he has already done
> many times before so he really needs to be able to see how the bit he's
> working on fits into everything else.

In the past I did plan to disguise the overall view, but I've gotten
over that thanks to folks like yourself.

> We've discussed this project of yours more than once here over the
> years, and each time the same thing gets raised - you are unwilling to
> show a programmer the whole picture. Does this mean the handover
> efforts have all failed before?

Previous handover efforts have failed, and precisely for that reason.
I didn't bring up obscuring the big picture this time, but re-reading
my top paragraph in this message I can see that it sounds like that's
what I'm getting at.  It's not at all.  I'm just trying to preload
some management knowledge and fit it into my context (which does not
include obscuring the big picture from developers).

- Grant



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-29 Thread Peter Humphrey
On Tuesday 29 May 2012 15:37:37 Alan McKinnon wrote:

> Oh, and this one is a classic too:
> 
> Q: How do you get a project to be 3 years late?
> A: One day at a time.

Or: the first 50% of the project takes the first 90% of the time, and the 
other 50% of the project takes the other 90% of the time.

-- 
Rgds
Peter



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-29 Thread Alan McKinnon
On Tue, 29 May 2012 10:51:13 -0700
Grant  wrote:

> > Oh , one last thing: despite all appearances to the contrary, most
> > people out there can be trusted to do the right thing as far as they
> > are able, and do want to do a good job. Don't let occasional lapses
> > cloud your view of this. Everyone makes mistakes sometimes, we all
> > must learn to be tolerant when it happens.  
> 
> Sorry for the scrolling but that stuff just can't be snipped.
> 
> Regarding proposals, schedules, roadmaps, milestones  I've got a
> list of a million changes to make to my website's front-end and
> back-end.  There is a very specific way I want things to work, so
> everything is broken down to a granular "task" level.  In the old days
> I would just dig in and start grinding away on things, but I'm ready
> to pass that duty on to a real programmer and I can't imagine that
> it's productive to have him submit a proposal, set up a schedule,
> generate a roadmap, and create milestones for every little thing that
> needs to be done.  Can I hire one guy and give him one task at a time
> and see how it goes without any of that stuff?

That will only work if you show him the big picture first so he sees
where the bits fit in. By all means contract him to focus on one aspect
at a time, but please don't disguise the overall view. It's
counter-productive and he's not doing something he has already done
many times before so he really needs to be able to see how the bit he's
working on fits into everything else.

We've discussed this project of yours more than once here over the
years, and each time the same thing gets raised - you are unwilling to
show a programmer the whole picture. Does this mean the handover
efforts have all failed before?



-- 
Alan McKinnnon
alan.mckin...@gmail.com




Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-29 Thread Grant
> Everything I know about dealing with technical people is from the
> school of hard knocks :-)

And class is definitely in session!  Thanks to all for your guidance with this.

> I don't think it's something that can be taught or
> properly described adequately. But there are some obvious concepts:
>
> Programmers are essentially not too different from any other type of
> technical people, and you are already very familiar with those just by
> reading gentoo-user. All that stuff we do here wrt top-posting, html
> mail, udev and pulseaudio developers having strange ideas and
> (being perceived to be) ramming it down people's throats - all that
> stuff applies.
>
> I don't know how you personally deal with such things but whatever you
> find works is probably good enough.
>
> Techies don't like being second-guessed and told what to do when they
> are perfectly capable of doing the job properly. This is just a normal
> human reaction really and is always solved by simple communication. You
> always have to get to know people first, to get a grip on their
> personality, and then find out how to successfully interact with them.
> If you are married, consider what it took to learn how to interact with
> your wife smoothly :-)
>
>> Could you tell me really briefly what a manager *should* do?
>
> Ouch. That's another encyclopedia-length answer :-)
>
> I'll give you a short oblique answer that seems to work for me:
>
> Managers do not lead, they serve. They are not there to call the shots, get 
> covered in glory,
> be seen as the best of the best or issue decrees. I've been fortunate to
> have had a few good managers in my working life and they all seemed to
> instinctively do the same very important thing: make it possible for me
> to do my job.
>
> They would deal with finance issues, they would help find out where new
> hardware was in the shipping process, they would be a buffer between me
> and the customer (or between me and the annoying executive). They would
> publicly cover me in glory when things worked out well and cover my ass
> when they didn't. And all too often they would clam me down when I went
> off on one of my rants. The point is, the manager took care of
> everything on the project except the part about being a programmer :-)
>
> Good managers are very good at observing. They don't impose themselves
> on the job at hand, they watch it and see where things are going great
> and where things can be improved. They are also patient and only
> try to improve one thing at a time, getting that thing right then move
> onto the next thing.
>
> My current manager is great, we're both a similar
> age (mid 40s), and we have an understanding - I'm good at my job and
> he's good at his. It took a while for both of us to recognize this and
> build that trust but I think we got it right eventually. The key thing
> was to communicate to the other guy and be honest and listen. In the
> beginning there was some "alpha-male" posturing going on and we had to
> drop that somewhat quickly :-)
>
> He's also particular in finding out what the whole team thinks about
> things, so really listens to our input.
>
> That's what I find works for me, but unlike computers I can't put it
> down in step-by-step fashion that will give a certain result.
>
>>
>> I think I'll try to manage a single programmer working few hours and
>> see how it goes.  My asking stupid questions is due to my lack of
>> experience and there's only one way to fix that.
>
> Sounds to me like you already grasp the essentials :-)
>
> Good luck with the project.
>
> Oh , one last thing: despite all appearances to the contrary, most
> people out there can be trusted to do the right thing as far as they
> are able, and do want to do a good job. Don't let occasional lapses
> cloud your view of this. Everyone makes mistakes sometimes, we all must
> learn to be tolerant when it happens.

Sorry for the scrolling but that stuff just can't be snipped.

Regarding proposals, schedules, roadmaps, milestones  I've got a
list of a million changes to make to my website's front-end and
back-end.  There is a very specific way I want things to work, so
everything is broken down to a granular "task" level.  In the old days
I would just dig in and start grinding away on things, but I'm ready
to pass that duty on to a real programmer and I can't imagine that
it's productive to have him submit a proposal, set up a schedule,
generate a roadmap, and create milestones for every little thing that
needs to be done.  Can I hire one guy and give him one task at a time
and see how it goes without any of that stuff?

- Grant



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-29 Thread Alan McKinnon
On Tue, 29 May 2012 09:58:00 -0400
Michael Mol  wrote:

> On Tue, May 29, 2012 at 4:34 AM, Grant  wrote:
> >>> >> I'll be getting my feet wet with this shortly.  Any other tips
> >>> >> regarding the management of one or more programmers working on
> >>> >> various small web projects?  Maybe workflow or any key
> >>> >> procedures a newbie manager should follow?
> >>> >
> >>> > You can get away with almost anything except these two things:
> >>> >
> >>> > Do not micro-manage
> >>> > Do not tell them how to do what they do
> >>>
> >>> Could you give me an example of this last one?
> >>
> >> - I see you are using Perl with hashrefs to do function xyz. Have
> >> you considered (i.e. I would like you to) using
> >> $INSERT_SOMETHING_HERE?
> >>
> >> - Fiddling with the roadmap. Somehow, this always ends up like the
> >> homeowner overriding the architect and trying to get the roof up
> >> before the walls.
> >>
> >> - Giving "advice" on the process such as saying how awesome a
> >> concept stakeholders and product owners are in Scrum. But they use
> >> ExtremeProgramming.
> >>
> >> - Wanting to personally review the code often. I've seen some
> >> managers want to do this daily.
> >>
> >> - Get personally involved on their level.
> >>
> >>
> >> All these things class as interference. Managers and owners who do
> >> this have miles of justifiable reasons for doing so, but it's
> >> always hogwash
> >> - they interfere, plain and simple.
> >
> > This is really interesting to me.  Is there a forum/website/book
> > with more gritty, practical advice like this on managing
> > programmers? These are the kinds of mistakes I will definitely make
> > if someone doesn't tell me not to.
> >
> > Could you tell me really briefly what a manager *should* do?
> >
> > I think I'll try to manage a single programmer working few hours and
> > see how it goes.  My asking stupid questions is due to my lack of
> > experience and there's only one way to fix that.
> 
> I'd probably suggest reading The Mythical Man-Month.
> 
> http://en.wikipedia.org/wiki/The_Mythical_Man-Month


My favourite non-fiction book of all time :-)

Most favourite quotes are the ones about women producing babies, and
adding manpower to a late project makes it later. Oh, and this one is a
classic too:

Q: How do you get a project to be 3 years late?
A: One day at a time.





-- 
Alan McKinnnon
alan.mckin...@gmail.com




Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-29 Thread Michael Orlitzky
On 05/29/12 09:58, Michael Mol wrote:
> 
> I'd probably suggest reading The Mythical Man-Month.
> 
> http://en.wikipedia.org/wiki/The_Mythical_Man-Month
> 
> 

As long as we're suggesting books, this is one of my favorites:

  http://en.wikipedia.org/wiki/Peopleware:_Productive_Projects_and_Teams

At worst it's an entertaining read.



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-29 Thread Michael Mol
On Tue, May 29, 2012 at 4:34 AM, Grant  wrote:
>>> >> I'll be getting my feet wet with this shortly.  Any other tips
>>> >> regarding the management of one or more programmers working on
>>> >> various small web projects?  Maybe workflow or any key procedures
>>> >> a newbie manager should follow?
>>> >
>>> > You can get away with almost anything except these two things:
>>> >
>>> > Do not micro-manage
>>> > Do not tell them how to do what they do
>>>
>>> Could you give me an example of this last one?
>>
>> - I see you are using Perl with hashrefs to do function xyz. Have you
>> considered (i.e. I would like you to) using $INSERT_SOMETHING_HERE?
>>
>> - Fiddling with the roadmap. Somehow, this always ends up like the
>> homeowner overriding the architect and trying to get the roof up
>> before the walls.
>>
>> - Giving "advice" on the process such as saying how awesome a concept
>> stakeholders and product owners are in Scrum. But they use
>> ExtremeProgramming.
>>
>> - Wanting to personally review the code often. I've seen some managers
>>  want to do this daily.
>>
>> - Get personally involved on their level.
>>
>>
>> All these things class as interference. Managers and owners who do this
>> have miles of justifiable reasons for doing so, but it's always hogwash
>> - they interfere, plain and simple.
>
> This is really interesting to me.  Is there a forum/website/book with
> more gritty, practical advice like this on managing programmers?
> These are the kinds of mistakes I will definitely make if someone
> doesn't tell me not to.
>
> Could you tell me really briefly what a manager *should* do?
>
> I think I'll try to manage a single programmer working few hours and
> see how it goes.  My asking stupid questions is due to my lack of
> experience and there's only one way to fix that.

I'd probably suggest reading The Mythical Man-Month.

http://en.wikipedia.org/wiki/The_Mythical_Man-Month


-- 
:wq



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-29 Thread Pandu Poluan
On May 29, 2012 3:39 PM, "Grant"  wrote:
>
> >> >> I'll be getting my feet wet with this shortly.  Any other tips
> >> >> regarding the management of one or more programmers working on
> >> >> various small web projects?  Maybe workflow or any key procedures
> >> >> a newbie manager should follow?
> >> >
> >> > You can get away with almost anything except these two things:
> >> >
> >> > Do not micro-manage
> >> > Do not tell them how to do what they do
> >>
> >> Could you give me an example of this last one?
> >
> > - I see you are using Perl with hashrefs to do function xyz. Have you
> > considered (i.e. I would like you to) using $INSERT_SOMETHING_HERE?
> >
> > - Fiddling with the roadmap. Somehow, this always ends up like the
> > homeowner overriding the architect and trying to get the roof up
> > before the walls.
> >
> > - Giving "advice" on the process such as saying how awesome a concept
> > stakeholders and product owners are in Scrum. But they use
> > ExtremeProgramming.
> >
> > - Wanting to personally review the code often. I've seen some managers
> >  want to do this daily.
> >
> > - Get personally involved on their level.
> >
> >
> > All these things class as interference. Managers and owners who do this
> > have miles of justifiable reasons for doing so, but it's always hogwash
> > - they interfere, plain and simple.
>
> This is really interesting to me.  Is there a forum/website/book with
> more gritty, practical advice like this on managing programmers?
> These are the kinds of mistakes I will definitely make if someone
> doesn't tell me not to.
>
> Could you tell me really briefly what a manager *should* do?
>
> I think I'll try to manage a single programmer working few hours and
> see how it goes.  My asking stupid questions is due to my lack of
> experience and there's only one way to fix that.
>
> -  Grant
>

Off the top of my head :

* It's OK to ask the team about their roadmap and milestones schedule, and
even raise objections and/or suggest changes AT THE VERY START OF THE
PROJECT.

* When the project is under way, DO NOT EVER interfere unless asked.

* It is okay to regularly (weekly or biweekly) ask for progress report with
regards to the previously agreed milestone schedule. If delays happen, you
must also ask what the cause of the delay is, and what the team plan to
overcome and/or compensate

* Ask the team to keep a 'weather report' regarding the project, updated
continually, stored in a shared folder. This is less a report to you than
something you can present to your superiors when they start asking, "Are we
there yet?"

Rgds,


Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-29 Thread Alan McKinnon
On Tue, 29 May 2012 01:34:52 -0700
Grant  wrote:

> > All these things class as interference. Managers and owners who do
> > this have miles of justifiable reasons for doing so, but it's
> > always hogwash
> > - they interfere, plain and simple.  
> 
> This is really interesting to me.  Is there a forum/website/book with
> more gritty, practical advice like this on managing programmers?
> These are the kinds of mistakes I will definitely make if someone
> doesn't tell me not to.

Everything I know about dealing with technical people is from the
school of hard knocks :-)

I don't think it's something that can be taught or
properly described adequately. But there are some obvious concepts:

Programmers are essentially not too different from any other type of
technical people, and you are already very familiar with those just by
reading gentoo-user. All that stuff we do here wrt top-posting, html
mail, udev and pulseaudio developers having strange ideas and
(being perceived to be) ramming it down people's throats - all that
stuff applies.

I don't know how you personally deal with such things but whatever you
find works is probably good enough.

Techies don't like being second-guessed and told what to do when they
are perfectly capable of doing the job properly. This is just a normal
human reaction really and is always solved by simple communication. You
always have to get to know people first, to get a grip on their
personality, and then find out how to successfully interact with them.
If you are married, consider what it took to learn how to interact with
your wife smoothly :-)

> Could you tell me really briefly what a manager *should* do?

Ouch. That's another encyclopedia-length answer :-)

I'll give you a short oblique answer that seems to work for me:

Managers do not lead, they serve. They are not there to call the shots, get 
covered in glory,
be seen as the best of the best or issue decrees. I've been fortunate to
have had a few good managers in my working life and they all seemed to
instinctively do the same very important thing: make it possible for me
to do my job.

They would deal with finance issues, they would help find out where new
hardware was in the shipping process, they would be a buffer between me
and the customer (or between me and the annoying executive). They would
publicly cover me in glory when things worked out well and cover my ass
when they didn't. And all too often they would clam me down when I went
off on one of my rants. The point is, the manager took care of
everything on the project except the part about being a programmer :-)

Good managers are very good at observing. They don't impose themselves
on the job at hand, they watch it and see where things are going great
and where things can be improved. They are also patient and only
try to improve one thing at a time, getting that thing right then move
onto the next thing.

My current manager is great, we're both a similar
age (mid 40s), and we have an understanding - I'm good at my job and
he's good at his. It took a while for both of us to recognize this and
build that trust but I think we got it right eventually. The key thing
was to communicate to the other guy and be honest and listen. In the
beginning there was some "alpha-male" posturing going on and we had to
drop that somewhat quickly :-)

He's also particular in finding out what the whole team thinks about
things, so really listens to our input.

That's what I find works for me, but unlike computers I can't put it
down in step-by-step fashion that will give a certain result.

> 
> I think I'll try to manage a single programmer working few hours and
> see how it goes.  My asking stupid questions is due to my lack of
> experience and there's only one way to fix that.

Sounds to me like you already grasp the essentials :-)

Good luck with the project.

Oh , one last thing: despite all appearances to the contrary, most
people out there can be trusted to do the right thing as far as they
are able, and do want to do a good job. Don't let occasional lapses
cloud your view of this. Everyone makes mistakes sometimes, we all must
learn to be tolerant when it happens.

-- 
Alan McKinnnon
alan.mckin...@gmail.com




Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-29 Thread Grant
>> >> I'll be getting my feet wet with this shortly.  Any other tips
>> >> regarding the management of one or more programmers working on
>> >> various small web projects?  Maybe workflow or any key procedures
>> >> a newbie manager should follow?
>> >
>> > You can get away with almost anything except these two things:
>> >
>> > Do not micro-manage
>> > Do not tell them how to do what they do
>>
>> Could you give me an example of this last one?
>
> - I see you are using Perl with hashrefs to do function xyz. Have you
> considered (i.e. I would like you to) using $INSERT_SOMETHING_HERE?
>
> - Fiddling with the roadmap. Somehow, this always ends up like the
> homeowner overriding the architect and trying to get the roof up
> before the walls.
>
> - Giving "advice" on the process such as saying how awesome a concept
> stakeholders and product owners are in Scrum. But they use
> ExtremeProgramming.
>
> - Wanting to personally review the code often. I've seen some managers
>  want to do this daily.
>
> - Get personally involved on their level.
>
>
> All these things class as interference. Managers and owners who do this
> have miles of justifiable reasons for doing so, but it's always hogwash
> - they interfere, plain and simple.

This is really interesting to me.  Is there a forum/website/book with
more gritty, practical advice like this on managing programmers?
These are the kinds of mistakes I will definitely make if someone
doesn't tell me not to.

Could you tell me really briefly what a manager *should* do?

I think I'll try to manage a single programmer working few hours and
see how it goes.  My asking stupid questions is due to my lack of
experience and there's only one way to fix that.

-  Grant



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-28 Thread Alan McKinnon
On Mon, 28 May 2012 09:00:55 -0700
Grant  wrote:

> >> I'll be getting my feet wet with this shortly.  Any other tips
> >> regarding the management of one or more programmers working on
> >> various small web projects?  Maybe workflow or any key procedures
> >> a newbie manager should follow?
> >
> > You can get away with almost anything except these two things:
> >
> > Do not micro-manage
> > Do not tell them how to do what they do
> 
> Could you give me an example of this last one?

- I see you are using Perl with hashrefs to do function xyz. Have you
considered (i.e. I would like you to) using $INSERT_SOMETHING_HERE?

- Fiddling with the roadmap. Somehow, this always ends up like the
homeowner overriding the architect and trying to get the roof up
before the walls.

- Giving "advice" on the process such as saying how awesome a concept
stakeholders and product owners are in Scrum. But they use
ExtremeProgramming.

- Wanting to personally review the code often. I've seen some managers
  want to do this daily.

- Get personally involved on their level.


All these things class as interference. Managers and owners who do this
have miles of justifiable reasons for doing so, but it's always hogwash
- they interfere, plain and simple.

> 
> - Grant
> 
> 
> > For everything else, good old communication (that thing you do lots
> > of in business) will see you through.
> >
> > --
> > Alan McKinnnon
> > alan.mckin...@gmail.com
> 



-- 
Alan McKinnnon
alan.mckin...@gmail.com




Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-28 Thread Grant
>> I'll be getting my feet wet with this shortly.  Any other tips
>> regarding the management of one or more programmers working on various
>> small web projects?  Maybe workflow or any key procedures a newbie
>> manager should follow?
>
> You can get away with almost anything except these two things:
>
> Do not micro-manage
> Do not tell them how to do what they do

Could you give me an example of this last one?

- Grant


> For everything else, good old communication (that thing you do lots of
> in business) will see you through.
>
> --
> Alan McKinnnon
> alan.mckin...@gmail.com



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-28 Thread Michael Orlitzky
On 05/27/2012 05:18 PM, Alan McKinnon wrote:
> 
> You need an existing development house with a reputation to uphold,
> located in the same city as you.

Without getting into the (book-length) details, I'll +1 this.



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-27 Thread Alan McKinnon
On Sun, 27 May 2012 09:09:26 -0700
Grant  wrote:

>  I'm debating whether I should hire an expert programmer for
>  $X/hour, or a company of expert programmers for $2X/hour.  It
>  makes sense from a financial perspective to hire programmers
>  directly, but I wonder if there are benefits to hiring a really
>  good company.
> [snip]
> 
> Thank you Florian and Alan.  This subject has proven difficult to
> research and how cool to get in touch with lucid and experienced
> individuals like yourselves.
> 
> I think I need to hire one or more programmers and manage them myself
> precisely because I don't know how to do it.  For many years I handled
> all business duties myself, and I've slowly been handing off duties,
> and I think that has been working because I know first-hand exactly
> how each of those duties should be done.  So many times my business
> has required something I don't know how to do and I've been faced with
> the choice of learning how to do it myself or hiring someone who does.
>  I've chosen to learn how to do it myself every single time and it's
> served me well, although it is very much the long and hard way.
> 
> I'll be getting my feet wet with this shortly.  Any other tips
> regarding the management of one or more programmers working on various
> small web projects?  Maybe workflow or any key procedures a newbie
> manager should follow?

You can get away with almost anything except these two things:

Do not micro-manage
Do not tell them how to do what they do

For everything else, good old communication (that thing you do lots of
in business) will see you through.

-- 
Alan McKinnnon
alan.mckin...@gmail.com




Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-27 Thread Alan McKinnon
On Sun, 27 May 2012 09:53:22 -0700
Grant  wrote:

> >> I'll be getting my feet wet with this shortly.  Any other tips
> >> regarding the management of one or more programmers working on
> >> various small web projects?  Maybe workflow or any key procedures
> >> a newbie manager should follow?
> >
> > seriously? asking those questions? Get a company. Make it their
> > problem to worry about managing the bearded ones.
> 
> Too flailing?  How about this:
> 
> 2x 8-hour days per week, or 5x 3-hour days?
> 
> Specific days and a specific time of day?
> 
> Should I bother with a contract for a dev working in a different
> country than mine? I hope to hire someone for ongoing work on various
> small projects, so the project itself wouldn't belong in the contract.
> Maybe an NDA or something, but would that make sense with each of us
> in a different country?

Those questions are very revealing. If you truly need to ask them, then
your path has already been established:

You need an existing development house with a reputation to uphold,
located in the same city as you.

NDAs and contracts in a different country are for all practical intents
and purposes unenforceable.


-- 
Alan McKinnnon
alan.mckin...@gmail.com




Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-27 Thread Grant
>> I'll be getting my feet wet with this shortly.  Any other tips
>> regarding the management of one or more programmers working on various
>> small web projects?  Maybe workflow or any key procedures a newbie
>> manager should follow?
>
> seriously? asking those questions? Get a company. Make it their problem to
> worry about managing the bearded ones.

Too flailing?  How about this:

2x 8-hour days per week, or 5x 3-hour days?

Specific days and a specific time of day?

Should I bother with a contract for a dev working in a different
country than mine? I hope to hire someone for ongoing work on various
small projects, so the project itself wouldn't belong in the contract.
Maybe an NDA or something, but would that make sense with each of us
in a different country?

- Grant



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-27 Thread Volker Armin Hemmann
Am Sonntag, 27. Mai 2012, 09:09:26 schrieb Grant:
 
> I'll be getting my feet wet with this shortly.  Any other tips
> regarding the management of one or more programmers working on various
> small web projects?  Maybe workflow or any key procedures a newbie
> manager should follow?

seriously? asking those questions? Get a company. Make it their problem to 
worry about managing the bearded ones. 

-- 
#163933



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-27 Thread Grant
 I'm debating whether I should hire an expert programmer for $X/hour,
 or a company of expert programmers for $2X/hour.  It makes sense from
 a financial perspective to hire programmers directly, but I wonder if
 there are benefits to hiring a really good company.
[snip]

Thank you Florian and Alan.  This subject has proven difficult to
research and how cool to get in touch with lucid and experienced
individuals like yourselves.

I think I need to hire one or more programmers and manage them myself
precisely because I don't know how to do it.  For many years I handled
all business duties myself, and I've slowly been handing off duties,
and I think that has been working because I know first-hand exactly
how each of those duties should be done.  So many times my business
has required something I don't know how to do and I've been faced with
the choice of learning how to do it myself or hiring someone who does.
 I've chosen to learn how to do it myself every single time and it's
served me well, although it is very much the long and hard way.

I'll be getting my feet wet with this shortly.  Any other tips
regarding the management of one or more programmers working on various
small web projects?  Maybe workflow or any key procedures a newbie
manager should follow?

- Grant



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-27 Thread Florian Philipp
Am 27.05.2012 08:22, schrieb Grant:
>>> I'm debating whether I should hire an expert programmer for $X/hour,
>>> or a company of expert programmers for $2X/hour.  It makes sense from
>>> a financial perspective to hire programmers directly, but I wonder if
>>> there are benefits to hiring a really good company.
>>>
[...]
>>
>> For starters, you could give us a bit more insight into the kind of
>> project we are talking about. What's the expected development effort,
>> what are the services you pay for (binaries, source code, testing,
>> maintenance, ...)?
> 
> The project is made up of various and ongoing scripting tasks for a
> relatively complex website.
> 
>> Regarding programmer vs. company, I'd say it depends on what you expect
>> and pay for. If you just want it coded, then the lone programmer is
>> probably as good as the company (since programming itself doesn't really
>> scale well with the number of devs).
> 
> That's a really good point.
> 
[...]
>
>> But in the end, these issues a minor. It really boils down to whom you
>> trust more. Ask for references, look at their previous work, talk to
>> them, etc.
> 
> Can you tell me what sort of positive and negative things to watch out for?
> 

I probably don't have enough experience to give you an exhaustive list.
However, since this is a web development, the two biggest points I'd be
looking at are:
1. How do they plan to separate the production environment from testing
and development? You don't want to crash your site just because the dev
is too lazy to test his changes beforehand.
2. Do they have a basic understanding about web security? What
precautions do they take with regard to XSS, CSRF and the classic
injections (HTTP header, SQL, Shell, etc.)? Do these words even ring a
bell to them?

Methodology is also a good indicator: Are they happy hackers with no
real software engineering background, then they'll probably be good for
smaller projects but will break down on large ones where you need the
additional management. On the other hand, if they throw only buzzwords
at you, I'd get suspicious.

>> All things being equal, paying 1*x instead of 2*x gives you the chance
>> to pay another 1*x to a second developer if things don't work out with
>> the first one. ;-)
> 
> Once I need more than one developer (which could come sooner rather
> than later due to the availability of these guys) am I likely to
> struggle managing them?  I've read a bit about "Agile" software
> development and I plan to read a lot more.  Is that the way to go?
> 

Two independent programmers working on the same project? I wouldn't do
that unless they know each other and have experience working together.
If you need to scale beyond the capabilities of your contractor, you
should definitely start with a larger contractor (i.e. the company).

I cannot give you any insight on agile development. First and foremost
because I've never worked agile (well, unless you count rapid
prototyping) but also because that's one of those buzzwords that can
mean many different things to different people.

> Would hiring a company make management a non-issue from my perspective?
> 

Not completely but it's definitely better than managing two developers.
You should still try to be in close contact with them. See if they
understand your requirements, watch their progress, look at their
intermediate results, plan the final acceptance testing with them and so on.

Regards,
Florian Philipp



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-27 Thread Alan McKinnon
On Sat, 26 May 2012 23:22:22 -0700
Grant  wrote:

> > Extensive testing, on the other hand, is something a team should do.
> > Sure, the lone programmer can write you some unit tests and conduct
> > a system test, but testing itself is a profession of its own and
> > should be done by a second person with the relevant training.
> >
> > But in the end, these issues a minor. It really boils down to whom
> > you trust more. Ask for references, look at their previous work,
> > talk to them, etc.  
> 
> Can you tell me what sort of positive and negative things to watch
> out for?

Here's a quick test that I've never seen fail:

When you get the quote stage and are discussing numbers, ask for their
estimate of how long it will take to produce a beta. Let's assume they
say 6 weeks. You say you need it in 4. Can they do it?

If they say yes in a way shape or form, do not use them. Go onto the
next one.

The reason is that development takes as long as it takes and the old
adage of "the production of a baby takes 9 months no matter how many
women are assigned to the task". A mature dev or team know this, stand
by their estimates and politely won't be swayed.

Everything else is common sense, and the best recommendation is word of
mouth from someone you already trust

> 
> > All things being equal, paying 1*x instead of 2*x gives you the
> > chance to pay another 1*x to a second developer if things don't
> > work out with the first one. ;-)  
> 
> Once I need more than one developer (which could come sooner rather
> than later due to the availability of these guys) am I likely to
> struggle managing them?  I've read a bit about "Agile" software
> development and I plan to read a lot more.  Is that the way to go?

Agile is nothing more than the way a team organizes itself so they can
keep on top of things. If it were software, it would be a neat add-on
like bash-completion (without it you still have all of bash). When
Agile works out, it works really really well but it takes discipline
from the programmers. 

All Agile methods have some way of bringing constant feedback to the
devs so they can assess how they are going and easily deal with the
inevitable mistakes. It also lets them experiment a bit with different
technologies and change implementations without upsetting the whole
apple cart.

Agile is subject to much buzz-wording just like everything else in our
field :-(   A mature dev team who know what they are doing can use it
correctly and well.So be sure to look for real evidence that it's being
used, not tossed about as a cute buzz-word

We use Scrum at work and for us it works well - we get to concentrate on
the task at hand and can spot bugs and show-stoppers quite quickly. But
it's very important to observe that it's not Scrum that magically makes
all things good all by itself - it works because we know what we are
doing and Scrum is just giving us the right information at the right
time so we can keep on track. There are potentially 100s of ways to do
that, but without out basic skills in place Scrum couldn't help at all.


> 
> Would hiring a company make management a non-issue from my
> perspective?

Not really, you may just end up have to manage the managers that manage
the devs :-)

A good software house is like a good builder - some you can leave to
get on with it even though the truck is shabby (like the chaps that
redid my bathroom). Some have flashy shiny trucks but are still short
on clue (like the chaps who first quoted my bathroom and didn't get the
job)

-- 
Alan McKinnnon
alan.mckin...@gmail.com




Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-26 Thread Grant
>> I'm debating whether I should hire an expert programmer for $X/hour,
>> or a company of expert programmers for $2X/hour.  It makes sense from
>> a financial perspective to hire programmers directly, but I wonder if
>> there are benefits to hiring a really good company.
>>
>> I'm sorry this is OT, but I bet you guys have some seriously good
>> insight on this.
>>
>> Thanks,
>> Grant
>>
>
> For starters, you could give us a bit more insight into the kind of
> project we are talking about. What's the expected development effort,
> what are the services you pay for (binaries, source code, testing,
> maintenance, ...)?

The project is made up of various and ongoing scripting tasks for a
relatively complex website.

> Regarding programmer vs. company, I'd say it depends on what you expect
> and pay for. If you just want it coded, then the lone programmer is
> probably as good as the company (since programming itself doesn't really
> scale well with the number of devs).

That's a really good point.

> Extensive testing, on the other hand, is something a team should do.
> Sure, the lone programmer can write you some unit tests and conduct a
> system test, but testing itself is a profession of its own and should be
> done by a second person with the relevant training.
>
> But in the end, these issues a minor. It really boils down to whom you
> trust more. Ask for references, look at their previous work, talk to
> them, etc.

Can you tell me what sort of positive and negative things to watch out for?

> All things being equal, paying 1*x instead of 2*x gives you the chance
> to pay another 1*x to a second developer if things don't work out with
> the first one. ;-)

Once I need more than one developer (which could come sooner rather
than later due to the availability of these guys) am I likely to
struggle managing them?  I've read a bit about "Agile" software
development and I plan to read a lot more.  Is that the way to go?

Would hiring a company make management a non-issue from my perspective?

- Grant

> Regards,
> Florian Philipp



Re: [gentoo-user] {OT} hire a programmer or company?

2012-05-26 Thread Florian Philipp
Am 26.05.2012 13:26, schrieb Grant:
> I'm debating whether I should hire an expert programmer for $X/hour,
> or a company of expert programmers for $2X/hour.  It makes sense from
> a financial perspective to hire programmers directly, but I wonder if
> there are benefits to hiring a really good company.
> 
> I'm sorry this is OT, but I bet you guys have some seriously good
> insight on this.
> 
> Thanks,
> Grant
> 

For starters, you could give us a bit more insight into the kind of
project we are talking about. What's the expected development effort,
what are the services you pay for (binaries, source code, testing,
maintenance, ...)?

Regarding programmer vs. company, I'd say it depends on what you expect
and pay for. If you just want it coded, then the lone programmer is
probably as good as the company (since programming itself doesn't really
scale well with the number of devs).

Extensive testing, on the other hand, is something a team should do.
Sure, the lone programmer can write you some unit tests and conduct a
system test, but testing itself is a profession of its own and should be
done by a second person with the relevant training.

But in the end, these issues a minor. It really boils down to whom you
trust more. Ask for references, look at their previous work, talk to
them, etc.

All things being equal, paying 1*x instead of 2*x gives you the chance
to pay another 1*x to a second developer if things don't work out with
the first one. ;-)

Regards,
Florian Philipp



signature.asc
Description: OpenPGP digital signature