Slashdot Mirror


For Those Who Wish to be Programmers?

Ryan asks: "I've been stuck in a helpdesk position at 3 different companies for the past 5 years. What I really would like to be doing is programming. At each job, I would write small programs or dynamic web pages in PHP with a MySQL backend, a few small Linux utilities for automating jobs and small Win32 programs, all written in C. Sure, these programs were popular with my fellow coworkers, my boss liked them, but my primary function there is to answer phones, and programming is secondary. I can not transfer to the 'programming department' because its located in another state, nor would I think that department would welcome me, only because I would be coming from a helpdesk. My programming is self-taught, and I don't have a diploma from a university. I'm 25, and have a family, night school is out of the question. The market here (Danbury,-Connecticut) is dry, and HR wouldn't even look at my resume with out a degree. I know someone out there must have been in the same situation and some how gotten their foot in the door. What did you do? Any suggestions?" I'm sure there many on Slashdot who have been in this situation. If you wouldn't mind sharing your experiences on this matter, it would be appreciated. Share the ups and downs of your decisions and in particular, please answer the question: If you had to do it all over again, would you make the same decisions? Those interested in this topic may also wish to check out the the last article that touches on this subject.

3 of 88 comments (clear)

  1. A few tips by inerte · · Score: 5, Insightful

    So, you want to be a programmer? That's fairly easy, anyone can code. But who can make it good? I think those who can have the following abilities:

    1) Commitment: You are not going anywhere if you can't sit down and code a system for months, maybe years. You need to have a stable relationship with your programs. It's like dating a girl, except you can sell it later :-)

    And to have commitment, you need:

    2) Passion: Love what you do. Few people can sit in front of a computer and look at %$@\"{ > $_ () all day. As strange as programming languages characters look, you need to love them.

    Which bring to my next point:

    3) Knowledge is power: But, doesn't matter how many programming languages you know. 1, 2, 3 or 50, they all share a lot of commom grounds that you need to know. So XYZW is a functional language, with a little bit of OOP, and ASDF is completely OOP. Doesn't matter, as long as you know the strenghts of each concept, what mostly changes from language to language is the characters you type;

    And what characters will you type?

    4) Know the market: I love Python. I know Python. But market for it is weak, compared to C++ or Java. But, I make my living with PHP. Instead of complaining that the market for what I like is not the best in the world, realize we live in a society fueled by money, and somehow, you need to make it;

    And the last thing I have to say:

    5) Above all, stick to your values. Don't go programming proprietary software if you love Free Software, don't code for business segments that you don't like, don't code for companies that abuse their market share, treat their employes bad, or sell horrible products.

    Above all, programming is another job. And like any job that it's worth, you have to make a difference. Try to make a positive one!

  2. How do I get started? by battjt · · Score: 4, Insightful


    I've been stitching up cuts on my livestock and giving my children cough medicine and asprin. At work they only think of me as a software designer. How can I break into the medical field?

    Going to school is out of the question.

    Writing one off utilities is not developing software.

    You need to understand how languages work (what is a virtual function in c++), how OSs work, what a thread is, what a btree is and why it is so useful, how a garbage collector works, how your filesystem works, how commen compressions schemes work, how long to expect a user to wait with no feed back or some feed back but no progress indication, how to fill a polygon, etc. You don't need to know all of this because you might have to write it, it is already written, but you need to understand these concepts to expand on them and apply them when appropriate. I have used concepts learned in all the previously mentioned ideas in production software.

    I suggest that you find a way to learn the stuff in a structured environment. I agree that a degree is only a sheet of paper, but the learning that takes place in those classes is extremely hard to reproduce working on a helpdesk.

    Joe

    --
    Joe Batt Solid Design
  3. Here's how by GCP · · Score: 5, Insightful

    Make sure you work for a company that has its programmers in the same building with you.

    Try to find a company using technologies of long-term interest to you.

    Get to know some of the programmers. Have lunch with them.

    Sharpen your skills with the technologies they use. If they do Java servlets, then you start building Java servlets. If they do VC++ Windows client apps, you do the same. Do it at home until you're pretty good, then start doing it to help out at your job (in your own department).

    Then, when there is a dev crunch for the programmers, volunteer to help. Go to the engineering mgr, tell him that you've been doing this kind of work for the company in your dept. and ask if he'd like to borrow you for some side projects to help ease the resource crunch a bit.

    He'll probably be interested, and he'll become your advocate. The guys you have lunch with might vouch for you. If you do a good job (don't prove you're better than they are, prove that their lives are easier with you on the team), you'll soon be pulled in full time.

    After working there a while, you can go work somewhere else, using your demonstrated pro experience as your resume.

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."