Programmers tasks

Hello guys! I'm new to this forum but I have been learning C++ for a long time. I know how to implement linked lists, binary trees, stacks and things like this. But if I become a programmer nobody will tell me - "Make a binary tree and find it's min value", right? Can somebody tell me what are the ordinary tasks that are given to programmers?


Last edited on
You would be surprised when you find out. You weren't learning binary trees for nothing. Infact a possible interview question/task would be to construct a templated binary search tree which has a worst and average time complexity of O(logn). Ever heard of AVL trees?

http://www.nerdparadise.com/tech/interview/
Last edited on
Thank a lot for this link! And are these the ordinary tasks that programmers should do when they are working or these are just interview questions?
Those are interview questions, but could be applied to work. You are better of looking up 'programmer tasks' on google to get an idea of what programmers do
Well, actually it could be very well the case you need to implement such things. But of course, nobody will tell you to do it..you just do it in order to achieve other things.
if I become a programmer nobody will tell me - "Make a binary tree and find it's min value", right?

Right, unless you're working at a core infrastructure team, and your job is to build core data structures for other programmers (but even then, you're likely to be asked to build something closer to real life needs -- lock-free container to dispatch jobs to a threadpool, custom zero-copy inter-process messaging, metaprogramming library, etc)

Can somebody tell me what are the ordinary tasks that are given to programmers?

Some examples from personal experience:
The disk size in the output of /bin/df on the customer's large partition gets stuck to the next column, make sure there's at least one space
gcc terminates instead of throwing bad_alloc when our application runs out of memory, fix gcc
Once a month, one of our 300 threads stops making progress although it's listed as "running" in ps, fix kernel
Pentagon bought this tape streamer and our driver fails to rewind it, fix the driver
Here's a Verifone credit card reader, figure out how to program it and work it into the product design, we have a change order to add support for it ASAP.
We need to download this giant file to 500 computes in 10 clusters all across New York city, within seconds, every day, figure out how and write software to do it.
We got this new laser scanner from SICK, write code to process the data coming from four of them, reconstitute 3D shapes even if partially obstructed, make sure it works in rain and snow, and give us start/end triggers good to 10 ms
Our client insists on using this custom programming language we invented for them 20 years ago. Port the compiler to 64-bit and make it thread-safe.. or write a new one from scratch, whatever's faster.
We're entering this new market, design a solution that could beat the competition by at least another nine (that is, 99.99...% reliability)
We have a program that takes several hours to run, it needs to finish in under five minutes, you have a year, ten programmers, and any hardware you can come up with, to make it happen.
We're going to bid on this defense contract, here are the requirements, write preliminary design, identify key personnel and provide cost estimate

I could go on forever... to put it simple, ordinary tasks amount to doing something that your company can sell so that they can pay your salary, be it a tiny bug fix or a billion-dollar system. *How* you do it, with what kind of data structures, tests, tools, and libraries, is up to you, the programmer.
Scary

I hope they take into account your skill level before telling you to fix gcc
Of course the manager/team lead has to take into account the skill levels. That particular event was 13 years ago, though, it was pretty easy to find (and fix) bugs in gcc.
Last edited on
@Cubbi

Of course the manager/team lead has to take into account the skill levels. That particular event was 13 years ago


...when gcc was a simple and primitive and there were neither the C++ 2003 Standard nor the C++ 2011 Standard.:)
@vlad from moscow

Which means skill levels back then were just as "simple and primitive"...
@Smac89
Which means skill levels back then were just as "simple and primitive"...


Undoubtedly.
@Cubbi:
Some examples from personal experience:


And you can do all this tasks just with C++? If no, which programming languages do you use most while working?
@Cubbi if I may ask, in which jobs (companies, title, etc.) did you get those tasks?
@maniac some examples were from a C job. I use C++ for the most part.
@ScriptCoder: OS dev, transportation, finance - it's in my profile. Skipped sciency jobs as less typical. Anyway, this isn't my career choices thread, it's 'what programmers are asked to do'.
Topic archived. No new replies allowed.