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.
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.
It won't help everywhere, but some places look upon work on decent open source projects as useful experience.
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.
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.
Karma: Good (despite my invention of the Karma: sig)
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 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!
"as plurdled gabbleblotchits on a lurgid bee" - Prostetnic Vogon Jeltz. (One man's humorous is another mans flamebait)
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.
illegitimii non ingravare
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
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!"
"Provided by the management for your protection."
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..)
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!
Bryan R.
The price of freedom is eternal vigilance, or $12.50 as seen on eBay.....
There's no way around it. You need to understand basic computer science before you can call yourself a programmer. The best way to do it is to get a degree.
---WARNING: Medical Analogy---
Anyone can put a band-aid on a wound, but you really need a doctor to perform open-heart surgery. Sure anyone can try it, but with anyone less than a trained professional, it's going to be very messy. The same thing goes for programming. Just about anyone can learn enough php to throw together a simple collection of web pages, but you're going to need a trained programmer to design, implement, and maintain a complex piece of software.
---END MEDICAL ANALOGY---
Sure it might not be fun or comfortable, but you need to get a degree. Talk to your employer. Many have some sort of tuition assistance program for full time employees. It's not going to be easy, but anything worthwhile rarely is.
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!
Buy a Nintendo DS Lite
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.
All Troll + "offtopic" mods are meta moderated as "Unfair", because you abused the system.
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:
n . You can then go cold-apply for a job programming.
A: Go get a degree/certificate/internet-school-honorary-napki
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!
.
Let's not stir that bag of worms...
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...
If you're really good I also recommend getting a blog and writing about programming. That stuff shows passion and some knowledge and it goes down a treat with employers (so long as you don't get too personal).
Good luck!
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é.
school for programming? what? sure training is the way to learn to program, but there's no reason to get that training at a university, you're much better off with a mentor/apprentice setup.
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.
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
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.
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!
10b||~10b -- aah, what a question!
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.
.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.
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,
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.
-- Two men say they're Jesus. One of them must be wrong. - Dire Straits
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.
This is the Internet. You can say "fuck" here. - AC
I was working a clerical job doing data entry and filing for a few years after I graduated with an AAS in progamming from a 2-year community college. I did do some part time progamming for them in the evening too. Then I took a software testing job through a temp agency and worked there for 10 months before landing a tech assistant position in software QA at the same company. I was later promoted to test engineer and then to a programmer before being laid off a couple years later. But I found another programming position in a couple months and that's where I am today. I guess I was lucky to have had those opportunities, or maybe I really did earn it. I suppose I'll never know for sure.
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.
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.
Don't blame me, I get all my opinions from my Ouija board.
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.
Tyler's words coming out of my mouth.
usually passed 11
Past, not passed. How would you pass an eleven? You are referring to time (before, after, past, present and future).
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.
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.
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."
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.
Why would someone hire you as a programmer over someone with a degree and many years working as a programmer. I am not trying to be mean, just honest. Right now there are plenty of out of work programmers who need a job. Its great for the few that are hiring, they can pick up very qualified people for near nothing.
If you have a job, be happy. I dont think you can even imagine the kind of stress that programmers live under. Everyone always thinks the grass is greener on the other side of the fence. If you are diehard on programming why dont you join some open source project.
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.
// Alan Porter
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.
It all goes downhill from first post
"I'm a borderline slacker that has no time/ambition to go out and do the legwork and research" ????
Before you go off jumping on other people, look up the meanings of slacker & research.
Crack open a dic* for heavens sake.
What do think he/she is doing by asking slasdot?
(A site that serves 30 million individuals a month!)
This should be moded further down to -2.
Software developers are now wearing ties to interviews?
A few years ago that could weed you out of the running for the job.
I agree that a small company may be the way to go, but...
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.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
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.
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)
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) 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'd rather be sailing...
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.