becoming a programmer
How good of a programmer do you have to be to actually get a job? Supposing school is out of the question. Also supposing I knew C++, linked lists, stacks, queues, inheritance, and polymorphism, and the STL. And also suppose I read a book on design patterns. Is it hopeless?
What if I finished my computer game and employers could look at the source code? Is that something that could help or would nobody care? If it's possible how is the best way to start? Would my best bet be to learn Javascript or whatever it's called and SQL and try to get into Database administration somewhere? Or web development? Right now I'm a blue collar Joe 6-pack. I draw countertops and run CNC's. It pays the bills but I'm kind of tired of it. But then again sometimes I feel like what I don't know about programming could fill a warehouse. (Although I've known a couple comp-sci graduates who I'm pretty sure know less than I do.) |
you easily have enough experence its just if they decide to take you
i am having a it of trouble with the operating system i am writing do you happen to know anything about how sprintf works? anyway i shouldnt thread hijack |
Quote:
Quote:
1) Really good 2) Really lucky Quote:
Quote:
Quote:
If you really want to try (and if it's something you enjoy then I say go for it) then I suggest not pigeonholing yourself into one paradigm of software engineering. Learn about everything from embedded design to webapp creation. Pick a software technology in every category you can find and learn it through and through. That way, when you interview, you'll have the ability to nail any technical questions, and share anecdotal experience on your own. The basics are always important, but do you know how tcp works? Or why systems use watchdogs? Or how to use a debugger? Which software development models are you familiar with? Which version control systems? Which email packages and document writing software? Know how to write functional, design and architecture specs? These are questions you'll need to be able to answer in an interview. Who am I? I'm a software engineer, working as such for 10 years. I have no advanced degree; I just happen to have been really lucky and really interested in software. And I can't emphasize the luck factor enough. Even people WITH degrees have trouble getting jobs, and without one... well... let's just say you better bring your a-game and have some thick skin. Heck, I got my "big break" by having played with the linksys wrt54g when it first hit the market, cutting my own embedded linux firmware for it and being hired by a local start up to write their linux drivers. Landing your first job will be the toughest. After that, it can be rough waters for a while until you have enough of a professional network that you can start to be selective about which consulting jobs you'll take, or where you want to submit your resume. All of this advice is anecdotal, so take it with a grain of salt. But if it's something you're passionate about (and I really need to emphasize passionate), you can make it work. |
Quote:
|
When I feel like I know enough to start trying I don't even know where to start. Where would I send resumes? Should I show up at places in a suit and tie and ask if they're hiring? How would I find those places to begin with?
It's all really foreign to me. I'm used to showing up at machine shops where they ask me if I can pass a drug test. It's a different world. Oh and yeah I know how to use a debugger. Christ I can't imagine getting anything serious done without a debugger. |
Quote:
Search for local contract listings. There used to be a software contractor website, that's where google will be your friend. |
Quote:
|
Quote:
I recently got an e-mail from someone with a master's degree in computer science who wanted me to tell him whether he should abandon the computer field and become a psychologist. A psychologist! That's one step above working for the post office! This doesn't mean you won't succeed as a programmer. It means it's a very rough field to enter. People read my story and get the wrong idea -- I became successful in computer science by filling a vacuum that I happened upon by chance. It was 30 years ago, there was no Microsoft and no organized computer programming profession, so individual programmers tended to succeed or fail by colliding with an opportunity. My point is there are fewer opportunities now, but I am not saying there are none. Everything has changed. Many people want to become programmers, based on stories that are essentially myths. The stories weren't always myths, but they certainly are now. |
Is there anyway to tell if a location is a bad place to be? I'm in St. Louis, should I pack up and leave? (I can always find machine shop work somewhere else.)
Also when I find the companies doing software engineering, how do they like to be bothered? Knock on the front door and hand them a resume? Email? I think I will finish my computer game first, even if employers don't care I think it will be fun and I will learn a lot. Then I guess I will try to learn everything else. Does anybody have a list of what I should learn? So far I have: -embedded design (I don't know how to start learning this.) -webapp creation (I know next to nothing.) -tcp (i've used sockets before) -watchdogs -debugger (I'm pretty sure I know this.) -software development models -version control (messed around with GIT) -email packages -document writing software -functional, design, and architecture specs It seems strange to me that the software market is so cut throat even for people with a bachelors. You could learn my job in a couple weeks and my boss is always afraid to lose me because it's so hard to find anybody to run these silly machines. I figured it would be six people trying to get my job and software companies begging for programmers instead of the other way around. Granted you guys probably make twice as much as me, that must have at least something to do with it. Actually what I do, drawing countertops in CAD, lifting stone, doing CAM work, it sure as hell isn't rocket science but you'd be amazed how few people can actually do it without messing everything up. I think everybody smart enough to do it has a better job or something. I know education is important and everything but in America if you can read a tape measure you're already ahead of the crowd. I swear to God there's different levels of existence out there. Top two questions I've been asked at job interviews: Can you pass a drug test? Can you read a tape measure? Seriously. |
I just read lutusp's post. Thank you, very discouraging. (Just kidding.) Seriously, though, what about the people who get a bachelor's with a 4.0 GPA and are really good? They all get jobs pretty easy, don't they?
|
Quote:
I also have found that the majority of the replies here are very pessimistic. Whatever happened to "The glass is half full" mentality. Regardless of the job outlook; Companies are always in look of good talent, regardless of background or education. Sure, you might struggle with big software firms, but the true reality I've found is, setting a reasonable goal, and know what you want in a programming job. In my area, there are always open positions for PHP, Java, SQL based programmers. Of all the interviews I have attended ... and have been apart of; it seemed appearance, and attitude sometimes outweighed the entries and certifications obtained. Learn to sell yourself, (no pun intended) and your personality. And you might see that it helps you go farther. I personally have never had a degree, but I have been able to work my way up from hourly to salary in a major firm. And alot of times, company's are looking for fresh faces, new idea's and a creative mind. So, I am not surprised that some "over-qualified" individuals (definitely a managerial term that is objectionable) have a difficult time in interviews or selling old ideas. DISCLAIMER: All statements in this post are solely my opinion. So don't digress with any objectionable conjecture, to my post. |
Yeah that's what I thought would be the best way to get started is Java and SQL. And PHP whatever that is. I hear those all the time.
Anybody ever do topcoder srm's? I always get the 250 point one. I think if I practice I'll be able to get the 500 point ones too. I don't think I'll ever be good enough to get all three. I can't imagine being that freaking smart. |
Quote:
It has been over 20 years since I even applied for any job with people who didn't already know my work. There was only once in my career (second full time job, 1979) that I actually got a job when applying to people who didn't already know my work. (I was always rotten at interviews. People who have seen my work want to hire me. People who haven't, don't.) But I have been on the other side of the process quite a bit in the last 20 years, so I know some basic flaws in the process haven't changed from when I was interviewing with strangers and failing to get job offers. Companies have no clue how to judge things like effort level, intelligence, and knowledge during the hiring process. So even if they know that those are the things that matter, they will still be looking for relevant experience instead. (Even with relevant experience you need to be decent at interviewing. I applied for several jobs in the 80's and early 90s for which I had relevant experience and didn't get a job offer. I did not have relevant experience for a single one of the jobs I ever actually got, and that lack of relevant experience never hurt once I started working.) So how does anyone get into programming without relevant experience and without being hired be people they know? It is clearly possible, clearly hard (especially in this economy) and there must be some paths I don't know about, but I'll describe the ones I do know: 1) Relevant degree (obviously not a choice for the OP in this thread). In other fields a relevant degree is the standard entry point to the job market. There are a moderate number of companies (including my current employer) who think a relevant degree (especially a relevant PHD) means a lot in software engineering. In my long experience working with people hired because of relevant degrees, I have reached the opinion they are totally meaningless. A computer science degree represents far less useful knowledge than a motivated high school student gets teaching himself to program. A PHD adds no useful knowledge nor experience, but adds lots of incorrect "knowledge" that must be unlearned for the real world. 2) Foot in the door in a small engineering company: Many small companies are very loose about procedures and responsibilities. Work needs to be done and someone who knows how is often motivated to just do it, regardless of job description and/or a manager might assign someone who knows how to do it regardless of job description. My wife got into programming long ago in a job as a biology lab tech; Some programming needed to be done in the biology lab and she knew how so she did it. I've worked with several very good programmers who were hired to do QA or customer support and just started writing some of the code. In some companies (certainly not all) management will quickly figure out when someone hired for some other job is more valuable as a programmer. In this economy, getting into the right company (one flexible about who does what work) with the wrong job, is probably a lot harder than it is in normal times. But it may still be easier than getting the right job without relevant experience and once you're in, if you're willing to put in some extra effort, changing to the right job is easier than in normal times. Senior management is usually quite bad a deciding which jobs to eliminate when downsizing and which to bring in when recovering. If you're lucky enough to find competent middle management, they are scrounging to get the right work done with wrong and insufficient staff. So anyone who can do a more important job than they were hired for can make it happen. My own employer has decided to add another C++ programming position reporting to me. I don't yet know how much say I'll have in who they hire. 95% of professional C++ programmers aren't skilled enough to do any of the work in my group and this new position is in the work at the more difficult end of what my group does. You might think the bad economy makes it easier to find employees. But it actually makes things as much harder on the hiring manager as on the applicants. The pool of applicants is crammed full of people whose previous employer made the correct choice about who to lay off (that's at least an easier choice to make accurately than who to hire). Lots of really skilled people are just happy to keep whatever job they already have, so they aren't even looking for better jobs. If my boss's boss lets me make most of this hiring decision, I have a chance. If she (and others who have a say) insists on relevant experience (as I'm sure they would like) I'll have a much harder time finding someone who also has the effort level, intelligence, and useful knowledge I need them to have. If they insist on a relevant PHD (because it is a specialized senior position) I'm sunk. |
My son never finished college, but has always had a knack for hacking computers. At age 14, he was writing music in machine language within days of getting our first Apple-II. After the final attempt at college, his first real job was in the shipping department at the local Apple dealer. Before long, he was in sales, and then systems engineering. Now, 25 years later, he is writing and maintaining database and inventory systems (in a Windows environment....yuck)
The message: Place yourself in an environment where people can see your skills. Build a resume which includes solving real problems. If the problem was solved, noone will want to see your code. |
Quote:
Kevin Barry |
All times are GMT -5. The time now is 10:42 AM. |