Where do good C++ teams exist ?

D

Diwa

Hi All,

This is not a C++ technical question, hence
this is an off-topic post. But it is C++
related and posted only to this group.

Suppose, today a building like Empire State
building or Petronas Towers is to be built.
The architect designing and the company/team
building this would be somebody who is an
expert in this and has experience with
construting buildings of comparable sizes.

Now suppose a huge, reliable, scalable and a
good performance software system is to be
built in C++. Here again, the architect
and the team which implements it would be
somebody who knows which architecture would
be best for which software module for the
given requirement. Obviously, here again,
the team would have experience in constructing
similar size software projects earlier.

Once the team has built this software system,
they move on to build another such system
for somebody else.

My question is how do I get to become a part
of such C++ teams which implement one
challenging project after another. (Obviously,
large systems would not comprise of only C++.)

Do these kind of C++ team (maybe warriors would
be right word :)) really exist in the first
place?

Trying to know such teams through networking
may take a long time. And the same goes by
trying to check on job sites. Even sites like
topcoder.com seem to consist mostly of one
man army.

Thanks
Diwakar
 
L

lancediduck

Diwa said:
Hi All,
be right word :)) really exist in the first
place?
Thanks
Diwakar
Yes such teams do exists. However, they are rarely branded this way,
since "build me C++ project" is rarely a motivating factor for
financial backing. More often, these teams are assembled for a project,
such as "build a High Frequency Trading System" or "build a Web Page
Content Indexer" or "port my Office Application to a handheld." These
teams would use C++ as their main tool of choice.

But the message is that to join the top talent, you need more than C++
-- you need to know how to apply C++ in that industry.

What to do? First, find an industry where C++ is widely used -- I work
in Finance, but I started my C++ coding experience in Embedded Systems.
As a counter example, e-commerce does not have that much C++ going on.
Then join a company in that field ( you can get a feel for what
industries use C++ by scouring want ads).
Join a Open Source Project related to that area that uses C++, this
will show your prospective employer you are serious about the business
as well as just C++ coding. But when you do get an interview, don't
approach them like they should do you a favor and give you a chance.
Show them what you are going to bring to the table, that hiring you is
doing them a favor.

Good luck!!
 
E

Earl Purple

But the message is that to join the top talent, you need more than C++
-- you need to know how to apply C++ in that industry.

What to do? First, find an industry where C++ is widely used -- I work
in Finance, but I started my C++ coding experience in Embedded Systems.
As a counter example, e-commerce does not have that much C++ going on.
Then join a company in that field ( you can get a feel for what
industries use C++ by scouring want ads).
Join a Open Source Project related to that area that uses C++, this
will show your prospective employer you are serious about the business
as well as just C++ coding. But when you do get an interview, don't
approach them like they should do you a favor and give you a chance.
Show them what you are going to bring to the table, that hiring you is
doing them a favor.

Yeah, show them that you know how to write proper
comp.lang.c++-approved C++, that obeys all the rules in the
Sutter-Alexandrescu book and that everyone else is incompetent because
they don't follow these rules. That will make you very very popular...

Actually there are two types - programmers who know a bit of business
and business-people who know a bit of programming. And it's the latter
whose programs usually run according to the spec because they know what
the spec is. Amazing how bad they are at documentation too, at least in
describing things in a way an ordinary person would understand.

Strange also how often the development team meetings are discussing
business issues and not discussing what class libraries they have just
created.

Or perhaps I've just been unlucky and worked for all the wrong
companies.
 
D

Diwa

Yes such teams do exists. However, they are rarely branded this way,
since "build me C++ project" is rarely a motivating factor for
financial backing. More often, these teams are assembled for a project,
such as "build a High Frequency Trading System" or "build a Web Page
Content Indexer" or "port my Office Application to a handheld." These
teams would use C++ as their main tool of choice.

You are right here. But what happens to the team once
the system has been built. Most would probably stay
around to do maintenance of that. Where are the teams
which move on to build another C++ system ?
Good luck!!

Thanks.
 
D

Diwa

Earl said:
Yeah, show them that you know how to write proper
comp.lang.c++-approved C++, that obeys all the rules in the
Sutter-Alexandrescu book and that everyone else is incompetent because
they don't follow these rules. That will make you very very popular...

Thats a good tip. One can become as good as he wants in C++
by reading various books, news groups, magazines and staying
in touch with other C++ developers. But there is a limit to what
one can achieve as an individual. But a team of C++ developers
can develop much more by leveraging each other's experiences.
The C++ developers that I know are mostly in maintenance of
existing software. Probably, because there is less non-product
green-field projects in C++ compared to lets say in C# or Java.
What I was trying to know was are there C++ teams which stay
together one contract project after another contract project ?
 
S

smnoff

Trying to find even a single C++ developer is difficult as programming is
not 100% science or 100% like architecting a building. There are set
standards, city ordinances for a building and that area of knowledge is well
known for thousands of years. And likewise, there are very few buildings
that fall down.

However, most programming and IT project fail, at least 70% fail according
to Forrester research and others. I say at least 90% fail.
Programming is very new and it's very creative. Hence, it's like trying to
find an great artist or musician that's also a good engineer.

Most of the those that hang out in user groups aren't all that great. Those
that write books aren't all that great either as they spend all their time
writing books as oppose to code in the real world. Sort of like an author
that writes book on how to be a great actor, of which, means zip in the real
world. Just because you goto a schools of acting doesn't mean you are going
to make it big.

Those that are any good are actually doing the work to get the job done and
just don't have the time to "hang out" anywhere. Do you see anyone else in
other professions having all the time to just hang out doing the same exact
thing at work? I don't. But, I do see lots of talented people doing
something completely different than their day job just to get away or do
something different.

The more effective way, IMO, to find a good programmer to actually see the
work they have personally written. Not some resume, or some meaningless
certification as test and that stuff are hardly useful in a creative world.
 
J

JoeC

Yes such teams do exists. However, they are rarely branded this way,
since "build me C++ project" is rarely a motivating factor for
financial backing. More often, these teams are assembled for a project,
such as "build a High Frequency Trading System" or "build a Web Page
Content Indexer" or "port my Office Application to a handheld." These
teams would use C++ as their main tool of choice.

But the message is that to join the top talent, you need more than C++
-- you need to know how to apply C++ in that industry.

What to do? First, find an industry where C++ is widely used -- I work
in Finance, but I started my C++ coding experience in Embedded Systems.
As a counter example, e-commerce does not have that much C++ going on.
Then join a company in that field ( you can get a feel for what
industries use C++ by scouring want ads).
Join a Open Source Project related to that area that uses C++, this
will show your prospective employer you are serious about the business
as well as just C++ coding. But when you do get an interview, don't
approach them like they should do you a favor and give you a chance.
Show them what you are going to bring to the table, that hiring you is
doing them a favor.

Good luck!!

That is excellent advice. I am trying to get to that level where I
have enough skill to contribute to a project. For me it is confidence.
I am self taught and I keep on trying to improve my skills. The
problem with being self taught is that it is dificult to guage my skill
and accomplishments. I just finished my second version of a board game
written in win32/C++. It works well but the major flaw is how I store
my units creating memory leaks.
 
J

JoeC

Earl said:
Yeah, show them that you know how to write proper
comp.lang.c++-approved C++, that obeys all the rules in the
Sutter-Alexandrescu book and that everyone else is incompetent because
they don't follow these rules. That will make you very very popular...

Is that sarcasm or good advice? I am not in the industry and one day
would like to be.
Actually there are two types - programmers who know a bit of business
and business-people who know a bit of programming. And it's the latter
whose programs usually run according to the spec because they know what
the spec is. Amazing how bad they are at documentation too, at least in
describing things in a way an ordinary person would understand.

I have other skills and I know how to program. I focus on creating war
games because that is what I know. I am just getting the basics of
creating a game and finally got a version to work pretty well although
it has its flaws. I can write programs dealing with other things but I
choose things that keeps me interested.
Strange also how often the development team meetings are discussing
business issues and not discussing what class libraries they have just
created.

Or perhaps I've just been unlucky and worked for all the wrong
companies.

Programming is not an end in itself but a tool to reach a goal. I
often get boored programming things with no purpose but find it more
exciting and intersting when I am solving problems because you need and
idea and concept before I can write anything.
 
E

Earl Purple

JoeC said:
Is that sarcasm or good advice? I am not in the industry and one day
would like to be.

I am in the industry and have been for 10 years or so. Before that I
was working with C++ for 3 years but in a research environment at a
university.

It depends on whether they rate themselves as great C++ programmers. If
they do then they don't want you pointing out their inadequacies and
showing up yourself as a supposed "expert" over them. If they already
know their C++ skills are limited and that their main skills lie
elsewhere whilst accepting that you are the C++ expert, they are more
likely to accept your advice, although obviously you still have to be
tactful.

The likelihood is that they have a system that already works and they
want someone to maintain and enhance it, not to completely rewrite it,
although so often that is the best approach because it is totally
unstructured.
I have other skills and I know how to program. I focus on creating war
games because that is what I know. I am just getting the basics of
creating a game and finally got a version to work pretty well although
it has its flaws. I can write programs dealing with other things but I
choose things that keeps me interested.

If you ever decide to start your own business and employ another
programmer who is perhaps a more expert programmer than yourself then
be sure to communicate the specification very well to them.

Also, let the expert start the project. The project infrastructure is
best left to the expert, but so often they are brought in to pick up
the pieces later on.
Programming is not an end in itself but a tool to reach a goal. I
often get boored programming things with no purpose but find it more
exciting and intersting when I am solving problems because you need and
idea and concept before I can write anything.

I know that. I was expressing the point that someone who knows
everything about programming but nothing about anything else will
possibly find their options limited.
 
E

Earl Purple

Diwa said:
The C++ developers that I know are mostly in maintenance of
existing software. Probably, because there is less non-product
green-field projects in C++ compared to lets say in C# or Java.
What I was trying to know was are there C++ teams which stay
together one contract project after another contract project ?

Unfortunately that is the case and it is not what I want to spend my
lifetime
doing. I want to work on new "green field" projects, and so I may well
have
to move out of C++ to do so even though C++ is my favourite programming
language.

The alternative is to leave employment as an employee and work on my
own projects. Even in this case C++ might not be the only language I
use because there are aspects for which other languages are better
suited. C++ isn't always the answer to everything.
 
E

Earl Purple

smnoff said:
Trying to find even a single C++ developer is difficult as programming is
not 100% science or 100% like architecting a building. There are set
standards, city ordinances for a building and that area of knowledge is well
known for thousands of years. And likewise, there are very few buildings
that fall down.

However, most programming and IT project fail, at least 70% fail according
to Forrester research and others. I say at least 90% fail.
Programming is very new and it's very creative. Hence, it's like trying to
find an great artist or musician that's also a good engineer.

Most of the those that hang out in user groups aren't all that great. Those
that write books aren't all that great either as they spend all their time
writing books as oppose to code in the real world. Sort of like an author
that writes book on how to be a great actor, of which, means zip in the real
world. Just because you goto a schools of acting doesn't mean you are going
to make it big.

Those that are any good are actually doing the work to get the job done and
just don't have the time to "hang out" anywhere. Do you see anyone else in
other professions having all the time to just hang out doing the same exact
thing at work? I don't. But, I do see lots of talented people doing
something completely different than their day job just to get away or do
something different.

The more effective way, IMO, to find a good programmer to actually see the
work they have personally written. Not some resume, or some meaningless
certification as test and that stuff are hardly useful in a creative world.

Projects fail usually because of bad market research, not because of
bad programmers.
Many programs work reasonably well even though they are very badly
written (which unfortunately then makes it harder to get permission to
fix them).
 
T

Tinku

The real warriors are making games out there!


Earl said:
Projects fail usually because of bad market research, not because of
bad programmers.
Many programs work reasonably well even though they are very badly
written (which unfortunately then makes it harder to get permission to
fix them).
 
S

smnoff

I would "venture" and say that the programmer should also have a
responsibility in knowing if the market research makes sense and blindly
listening to what it/they say. If the program fails for whatever reason,
"too hard to use, slow, incompatible, etc.", the programmer will have to
take some of the blame, period.

Just saying, "I was just following orders or the specifications" is another
lame excuse. That's like a contractor following the architect's plans on a
two legged stool. The programmer/developer is supposed to design and build
the thing so it make sense that the programmer/developer should be the
ultimate authority. Blaming it on someone else or the specs is just another
way to avoid accountability.
 
J

JoeC

Earl said:
Unfortunately that is the case and it is not what I want to spend my
lifetime
doing. I want to work on new "green field" projects, and so I may well
have
to move out of C++ to do so even though C++ is my favourite programming
language.

The alternative is to leave employment as an employee and work on my
own projects. Even in this case C++ might not be the only language I
use because there are aspects for which other languages are better
suited. C++ isn't always the answer to everything.

That is true, I have worked with Perl, Basic, Pascal and started
getting into Java. Java is pritty confusing to the beginner although
getting past the basic setup of a program it seems very similiar to
C++. What other langes are good to learn?
 
J

JoeC

Earl said:
I am in the industry and have been for 10 years or so. Before that I
was working with C++ for 3 years but in a research environment at a
university.

It depends on whether they rate themselves as great C++ programmers. If
they do then they don't want you pointing out their inadequacies and
showing up yourself as a supposed "expert" over them. If they already
know their C++ skills are limited and that their main skills lie
elsewhere whilst accepting that you are the C++ expert, they are more
likely to accept your advice, although obviously you still have to be
tactful.

The likelihood is that they have a system that already works and they
want someone to maintain and enhance it, not to completely rewrite it,
although so often that is the best approach because it is totally
unstructured.

I find from my games and projects, it is far more work to fix and
expand than it is to totally rewrite using some objects from old one
that fit in. Still my projects are learning tools first but still they
have the purpose I give them. I am the customer and the devloper at
the same time. I choose a project that is slightly above my level
figure out the most challenging parts but still challenges creep up in
unexpected places. In my game I added a bunch of graphic displays, it
was pretty easy but small details in game play required pretty
significant re-programming. Somthing like a computer opponent is far
outside of what I can create and I am still pondering the basic concept
of that addtion.

Because my game evloved more thant it was planned I had way too much
stuff in the winproc loop and in my re-wite put much of that in
functions and objects. Still with the re-write and upgrade, I still
have much room for imporvment.
If you ever decide to start your own business and employ another
programmer who is perhaps a more expert programmer than yourself then
be sure to communicate the specification very well to them.

Also, let the expert start the project. The project infrastructure is
best left to the expert, but so often they are brought in to pick up
the pieces later on.

I hope my creation and devlopment of my own projects will better enable
me to work with programmers who are better than I. Still I am eager to
learn. Most of what I see is questions on syntax getting some small
block of code to work. Much also seems like it is for abstract
assignments. I am more interested on how to design a fairly complex
system and how larger programs are created.
I know that. I was expressing the point that someone who knows
everything about programming but nothing about anything else will
possibly find their options limited.

I find these kind of discussions very informative. In reading this
tread I get hints of office space but I get that in my current job but
at least at Innotech all of their bosses has the same message and
direction.

I when I am looking for another job I will have had 20 years in the
Army with a college degree. I speak several languages and have
knowlege of security issues and I am a programmer.
 
K

Kaz Kylheku

Diwa said:
Now suppose a huge, reliable, scalable and a
good performance software system is to be
built in C++.

Not gonna happen. End of story.

What we can do is assign a numeric weight to each of those
requirements:

huge - 2
reliable - 2
scalable - 1
performance -1

Now, the total weight is 6.

You must remove enough requirements to bring the weight to 4.

Then you can do it in C++.
 
B

BobR

JoeC wrote in message...
That is true, I have worked with Perl, Basic, Pascal and started
getting into Java. Java is pritty confusing to the beginner although
getting past the basic setup of a program it seems very similiar to
C++. What other langes are good to learn?

Well, you have the popular high level languages covered. How about Assembler?
You just never know when you might be required to program a 1k EEPROM! <G>
(Gads, I wonder if you could even find a chip that small these days?!? (like
lookin' for a 20gig HD!)).
 
D

Denise Kleingeist

Hi Diwa!
Diwa said:
You are right here. But what happens to the team once
the system has been built. Most would probably stay
around to do maintenance of that. Where are the teams
which move on to build another C++ system ?

In most places I have worked, there was always a mix between
maintenance and new software creation. ... and, personally, I
am and always have been involved mostly with new creation
(mostly being called upon for maintenance only for the tricky bits).
However, once a system is build, some people move on to the
next one while others stay behind and do maintenance. Of
course, for software which doesn't need much oiling maintenance
actually means extending or changing the system. Except that it
is work within some existing code base, it is not that much
different to initial system creation anyway. Sure, there are
occasional bug fixes but these tend to be relatively rare
compared to adapting systems to new requirements.

Good luck, Denise!
 
J

JoeC

BobR said:
JoeC wrote in message...

Well, you have the popular high level languages covered. How about Assembler?
You just never know when you might be required to program a 1k EEPROM! <G>
(Gads, I wonder if you could even find a chip that small these days?!? (like
lookin' for a 20gig HD!)).

I have looked into assembler and have some information on it. I do
have some compliers that allow for inline assebmly. From my reading I
have a question. Are intel and AMD chips the same or Assembly
programming? I really need a dummies book to start give me the
assembler show me how to use it and may be I will be able to learn some
assembly.

I would like to learn some assembly but I would have to start fromt he
basics and a hello world program is a major undertaking.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top