[CMake] Re: [CMake-Promote] creating a market for CMake skills

Brandon J. Van Every bvanevery at gmail.com
Fri Feb 17 01:46:59 EST 2006


William A. Hoffman wrote:
> At 08:25 PM 2/16/2006, you wrote:
>   
>> "What problems will people pay money to have others solve them with CMake?"
>>
>>     
>
> I don't think there will be many jobs like that.  CMake can make a programmer's job easier, once
> you write the cmake files for a project, you can build it anywhere.   However, if the only thing
> you had to offer a company was CMake skills, I think it would be a small market.  I don't think I have
> seen to many jobs posted for experts in "make", which is the most popular build tool around.  
> I do think build tools are important, but they are not an end, but a means to an end.  I am sure
> that CMake is being quietly and successfully used by many internal corporate software 
> packages.  I know of a few, but it is always hard to tell how many with an open source project.
> If you do a google search for CMake resume and CMake CV, some folks are starting to list it as a skill.
>   
Ok, now what you say may be an accurate reflection of people's attitudes 
towards builds and software.  And I say, it is insane.  I've just wasted 
2 years of my life trying to build other people's broken open source 
builds.  I think software is primitive, stone age, disgusting.  I know 
other people are suffering this pain also.  Now, maybe the dominant 
attitude is to just throw money / bodies at it.  Builds aren't that 
important, give 'em to some flunkie?  Or maybe it's "we're helpless, 
we're stuck with our legacy system, or whatever Microsoft is doing this 
year."  I don't know.  I do know, there has to be a market for better 
build tools somewhere, and the skills that go with them.

I think analyzing the nature of this market, this problem, is 
important.  Really if we don't understand it, we don't have any 
opportunities.  We'll just flail around.  Well, ok, CMake may grow by 
slow osmosis in typical open source fashion.  I think we can do better 
than that though.

>
> Here is a job posting that mentions CMake skills:
> http://www.ismrm.org/jobs/j02880.htm  However, it does want other skills as well.
>   
I don't think the point is "what do people ask for today."  Most 
HR-style job posts just shove Python in along with every other scripting 
language under the sun, for instance.  In most places it is not 
perceived as an important skill.  That job post above is no exception: 
CMake isn't even classed with other build tools!  It's just an example 
of "open source stuff."  They could care less whether you know CMake or 
Doxygen or anything else on their tertiary laundry list; they're just 
fishing for bonus points.  I also notice that job is asking for, aaaah, 
an awful lot.  Passable scientist + kickass 3D graphics developer?  I 
bet they have trouble filling their req, particularly for the money a 
university is likely to pay.  In short, I think this is a miserable 
example of the market opportunities CMake might aim for.

What we should look at are jobs for dedicated build engineers.  See what 
kinds of dragons they're jousting with.

> But CMake does have book, active mailing list, Wiki, and automated documentation
> for all commands and modules.  Some folks think the docs are good:
>
> http://www.baus.net/archives/?page=3
>
> I am sure there is room for improvement,
The book may be great.  The electronic docs are terrible.  The mailing 
list responsiveness is excellent, as are the bug / feature fixes, which 
is how someone like myself is able to get past the terrible docs and get 
stuff done.  If you guys hadn't been there to answer questions, I would 
have given up long ago.  The answers are far too painful to extract from 
the electronic docs; often they aren't even there.  I would say, do not 
shy from what CMake is decidedly weak at.  It's pretty much the 
consensus view of the people I've talked to, who have made first brush 
with it.  CMake is strong at all kinds of other things, that's why the 
docs aren't a dealbreaker.  At least, they aren't a dealbreaker for us 
intrepid self-reliant early adopter open source types. 

Now, ideally, maybe what you at Kitware really really want, is for 
everyone to go out and buy a $40 book.  It's a business model.  It's not 
one I agree with, but that's not terribly relevant.  What is relevant, 
is how you can scale for growth.  Can you really expect CMake to grow to 
have tons and tons of users, if you don't give away *good* docs?  Can 
you really answer all the questions if CMake's user base gets 
appreciably larger?  I say it doesn't scale.  Or at least, it's a 
chicken-and-egg problem.

>  and folks like Alex have really helped
> out with new Wiki entries.  
>   
That's a step in the right direction. I would say, however, that good 
docs should be installed with every CMake.  I will help with that once I 
deal with about 4 other priorities.  I am quite aware of the problem of 
"I can document or I can code."

>   
>> My instinct is that the primary target market is large Autoconf-based projects.  That is, projects with money attached to them.  I'm thinking "from scratch" projects are less viable, because they don't know they're in trouble yet.  Whereas lotsa people feel Autoconf pain.
>>     
>
> If that project is interested in porting to windows and OSX, then the project would be interested.
> If not, and they have something working, I don't think there will be much motivation.  In projects
> like this the job of build system person usually is not singled out, the build system person
> also codes for the project in some other way.  
>   
True.  We should not be looking at "oh and please know a little about 
builds" sorts of job descriptions.


Cheers,
Brandon Van Every
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/cmake/attachments/20060216/a480e784/attachment.htm


More information about the CMake mailing list