Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Programming IT Technology

For Those Who Wish to be Programmers? 88

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.
This discussion has been archived. No new comments can be posted.

For Those Who Wish to be Programmers?

Comments Filter:
  • How about testing? (Score:5, Interesting)

    by TTop ( 160446 ) on Wednesday May 08, 2002 @04:40PM (#3486777)
    It's much easier to transition from Helpdesk to a testing department. In testing (at least the testing I've been involved in) you often get to use programming to develop test tools, scripts, etc. At the same time (depending on the organization) you have much more interaction with the development group and you may even get to review source code as part of your testing efforts. Over time as the dev group becomes more aware of your programming prowess, then you can look for a way to transfer into a rookie dev job. At that point, since the people you've been working with know your skills, it's much easier for them to justify hiring somebody who might not have a degree or other "proper" development experience.
    • Yes, QA is very important and the main gateway to Level 2 development. It's not imperative that you have a degree for a position in QA, but there is no room for someone who is not a self-starter. Once you start to find bugs, the development staff might let you handle them, and then after a year or so, they might see the right stuff in you, and promote you to level 2 or straight into development. I work for a company with 18,000 programmers, and everyone that wasn't already a programmer when we bought them, worked there way up via Support->QA->level 2. Note that if you are better than your peers, your current boss has an obligation to try and keep you (sabotage your promotion), so changing employers is usually the fastest way to move on the corporate latter.

      School is your only hope. I know that you think you have no time, and that you must spend time with your family, but the fact is, that you have to pay bills, and put food in their mouth. However, if you are still in computers when you turn 40, you had better hope that you never get fired, or that you are never on the job market for any reason. It is idealistic to say that the degree doesn't matter, but the fact is, companies are letter go of better than you and those guys have degrees. A degree doesn't mean CEO, it's doesn't even really mean success. But it does generally mean that you don't have to answer your customers with a sentence that starts with 'would you like' and ends with 'with that?'
      • This is a very important distinction between self-taught people and degreed people, they have more chances when they get canned and this is numero uno why I still am taking a class here and there to try to get finish my degree (I'm 24 left school full time when I was 21). While everyone I knew with diplomas after the dot com debacle got jobs in 2-3 months afterward it took me almost 8 months. Of course I am working a full time and a part time job right now, but whatever it takes to pay the bills. If I had not lollygagged in college the first time and just pumped out the diploma at least (even in anthropology) I would more likely be making 1.5x what I am making now with the same amount of sysadmin exp (4 years).

        Also I would pry not go to night school I would work the graveyard shift if you have one, trust me it is easier when you have a lot of responsibilities as you can 95% of the time in a help desk position study and do homework while this is next to impossible in a daytime position. Plus you get the advantage of seeing and picking up your kids after school depending on when you sleep. I've not worked a day shift in almost 3 years and I am almost finished with my chem engineering degree through 5 different colleges and 2 different states all I really have left is my lab work.

  • It won't help everywhere, but some places look upon work on decent open source projects as useful experience.
    • All of the projects that you've mentioned sound like things that you have put together on your own, which is valuable experience in programming. However, the next level is to work with other programmers on a project. Most professional programmers don't work alone, but have to get their code to work with their peers' code. You have to learn how to use other people's interfaces to get your code to work and how to follow standards for writing code that your colleagues can maintain.

      A good open source project should expose you to that level of collaboration - in fact, it may put you ahead of some university graduates.
  • Change in title (Score:2, Insightful)

    by ip_vjl ( 410654 )
    Depending on how good your relationship with your boss (and how much power he has) ... you may be able to get him to change your job title. (not necessarily your duties)

    Titles don't really cost anything, but at least that way your resume (at first glance) will contain what looks like related job experience.

    The problem is that most HR reps or placement agents don't have a clue about anything technical, and therefore need to look for objective measures of skill (degree, titles, etc.) Even though you and I know that a degree doesn't make somebody a good programmer, it's all they have to go on when trying to reduce a huge stack of underqualified applicants to a manageable amount to bring in for interviews.

    • ...or you could just change the title on your resume yourself. Take control. If you think you can hack it as a programmer, jump in. Lie. Bullshit me... Worst case, you get caught, but I've never expected anyone to provide me a contact at a current employer (who wants to let their current job know they're looking?), so you probably wouldn't get caught.

      And yes, I think this is moral to do, provided you really can put your money where your mouth is. You'll probably have to bust ass to meet expectations, but far be it from me to stop you from doing so.
  • by tps12 ( 105590 ) on Wednesday May 08, 2002 @04:46PM (#3486816) Homepage Journal
    You are going to be at a disadvantage trying to switch to an engineering position in your current company. All the more so since your coworkers and your boss find you useful where you are. Basically, you have been labelled by them as "help desk material," and this will likely overshadow any of your skills.

    So, it may come down to choosing whether you would be happier with your current employer, or doing what you want to be doing for someone else. It wouldn't hurt to see what's out there, and if you get an offer then it might make your present employer see you in a new light.

    Basically, the company is not going to go out of its way to move your career for you. You shouldn't expect them to. But most employers would be happy to work with you to put you where you will benefit them the most.

    As this is happening, I recommend frequent practice. Try to keep abreast of current practices and new concepts and paradigms. Good luck.

    If, in the process, you are to come across a Gandalf wallpaper where he looks stoned, please send me a link. Thanks.

  • Other than a degree, the only way I can think of to show employers that you can code is to do it. Ask your current employer if you can use the help programs you wrote as examples. write other examples to other employers. Getting involved on sourceforge [sourceforge.net] is a great way to build up a portfolio of code you've written(and it does good for the community). If you don't want to take the time to get a degree you will definatly have to be proactive on this, it's not easy but it's not impossible.
    Good luck!

  • by rodentia ( 102779 ) on Wednesday May 08, 2002 @04:50PM (#3486847)
    Are you sure you are ready to give up your place in the lucrative field of user support. You guys are the face of IT, the ones everyone looks to, the keepers of the flame and guardians at the gate. Even programmers look up to you when you find them on the floor of their cube catching a few z's. Remember how much chicks dig those sexy pagers.
    • Before talking, try doing it just for fun, you probably wouldn't stand more than 2 or 3 minutes. Helpdesk jobs suck as hell. I've worked for the helpdesk of a local ISP and man was I glad when I left.
    • This is true. I work a helpdesk and I LOVE it! I just do programming at home making stuff that I like for me and my friends. The work is easy, and the money is good for what it is.
  • HR people suck (Score:1, Interesting)

    by forkspoon ( 116573 )
    This is truly a problem with the system. I will elaborate. I don't know the author of the question, but let's assume he's a fairly good programmer with a lot of useful experience. The problem is that a company will take a kid straight out of school with a CS degree over this guy any time. Whats unfair or stupid about that is that the guy probably has more useful experience than the student. Students are taught CS, which is basically sorts, lists, theory, etc, but usually don't know anything that actually gets used like Perl or JSPs or SQL, etc. Thus the student will have to take a huge learning curve to learn all the packages, which will be less effecient and cost more than if our guy just walked in and started working, even if he doesn't have a degree. So HR people are morons and should hire based on what practical shit you know, not on whether you have a silly degree from some shit university.

    Thanks,

    Travis
    forkspoon@hotmail.com
    • In today's economy (where tech talent is cheap), HR goons actually serve a purpose.

      Imagine this scenario: you're a hiring manager who needs a programmer. You post an ad and get 500 resumes. You want to spend your time going through resumes? Why not give the HR guy some general guidelines to cut down that number?

      I share your bias: I too hate HR goons. They typically don't know the nuts and bolts of what we do. But as long as they are gatekeepers, we must respect them as gatekeepers. And that means putting on a nice tie and suit, putting up with their stupid questions, and pretending that we're a good "fit" for the company in order to get an interview with the hiring manager who makes the decision.
  • Bite the bullet (Score:4, Informative)

    by rgraham ( 199829 ) on Wednesday May 08, 2002 @04:54PM (#3486883) Homepage
    I know it won't be easy to do but you're going to have to make a sacrifice somewhere, which probably means you'll have to take a cut in pay and take a very entry level programming position or go back to school (even though you said you couldn't due to family considerations). I went through a similar transition a couple of years ago when I left the printing industry and took a 35% pay cut just so I could do some simple NT administration and VBA programming. I was paying my way through college at the time so that pay cut really hurt. About six months before graduation I managed to land a part-time position with a consulting company who specializes in Java/Unix development (my focus/interest) which after graduation turned into a well paying full time position.

    Short term sacrifice for long term gain.
  • Sounds to me as if your current company has typecast you as a HelpDesk person.

    Break out of the mold by moving companies, even though it looks as if you'll end up having to change venue at the same time. That's easier when you're young and your family doesn't have deep roots into the locality.

    Also, see if you can't collect some written references from those prior bosses who appreciated your little programming gems.

    Those testimonials are necessary fodder for the wider search among an audience that doesn't know you and tends to default their evaluation criteria to "Got $Degree, In $Subject, With $GPA, From $Institution".

    But insure your references "limit" their praise to those skills you're trying to expand upon, even if it doesn't do justice to your full range of skills if you were to include everything you can do on the HD.

    You can easily see that it would do little good for them to write something along the lines of "wrote a few small great scripts and was one of the best of our 24 monkeys on the HellDesk!"

  • by Synistyr ( 529047 ) on Wednesday May 08, 2002 @04:56PM (#3486895) Homepage
    If you have 2 incomes, it's easier. Get another job somewhere else, if you current company is unwilling to help you out, you gotta move on.

    You said night classes are out of the question, what about part time in the day or at night? Correpsondance courses exist so you can work at home on your own time. (You can get a CS degree online now)

    Remember one thing tho, alot of programmers aren't doing what 'they' wanted to do when they got into the field. (they're working on other technologies, mainframe, client-server, networking, etc..)
  • by BRock97 ( 17460 ) on Wednesday May 08, 2002 @04:56PM (#3486896) Homepage
    Sure, people were able to get their foot in the door maybe five years ago, but times have changed. With the dotcom bust, the market is now saturated with talent that has no formal schooling, but write mean code. In fact, I just got out of a meeting for my company where the comment was made that the problem right now is a glut of too much high priced talent. So, unfortunately, you will probably have to find a degree some how, even if it is doing the Sally Struthers home schooling method. Places are starting to place a huge emphasis on that in an effort to seperate people since there are so many tech types out in the world.

    I can some what relate in that I have just a BS, but a Masters degree is what my company is interested in. Plus, I am classified as a test engineer, but would really like to program. I know it is hard, but even one course a semester would look great on a resume. It would tell your HR and higher ups that you are making an effort for a formal education. Heck, just taking two courses last year got me a pay raise.

    This is the direction I am taking and I don't regret it. I am moderately happy in what I am doing, and have found persistantly bugging the higher ups for more programming to do doesn't hurt either. One final piece of advice I could offer is don't ignore the power of the web. Take on a moderately difficult task (in my case, creating interactive web sites for my boss and my old school) and then gloat about it as much as you can on a webpage along with a copy of your resume. This can get someone's attention as well!
  • A few tips (Score:5, Insightful)

    by inerte ( 452992 ) on Wednesday May 08, 2002 @04:59PM (#3486912) Homepage Journal
    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!

    • 1) Commitment
      2) Passion


      These are key. I spent five and a half years in school to learn how to program and the "theory" behind it, only to learn that I didn't like having to spent four months figuring out why the damn icons wouldn't repaint correctly. Although I had a degree and the supposed know-how to crack code all day, I just didn't have the motivation.

      Actually, I'm in a similar position you are in. I wanna do sales, but the sales department won't touch the techies. They have me pigeonholed into programming duties. I have the personality and the shamelessness required, but they don't seem to realize that.
    • You need to have a stable relationship with your programs. It's like dating a girl, except you can sell it later.

      I've had relationships like that. :)

  • There is no escape from the helpdesk. From here, you can only go into management. I feel your pain. I'm in mostly the same boat.
  • Are you any good as a programmer? Good enough to solve real world business problems on your own? Maybe you should start your own business.

    You say you've written small utilities and tools to help out at work. Could these utilities be evolved into fully grown solutions? If you have a nine-to-five job at a help desk, it could be an opportunity for you to start your own company in your own time. All you stand to loose is a bit of your spare time. You could combine your passion for programming with your help desk experience and solve the business problems you have experience with. Turn your desire to scratch your own itches (your small tools and utilities) into a lucrative software business :-)
  • You can either:

    A: Go get a degree/certificate/internet-school-honorary-napkin . You can then go cold-apply for a job programming.

    B: Talk to your uncle who works at that place that makes those things. Maybe he knows somebody who needs a programmer. If you're serious about finding a job, this may be your best bet - but you'll need to swallow some pride in order to ask the people you know (and often don't know that well) for help. Your chances may be better than you think - a good word from your old Scout leader may be better than a degree. And once you've got something on your resume, you may have more like cold-applying.

    Good luck!

    .
  • Get you work out there in the world through some freelance work. More often than not, clients are more interested in the work that you've done (or can do) and less interested in your degrees.

    Consider building a name for yourself this way...
  • I'm not sure if this will help you much, but I got my first decent job with a small company doing email based tech support. The company provided a web based email solution.

    My superiors looked to train me rather than hire someone new because it would be cheaper (you work for peanuts, too, right?), and I was already very familiar with the system and code base. The whole operation was on a shoestring budget, and I had luck on my side at that point, but you may wish to pursue a relationship with a smaller company. Of course, consider the high risks involved.

    It seems like you've already demonstrated that you're competent and would probably do well with more programming-oriented tasks, so perhaps you should pitch a customer service automation intranet service. Tell your boss you'll work for two weeks on the same pay, developing an automation intranet site.

    Work up some figures and show him you can save him money (by giving your co-workers better tools) if he pulls you out of the customer service trenches. From there, he'll either see that he got some great tools for next-to nothing and put you back in the trenches anyway, or he'll try to create a new position for you.

    Either way, "Revolutionized customer relations department with innovative Intranet solutions" would probably look good on your résumé.
    • I agree that a small company may be the way to go, but...

      Either way, "Revolutionized customer relations department with innovative Intranet solutions" would probably look good on your résumé.

      Gotta disagree with that one. I see "revolutionized" and read "prone to exaggeration, can't trust anything he says". I then see "customer relations" and "Intranet" in the same sentence, realise that intranets are for internal use, and immediately question whether it was done for your customers' benefit or your own. Finally, I note that you haven't said anything substantional or verifiable to support your subjective claims.

      Sorry, it may be harsh and unfair, but that probably is the first impression such a statement will give a potential recruiter.

      • Your first point is reasonable and, therefore, my previous advice is shoddy.

        However, if someone calls your 800 number, and it takes your support department one minute and thirty seconds to even find the customer's account records, there is room for improvement with your internal tools.

        You are totally right, in that the exaggeration is blazingly obvious. However, your second observation is off the mark. Internal tools can benefit customers measurably.

        How about: "Helped to improved customer satisfaction by building and updating Intranet tools for the organization's customer service staff."

        Anyway, thanks for the criticism. It was valid and refreshingly constructive. I think the next time I work on my resume, I think I'll be better for it because of your feedback.
        • You are totally right, in that the exaggeration is blazingly obvious. However, your second observation is off the mark. Internal tools can benefit customers measurably.

          I wouldn't for an instant suggest that they couldn't. :-) It was simply that my immediate reaction, the way it was phrased, tripped the wrong switch.

          I like the rewrite much better, BTW. It's reasoned rather than hyped up, and states a concrete improvement that resulted from the work in question (improved customer satisfaction), both of which are Good Things(TM). I hope it works well for you.

  • How I did it (Score:4, Interesting)

    by esme ( 17526 ) on Wednesday May 08, 2002 @05:44PM (#3487174) Homepage

    I was doing tech support and some sysadmin for a project, and had been the sysadmin/graphic designer/jack-of-all-trades at a small company before that.

    I taught myself Perl (sounds like you've already gotten this far), and picked an application that needed to be rewritten from scratch. In my case, it was the Campus Map at the university where I work. I went to the people who were in charge of developing it (who didn't really have the time to do it right, and it wasn't a high priority for them at all), and volunteered to do it.

    Then I did a really good job. I did the project as if it was my real job -- meeting with the people involved with the site and related stuff on campus to get all the input I needed to have the app meet everyone's needs. I redesigned the whole section of the website. I badgered people to get access to all the content that needed to be included. I documented the API for the Perl CGIs so other people could embed the maps into their own websites.

    And the next time a job came up in the department, I was at the top of the list.

    -Esme

  • I myself spent three years doing help desk before I finally got into a position where I'm programming. The same as you, I spent some time "in the trenches" and only did software that helped me do my job, and delighted coworkers and bosses.

    I finally got to a company that saw my programming desire, and took me up on it. With that in mind, there's a few things that (looking back), are very important.

    1. Find a smaller company; you don't really have a chance of making the transition in a larger company, unless they're putting you directly into a programming position.

    2. Make SURE you bring up your programming interests in the interview somehow, if the company doesn't have a firm programming department. A lot of companies want to do internal programming, but don't want to risk the venture of hiring a programmer ONLY to program. In my case, they set me programming part of the time... when they realized how useful it is, I was put on full programming duty.

    3. Make sure you find a company that maintains an interest in programming. Some companies don't want to have anything to do with it, some want a lot of internal programming done. The key thing is to show them how valuable a programmer can be.

    I find that most network solution companies maintain at least a passing interest in keeping a programmer type on staff. The company I work for decided to do their own office management system, and that's where I fit in the picture. Some other useful things to know is that some companies, in order to become partners, REQUIRE office management software in order to be listed as a partner. I had the initial challenge of justifying my work, but now that we have instant project analysis and whatnot, they are more than convinced.
  • by battjt ( 9342 ) on Wednesday May 08, 2002 @06:00PM (#3487265) Homepage

    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

    • 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?


      That's a bit harse. Though the analogy is somewhat valid. Writing software is not like saving lives, and I would say that 90% (or some other arbitrary figure) of developers could not write mission-critical code to save themselves.


      Writing one off utilities is not developing software.


      You are developing software as soon as you write "Hello World". The fact that this guy is writing utilities, even if they are once off, means he's solving problem using software. This is what developing software is about. Just because it does not meet your standards, doesn't meen it's not development.


      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.


      You can get this from a book.
      • by battjt ( 9342 )
        90% (or some other arbitrary figure) of developers could not write mission-critical code to save themselves
        EXACTLY! Why are we continuing the myth that you can become a super programmer without extensive training? You can't. You need experience with the patterns of software development (notice the lower case 'p'atterns).

        Just because it does not meet your standards, doesn't meen it's not development.
        Right. Handing out asprin isn't medicine. Your future coworker here wants to transfer to a programming department. That isn't a one off group. How many of your coworkers should have gone to school, but didn't. We as an industry are producing crap, and it's because of attitudes like this skipping school thing. You have to learn the basics before you can produce complex software.

        You can get this from a book.
        Did you get it from a book? I didn't say you couldn't get it from a book, but I don't know anyone who learns from a book without testing. projects, and peer review like they can from a class.

        Joe
        • Did you get it from a book? I didn't say you couldn't get it from a book, but I don't know anyone who learns from a book without testing. projects, and peer review like they can from a class.

          All of that stuff could be done on your own, though. You just have to be motivated enough.

  • Job Duties (Score:3, Insightful)

    by bwt ( 68845 ) on Wednesday May 08, 2002 @06:14PM (#3487332)
    I take the belief that anything you actually did while on the job can go on your resume. After all, the copyright of the code you wrote is likely held by the company (work for hire), so it is only fair that you can list any skills you actually used to create intellectual property for them on your resume.

    There is a definiate art to writing a resume when your experience is in one job tilte but you are seeking a job in another. As long as you do not make up facts, spin the hell out of what you did. Market yourself: there is no rule that says the description you give of your job duties has to be proportional to the amount of time you spent doing them.

    List bullet items for each of the programming tools you actually used, no matter how "small" your use of it was, and give a short technical and functional description of what you did.

    For example, if you wrote code to use PHP/MYSQL to track something at work, then devote several lines to this, even if was done "in your spare time" and wasn't your primary job duty. Your attitude to a prospective employer has to be "I've done X before, I can do it again for you". If you find yourself thinking along the lines of "Well I was only really asked to do Y, and Z and only did X on my own when Y and Z were slow" then you need to slap yourself. Frankly, if you weren't asked to do X, all the better: that's called proactively identifying business needs and solving them. Employers do not want people who sit there waiting to be told what to do.
  • I work for a University, in an IT department. Actually, given your location, I s'pose it's relevant that I work for the University of Connecticut. I strongly recommend higher-ed for IT opportunities. They are great environments to work in, offer great benefits, and most will pay for any classes you wish to take.
    But most relevant for this topic -- unlike corporations, educational institutions are more likely to give someone an opportunity to grow.
    So, check out the HR websites, see if there is something you are interested in, and get that resume in! Hope that helps!
    • Hi, I'm intersted in getting an IT position at a university. I'm especially interested in the educational benefits. How are the salaries in that sector? I'm currently an underpaid gov't contractor, so i'm relatively easy to impress. Also, do they consider it a + or a - if you really intend to take advantage of free/almost free schooling (like for instance getting a degree). The way I see it, it keeps me around for a while, but it also makes me a little less available, less able to focus.
  • I was in a very similar situation, with a few call center jobs under the belt, and a desire to move into programming but no degree.

    I am now working for a large national corporation as an "IT Support Analyst" which is a rather non-descriptive job title. I do some helpdesk duties, but while I'm here I'm getting them to pay for and send me to lots of training to lead me in the programming direction... they've sent me to some XML classes, .NET development seminars, with SQL coming up soon. I'm starting to develop some programs for internal use that I can then use on the resume.

    If you can find the right company that is willing to let you flex the job description a little, you can learn on the job. Sure, helpdesk duties aren't the greatest. But right now I'm developing software to run our helpdesk, and some utility programs that go along with it.
  • When I was in a management job, I hired people in situations like yours. What I always looked for were people who could understand what was going on conceptually, and could do something basic on the board, such as code a bubble sort, in any language they desired. Job experience and education are important, but not critical. Understanding and ability are critical.

    Be prepared for a lower salary to start with, though, than a programmer with a background or education in the field. After all, your employer will be taking a risk on you.
    • Interesting, I find it funny that you mention bubble sort. I've been programming for over 2 years in the 'real world', wrote a VRML 2.0 interpreter, OO Animation Package with about 20 objects(20,000 lines of code to start, it will be expanded), a couple of plugin interfaces, etc. And, I must say, that I've had very little need to get into sorting algorithms. So much so that I actually had to go back to my data structures and algorithms to look up bubble sort. Thinking back, I've only had to use a sort algorithm once in the past two years, weird. It's pretty strange how far off the mark most of my CS education was in preparing me for the extremely math intensive world of 3D application development. I would definitely need to re-read a few of my CS books if I wanted to interview.
  • almost. My family never had much money and still doesn't. My father is permenantly disabled and my mother is a nurse (RN). Here's my story:

    When I was going through high school, I got a job a tech shop repairing and troubleshooting PCs (making $5.50/hr) in a farm town of ~1000 people. I got A+ certified (which is basically worthless to me now) because the other A+ certified guys made $30K / year which I though was a LOT of money. During those high school days I took a few programming classes (Qbasic, Pascal, then C/C++ in that order). I did that tech shop gig for 6 months and left to work at the local ISP for tech support (making $7/hr). There I was introduced to PHP. I worked the graveyard shift there for 6 months and drove 2 hours to work and 2 hours back and gasoline was eating up the money quick. The drive was a huge sacrafice on my part. Every night when I got to work, I spent the 8 hours there reading and learning everything I could relating to programming just becuase it was interesting. I picked up PHP quickly because it's so similar to C/C++. I rewrote the tech support website in PHP with a MySQL backend on Linux while I was answering the phones. I ftp'd everything and had no clue I was working on linux. I didn't know what linux was back then anyway. I left there after 6 months to go to my first real programming position. This is the way I got in:

    1. I rewrote the tech support site in PHP, therefore I had sample code and proof I understand basic programming concepts. Code is basically a must have for any development postition (in my experience, YMMV).
    2. The company I went to was small 50 people and they were growing. They were interested in me because I was young (17 y/o) and extremely cheap according to the other programmers. I started off at $27,000 / year with benefits while the others were $50k to $75K. This was good for them because they could POSSIblY get a good developer for pennies on the dollar. It's a low risk / high gain opportunity for the company.
    3. I was local and didn't require any relocation (I still made the 4 hour a day drive since I couldn't afford to move).
    4. I could start immediately without giving 2 weeks.
    5. I had a personality as did the company.

    I left from there after 6 months to go to my next job making $50,000 year because I had _real_world_ experience. All that happened less than 5 years ago. I have yet to go to college or even take the SATs. The rest is history.

    Currently, I am making much more. I have been living in another state ever since I started making $50K / year at the age of 18. You are still relativly young. Almost all of the developers I have had the pleasure of meeting are between 23 and 35.

    This is my story. YMMV. A few things you might want to know. The raises you get are bullshit. The only way (IMHO) to get an increase in a pay is to switch jobs. Hope this helps.
  • by Ian Bicking ( 980 ) <(moc.ydutsroloc) (ta) (bnai)> on Wednesday May 08, 2002 @07:15PM (#3487590) Homepage
    If you know some PHP and MySQL, you're ready to do some independent work making a website. It's not that hard... find someone you know who wants to make a website, and go to it. Maybe a public website, maybe ecommerce or something, maybe an intranet for a small business. But you need a connection with the person, you won't be able to sell yourself in the wider marketplace.

    You might have to do it for little money, or for free, or maybe negotiate something with the person -- for instance, if you are doing an ecommerce site, you might do it for a commision on what gets sold on the site. That way the person has nothing to lose. Or you might want to set it up for them, and then charge them for maintenance (if you feel more confident about your ability than they do -- again, they'll only have to pay for it if they like it). You're looking for experience, so you should expect to make relatively little for your time investment.

    If it goes really well, you might find yourself being self-employed, doing programming for people who can't hire someone full time for their programming needs (this happens more often for web development than other programming). If not, you should have some good portfolio work to present someplace for a new job. Your new job may not be a programming job, but hopefully it can be a job that can become a programming job (where your current one can't, it seems). System administration jobs tend that direction, for instance.

  • by Raskolnk ( 26414 )
    I'm 25, and have a family, night school is out of the question.

    I'm early twenties, a programmer (more than a full time job), wife and kids. I go to school, and commute two hours a day to do it. I wake up at 5 to get to school by 7:30 so that I can attend class and get to work by nine. I use my lunch break to go back to school for class again. Do homework after the kids settle down (if they do, usually passed 11). It's a pain in the ass, and I'm barely surviving, but it is possible. I don't know if you have some particularly difficult situation (e.g. illness in the family), but my guess is that you could do it if you really wanted to.
  • Go figure (Score:3, Insightful)

    by knife_in_winter ( 85888 ) on Wednesday May 08, 2002 @07:48PM (#3487737)
    I am 30 years old and I have a degree in English.

    I started out in this industry doing PC Desktop Support.

    Then I was doing HTML.

    Then I was doing Cold Fusion.

    Then I was doing Perl.

    Then I was doing Objective-C in WebObjects.

    Then I was doing Perl and Java and XML. (Jakarta rocks!)

    Along the way I picked up some Bash skills, some Emacs Lisp, some Python, some TK, some GTK and SQL including experience with Oracle, Informix, PostgreSQL and mySQL. Some of it was just for fun; some of it was for work.

    I have learned about Linux and Solaris and a tad about AIX.

    Now I am a web application programmer and team lead at Apple.

    Repeat: I am 30 years old and I have a degree in English.

    Do not think you cannot do what you want to do. Do not let your age or your background keep you from your dreams.

  • It sounds like you are already doing some programming and it is work related. Keep doing that and enjoy it! Keep looking for programs/utilities to write for your help desk related career. You'll learn tons with respect to programming and get a better understanding of requirements gathering and how users (your follow workers) interpret new programs. The best part is - you'll have no pressure to succeed or fail or have trouble with deadlines. Enjoy that luxury now while getting some good experience.
  • by Anonymous Coward
    You don't seem to want to sacrifice anything, but you want to be a programmer. Sorry, dude, there is no way that will happen unless you sweat fucking blood. You need to tell your wife and kids (you fucked up by having kids too early dude) that you need to sacrifice family time and study, otherwise you have no chance.

    I was in a little better position than you because I have an engineering degree but with really shitty marks. I got my first job doing technical support in a bank for servers, when all my other friends got jobs at IBM, Motorola, etc. I basically put computers together. But when I got home, I worked non-stop on the computer, learning networking, Windows NT, C++ programming, etc. I spent 8 hours at work and 8 hours at home studying. Every single fucking day. This is what you need to do as well.

    Just by luck the bank moved from OS/2 to NT, so I went up to the manager, told him I knew Windows NT and if I could work on that project. Then I did the same thing with programming, and after a year of working at work and at home, I fudged my resume saying that I was a C++ programmer, and went for a programming interview. I didn't have any very much significant business experience, but because of all the programming projects I worked on at home, I was able to talk the talk and walk the walk.

    I got hired, and the rest is history. 9 years later, I'm working in Silicon Valley making more than 6 times the salary that I did when I first started ($30000 Canadian == $20000 US, now I'm making >$120000).

    The trick is that every day when I come home, I'm always working. I'm always learning new shit, the latest technologies, and this can never stop while your in IT. If you want to get into programming, you're going to have to tell your family to "FUCK OFF! I'm working my ass off so that we can all have a better life!" and put your nose to the grindstone, and fucking study and work and program on your own.

    THERE IS NO OTHER WAY TO DO IT.
    • you need to sacrifice family time and study

      But when I got home, I worked non-stop on the computer, learning networking, Windows NT, C++ programming, etc. I spent 8 hours at work and 8 hours at home studying.

      tell your family to "FUCK OFF! I'm working my ass off so that we can all have a better life!"

      It may just be me, but I'm not sure that your description of your home life constitutes "a better life", no matter how you slice it.

  • Here's how (Score:5, Insightful)

    by GCP ( 122438 ) on Wednesday May 08, 2002 @11:03PM (#3488446)
    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.
  • In my previous job, I ran a development team that split it's time between small to medium size system changes and second-level production support. I actually went out of my way on a couple of occasions to hire help desk people for the support, analyst and testing type roles, as they knew the systems and the business reasons behind it better than any programmer I could hire off the street.

    Over time, I developed these peoples skills to the point where they were capable maintenance programmers. I don't think I'd trust them to design and build a system from scratch, but they filled a valuable niche that the hard-core tech-heads just weren't interested in doing at the time.

    So it does happen, but now is probably not the best time to be looking to do this, as the once proud tech-heads are now taking whatever they can get.

    It's unfortunate your current companys dev team is inter-state. All I can suggest is find another help-desk role in a company with a local dev team, if that's possible in this climate. Then work your arse off for 2 years to learn the company, it's business and it's systems inside out, better than the programmers do. Then get cosy with the team leaders and managers responsable for running the Analysis, Support and Test teams, bend over backwards to help them, and eventually the door should open. Avoid the HR types, they rarely understand IT or the business, all they know how to do is read a CV and yours will quickly be weeded out.

    One final piece of advice: no matter how hard it may be to organise your life around it, any sort of qualification will help. It did for me, after 5 years part-time uni, the day I got my degree was the day my company moved me from a boring clerical job to an analyst job in the dev team I ended up running a few years later.

    John.

  • You might want to start your programming career at a smaller company. They typically look more at your abilities than your qualifications, and they do not usually have an HR "firewall" to screen applicants.

    Once you get the experience, build a portfolio notebook that has pictures and references of your work. Include photos of your company's products, glossy advertising brochures, photos of your customer sites (even if it's just a photo of a mainframe). You will then be able to explain to future employers exactly what your contributions were.

  • Find a small company that wants to hire a programmer, doesn't want to spend the cash for a Univ. grad and is willing to take the risk. You might not get paid much better than the help desk, but it will get you in the door. That counts for more than a diploma in many cases.

    And as much as you don't think nightschool is an option, if you really want to be a programmer you might have to go that route. The good thing is, most of the nightschool courses related to programming shouldn't take up too much of your time. Most people spend the time trying to figure out why printf keeps crashing their program. You won't have that problem.

  • I was in a position similar to yours. I have a family, responsibility, and a desire for a software development position.

    However, I didn't even have the job. I was unemployed. All I had was my highschool diploma.

    I decided to bite the bullet, and apply for University. My wife stayed at home with my daughter, and I worked part-time at a local coffee store to pay most of my bills. Student aid also helped.

    I took an internship between 3rd and 4th year at a respectable company, and that got me "real world" experience. I also dropped my coffee job in favour of some independent contracting (web / documentation / programming.)

    I finished my last exam this week, and I have a job waiting for me in an amazing and prestigious company (well, hrrrm... this is Slashdot. Perhaps that sentiment wouldn't hold here.)

    The one thing that separates my story from yours is that I went right from high school to university. My point is, though, that the only difference between you and I is that you've worked for a few years. It doesn't matter -- I've seen tons of "mature students" in my lectures. In fact, you'll have the advantage of a practical underpinning that most nerds have no clue of. In the big scheme of things, you'll take a 4 year "pause" from your career. That's nothing. It seems daunting to go back to school after all your practical experience, but your future is in your hands.

  • I don't know about Conn., but in my state, there is a dearth of skilled computer people working for State Government. I think this could have something to do with lower pay in government than in the private sector.

    I was a Mechanical Engineer with a 4-year degree, but I wanted to move into programming. A state agency interviewed me, saw I had passion for programming, and took a chance on me. It has worked out well for them and for me.

  • You might consider getting certified in some programming area. I know there are Java certifications from Sun and they are not too hard to get. Not only do some employers like them, it's also a great way to learn. Best of all, all you have to do is pass a test and you can study on your own so you don't have to take time away from your family.
  • by plcurechax ( 247883 ) on Thursday May 09, 2002 @02:09PM (#3491996) Homepage
    Do you want to be a professional programmer / software developer / software engineer? Or would you be satified being a hack (not a hacker) programmer that writes one-off (web) scripts?

    If you want to be a white-collar professional type, expect to be like any other professional, and get the best education you can. Which is typically at least a four year bachelors degree.

    You can get an entire BSc Computer Science via correspondance, online or via postal mail. Look at any university in US, you very well may qualify for financial aid, or low-interest student loans.

    Then follow this method:

    1) Get an education, (knowledge that will not become out of date)
    a) understand computers (a la Structure and Interpretation of Computer Programs [mit.edu])
    b) mathematics
    c) history of computing
    d) programming in the small
    e) programming in the large
    f) software engineering
    g) networking
    h) professional presentations and writing skills
    i) algorithms and data structures
    j) database systems (RDBMS, OO databases)
    etc.

    2) Training (skills of tools and techniques, that will have to be maintained)
    a) programming language (e.g. C, Pascal, Java, C++, whatever)
    b) database (Oracle, PostgreSQL, MySQL)
    c) operating systems (VMS, Unix, Linux, W2K, Plan 9)
    d) project mangement

    Note: Training does not need to be formal, and tends to be more expensive. I did most of my either at university, or on the job.

    3) Experience
    I think you can figure this one out. I should point out that testing, QA is often an easier to get into than the programming department. Also debugging skills, and seeing what can go wrong (Risks Digest [ncl.ac.uk]) will hopefully make you a safer programmer.
  • I went to a private college to learn programming, and the only thing I got from them was a big loan... I stoped school before having the diploma and got directly a job, I wanted to work... So, I got a programming job, in Visual Basic. That was my biggest mistake (not the VB part, the diploma one). I've never been asked for it tough, but I'm sure that having one would help. So, what I had to do to compensate was to be very convincing. Two years ago, I wanted to work in Java, but had no experience in J2EE and Java in general. I started learning it at home, studying books etc etc. Then, I had the chance to pass an interview were I work right now. I've been very honest with the interviewer, stating that I never programmed in it. But I also showed how much I was willing to learn and how much I was ABLE to learn fast. I got the job. Then, I proved that I was right, I worked hard to prove myself, studying on weekends, after work instead of watching TV. I managed to pass a few certification, all within the first year. Today, my boss confidence has grown and he is willing to give me much more responsability, in the end it pays well to do hard work. My advice would be to study a lot. Even if you don't go to school, study books. As much as you can. Learn a language, learn all about the buzzword of the day, it may be boring, but they are what ompany wants. learn theory, design patterns etc etc. And get some certif. They may not be as good as a University diploma, but they are more then nothing. In a pile, they can help to distinguish you from the others. And in interview, show how much you like what you do. Like someone else said, it has to be a pasion. And don't be afraid to show it. When the interviewer ask why they should take you, even without prior experience, tell them it is because you love your work, that you eat book and are willing to work hard. Also, you should not be afraid of Over Time. I had to work a lot, and I mean A LOT at first, so I could meet the deadlines. other programmers are gonna finish in half the time maybe, so work twice to show that you understand the business need. People will see how much you work hard, and it will pay.

    Just be convinced that you can do it, convince other that you can, and one day it will work. It could take some time, but just keep on trying.
  • I'm almost 50 and still do embedded systems programming, hardware design and development (because I want to). I can do C, C++, HTML, Javascript, assembler (any processor) and a lot of other stuff. I have worked on long projects (2+ years) and ongoing development as well as the small stuff. And just to rub salt into the wound, I have no university degree. I also know several others who have "gotten there" without the formals, and do very well for themselves. But we all pay our dues somehow- whether by working on that degree or by less formalized hard work and dedication. If you really can't go get some formal education, you had better get all the informal you can. Read. Learn. Do. Read more. Study other people's work until you understand not just how they strung those lines of code together, but why. Learn the theoreticals, not just the practicals. Do not stop learning for any reason- you will be dead in the water. Unlimited emphasis on this. Even when you get that dream job, Read more, learn more, do more. Also, brain-suck anyone you work with who is high-skilled. Most pros like to share (and return the favor when you can). You can be a "coder"- which is the tech equivalent of a factory worker - just by going to school and having good specs to write from. But you and Mister Bsc need to bring much more to the job than the ability to string lines of code together. As others have mentioned. Also, capitalize on what you do- which includes writing utilities such as you mentioned and make sure people know about them and critique them. This is critical: you must be known for the things you want to do and can do. Now stay in touch with these people as they move about. Be sure they know what your goals are. Sooner or later, someone will be in a position to say to their employer "I know a guy who does that and he's really good. Want me to give him a call?" This is an extremely powerful thing- the personal reference from soeone on the inside. Whatever happens, don't let them down or it will be your last. There was a time when almost 100% of programmers in technical and embedded came from something else. I suspect it is still >30%. Consider: On small team and individual projects involving "the real world", sometimes the former help desk guy who can program might be the best geek for the job on that new in-house help desk app. Breadth of knowledge is very important when you are trying to get into the field. Bring more than the basics, bring problem-space knowledge whenever you can. Still, if you can get it at all, get the formals. Thanks to my mispent youth and working class screw the elitist snobs attitude, I essentially blew away 10+ years of my career. Given a chance to do it over, I would be a most diligent student. And stay focussed. Opportunities come by all the time when you know what to look for. Learn to see them. Take advantage of them. Sometimes, a little exposure to a particular field is more important the the pay. This need not mean taking a particular job, it can mean doing things like becoming part of an open source project, or doing some tech-head work for an organization that needs it. Good luck.
  • I have no degree an am a software engineer II for a large company, but I got the job 2 years ago, when they were begging monkeys to bang on keyboards. There is no way I could get my job now, but I have proven myself in battle.

We are each entitled to our own opinion, but no one is entitled to his own facts. -- Patrick Moynihan

Working...