Thread: When are you REALLY a programmer?

  1. #1
    Registered User
    Join Date
    May 2006
    Posts
    20

    When are you REALLY a programmer?

    I've been studying C off and on for about a month. I've got a pretty good grasp on things like functions, structs, and I'm working on file I/O and pointers again. My question is, when do you know enough to call yourself a programmer?

    The book I'm using is "C Programming for the Absolute Beginner" and its chapters cover as follows.
    1. C Fundementals
    2. Beginning Data Types
    3. Conditions
    4. Looping Structures
    5. Structured Programming
    6. Arrays
    7. Pointers
    8. Strings
    9. Advanced Structures and Data Types
    10. Dynamic Memory Allocation
    11. File Access
    12. The C Preprocessor

    While I know there is tons more to the C Language than what is covered in this book, I feel its a good start. So, after I get a good grasp on these beginning ideas, what should I focus on next? Whats going to make me the most useful as a programmer? Whats the next logical step in my education?

    Thanks in advance for your help,
    Michael

  2. #2
    The Richness... Richie T's Avatar
    Join Date
    Jan 2006
    Location
    Ireland
    Posts
    469
    >>when do you know enough to call yourself a programmer?

    In my opinion, the minute you write a program for youself to achieve some task
    that you want done, then you can call yourself a programmer - it doesn't
    specifically have to be something original, just something useful. Also,
    say you were in a class and you had a difficult assignment - if you went ahead
    and went beyond the basic requirements, for both your own interest and to
    improve your program, to make it stand out, that would count as well. I would not
    think of people who are still compiling example code only as programmers, but
    rather programmers in training - once you start writing code, then you make that
    leap.

    >>While I know there is tons more to the C Language than what is covered in
    >>this book, I feel its a good start.

    Those topics are indeed the most important topics in C - the only thing that
    would concern me would be whether the book is any good at teaching them -
    most books "cover" the right stuff, but don't "teach" it. Simple things to look out
    for - if you book mentions any of the topics in my sig below, then drop it!
    (i.e. gets should never be used because fgets is so superior in design).

    >>Whats the next logical step in my education?

    There's loads of things that can be done - most of it is non-standard, for
    example, programming windows applications as opposed to console applications
    is a common step (involves learning about the windows API). The same idea
    applys to Linux. Then there's network programming (people often like to code
    IRC chat bots, email and instant messaging programs), you could learn about
    graphics and use OpenGL/DirectX/wxWidgets, or branch into audio processing.

    There's tons of more interesting things out there than just Hello World which
    can be programmed in C, but why limit yourself to just one lanuage? You could
    learn C++, which IMO is quite easy to pick up from C. I won't recommend other
    languages I don't use, except to say that Java, Python and C# are popular.
    No No's:
    fflush (stdin); gets (); void main ();


    Goodies:
    Example of fgets (); The FAQ, C/C++ Reference


    My Gear:
    OS - Windows XP
    IDE - MS Visual C++ 2008 Express Edition


    ASCII stupid question, get a stupid ANSI

  3. #3
    Registered User
    Join Date
    Aug 2005
    Posts
    1,267
    I have been programming in C and C++ now for over 20 years, and its been my experience that the learning never really stops. Just when you get confortable with the language, poof another new standard is out and you have to learn more stuff. Or as soon as you finally learn your compiler another new version of the compiler is released making the old one almost obsolete. There are enough new languages, compilers and concepts out there that will keep you learning your entire life. There will never be a day when you can tell yourself that "I've learned everything there is to know about programming and computer languages."

  4. #4
    Registered User
    Join Date
    May 2006
    Posts
    20
    I'm not sure if I asked my question correctly. By "When are you a programmer?" I was really looking for, when would you be comfortable advertising yourself as a programmer? Such as on a resume??

  5. #5
    The Richness... Richie T's Avatar
    Join Date
    Jan 2006
    Location
    Ireland
    Posts
    469
    Much different question! Should probably be on the General Discussions Board!

    That really depends on a lot of things - most employers will want someone who
    has some sort of formal education, like a degree - I can't picture too many willing
    to hire those self taught only - since it would be unclear of the level of their
    abilities.

    Fortunately, you don't have to know everything about a programming to call
    yourself qualified and that's because that is a contradiction in terms:
    programmers never stop learning (well professionals anyways). There are many
    experienced programmers on this board (such as Ancient Dragon), who have
    been programming for X amount of years, where X is an arbitrarily large number
    (sorry about big phrase, I just really like putting it like that), who still find things
    to learn.

    I really think that you would need some sort of certification to state that you are
    a programmer, in which case the amount of time needed would be about 2 - 4
    years before you could be considered employable (depending on the course
    taken and the job in question). I wouldn't say that you couldn't become a
    great programmer without college, but having a piece of paper that says you
    have a certain level of skill and experience as verified by a recognised institution
    is pretty much mandatory these days.

    The good news is that colleges and universities, however reputable, will not
    teach you everything. This is true for many careers, and the reason is this:
    real world experience in a job beats college lectures hands down. Take my
    circumstances: I'm an electrical & electronic engineering student, just completed
    my second year. Next summer I have a mandatory 5 month work placement in
    a chosen company (choose 10 companies from a big list and go through an
    interviewing process). My performance on that placement counts towards my
    degree, the same as an examinable subject. Having completed 2 years, and soon
    to be in the working environment, one would assume that I know a fair
    bit about designing numerous complex things, right?

    Wrong. Not because I'm inept, but because there is such a vast amount of
    material out there, material so detailed and complex, that It would be impossible
    for a single person to be able to retain and use it all. If I was given a generic
    programmable device such as a microcontroller, and I was asked to get it to
    control a washing machine, I couldn't do it off the top of my head. It would take
    some research, learning how to get it to handle basic input and output, slowly
    building on documentation and experiment to achieve the task. My course
    essentially teaches generic problem solving skills, geared towards my field of
    engineering. I believe the same is true of programming, and many other
    careers.

    A degree is a lot like an entrance exam, to see if you can handle the real
    material, which comes later. The truth is, programming will be like an
    apprenticeship in some ways for your first job, with ongoing training and
    mentoring.
    No No's:
    fflush (stdin); gets (); void main ();


    Goodies:
    Example of fgets (); The FAQ, C/C++ Reference


    My Gear:
    OS - Windows XP
    IDE - MS Visual C++ 2008 Express Edition


    ASCII stupid question, get a stupid ANSI

  6. #6
    pwns nooblars
    Join Date
    Oct 2005
    Location
    Portland, Or
    Posts
    1,094
    I advertised myself as a Programer after programing for a couple months in C++... I got an internship and then the real test began. Compared to when I started the knowledge I had then would fit in the pinky nail of the knowledge I have now. I am also in school for the subject of computer science. Which helped a fair deal in getting me the job.

    Some places will do it as the place I am interning at, they will give you a test. Mine was to debug a perl script, trying to fix a problem that they didn't have time to and they didn't really have a solution for. I had never touched another programming language but C++ when I was given this. 2 days later I came back and turned in what I could... luckly Perl is an easy language and I learned in a couple days easy. The point is though, be prepared for something like that, I know a couple other people who had to do simular things.

    If you want to be a professional programer, go learn a scripting language, Java/C#, and some more C/C++. I personlly went the Java route since that is what we use at work... but I hear C# is a lot like Java when it comes down to coding, though I personly dislike it. Perl is a good scripting language to learn, some say Python but the syntax kills me heh. When you can solve a basic problem in a couple languages, and pick up new ones faster, you will realize like I did... Wow I am a real programmer now.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. What game programmer should I be? need some advice.
    By m3rk in forum A Brief History of Cprogramming.com
    Replies: 10
    Last Post: 04-20-2009, 11:12 PM
  2. C++ Programmer (DirectX9) needed
    By HydroNom in forum Projects and Job Recruitment
    Replies: 0
    Last Post: 02-09-2008, 04:31 PM
  3. Senior 3D Programmer - Moab Studios™ LLC
    By moab in forum Projects and Job Recruitment
    Replies: 0
    Last Post: 08-30-2005, 10:19 PM
  4. Me as a programmer?
    By Cheeze-It in forum A Brief History of Cprogramming.com
    Replies: 12
    Last Post: 03-31-2002, 06:19 PM
  5. I need to interview professional programmer.....please
    By incognito in forum C++ Programming
    Replies: 1
    Last Post: 01-05-2002, 02:46 PM