(you didn't state if you are interested in becoming an employee in one
company, or a consultant. i assume you're talking about being employed
by a single company).

if you'll check this issue, you'll find that different companies have
completely different definitions for what a configuration manager's job
is about. it can run from being very low-level (running the builds and
nudjing other people to fix their scripts) to high level (defining how
the different components are built into a whole product, and defining
the run-time environment).

one thing about this kind of job - it tends to be repetetive. most
people do it on the way to other jobs (i.e. some evolve from CM to
programming, some evolve from CM to system architecture, etc). some
people do it as a part-time job along their main job.

of-course, the job's description will also depend on you - the more you
can take upon yourself, the more this job will grow.

i do think, however, that in order to be the CM For a very large project
- they'll prefer someone with experience, because an in-experienced CM
person can do great damage to a project. thus, if you realy want to
persue this "profession", you should first focus on smaller projects.

what you'll need there is:
-- command of source-control software. if you come to an existing
company, they are likely to use (in no particular order) any of: CVS,
sub-version, clear-case (or is this clear-quest? i always confuse the
two), visual source safe (yes, many companies actually use it), rcs,
sccs (is sccs still in use?), perforce, something else. in some very
futzy companies you'll see they use no source-control software at all -
but i think this is a tiny minority these days.

-- command of scripting in whatever language (for an existing project,
you'll have to learn the language used in the existing scripts first).

-- software build tools. these could be Makefiles, project-files (in
companies that use microsoft's visual-something), ant (in java), there
are a few others in use (some tied to specific environments).

-- bug tracking software - i won't even start a list here. in some
places, the CM is responsible for configuring this software, and with
some types of products, this could be a whole job.

-- authorite. you'll need to be quite authoritive, since you're the
bad-guy who tells developers off for breaking the builds or making them
too complicated.

-- note that the build process sometimes does more then build the
software. sometimes it also runs automatic tests of various types, and
it will be your job to hunt down the developers, grab them by the ear,
and force them to fix broken tests (or make the call that some test is
not useful anymore, and remove it).

by the way, in very large companies, there is more then one CM person.
if you go there, you'll likely have someone else to learn from (whether
good things or bad - that depends on who this person is ;)

--guy

On Wed, 2006-09-27 at 13:34 +0300, Tzahi Fadida wrote:
> Hi,
> I wish to learn more about build process/es. Specifically in C.
> Background: i am potentially (/trying to) entering the field of
> CM - Configuration Management. I am told a main part of that
> is the build process, specifically in the area of dependencies.
> I am talking about such jobs in very big companies.
> I understand that in such companies, builds can run for days if
> not setupped/optimized correctly.
> 
> Obviously i compiled my own projects, which had dependencies in the
> code. :) I am guessing that it is much more than just building small
> libraries.
> 
> Where can i find information that will show me how this is done
> and what i need to know. Some tips...
> 10x.
> 


=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to