LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 10-02-2009, 05:34 PM   #1
icecubeflower
Member
 
Registered: Mar 2008
Location: USA
Distribution: Slackware 13.1
Posts: 313

Rep: Reputation: 34
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.)
 
Old 10-02-2009, 06:05 PM   #2
smeezekitty
Senior Member
 
Registered: Sep 2009
Location: Washington U.S.
Distribution: M$ Windows / Debian / Ubuntu / DSL / many others
Posts: 2,339

Rep: Reputation: 231Reputation: 231Reputation: 231
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
 
Old 10-02-2009, 06:26 PM   #3
orgcandman
Member
 
Registered: May 2002
Location: new hampshire
Distribution: Fedora, RHEL
Posts: 600

Rep: Reputation: 110Reputation: 110
Quote:
Originally Posted by icecubeflower View Post
How good of a programmer do you have to be to actually get a job?
If you have a piece of paper with the words "Bachelors" on it, you can be a total nincompoop.

Quote:
Supposing school is out of the question.
Then you better be two things:
1) Really good
2) Really lucky

Quote:
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?
Not hopeless, but be prepared to have a lot of opportunities cut off because you don't have that piece of paper.

Quote:
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?
Not to sound discouraging, but no one would care. Actually, it sometimes looks worse because you had an undefined amount of time to write the code you've written, and could have had undisclosed amount of help on it. In general, stay away from "This is some code sample" when it comes to interviewing.

Quote:
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?
Honestly, right NOW, it's really tough. With the economy in the shape it's in, and the ease with which most larger organizations can just outsource the programming (even the embedded work which used to be a USA only thing). Not to sound bleak, but that's the situation.

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.
 
Old 10-02-2009, 06:33 PM   #4
linuxpokernut
Member
 
Registered: Jul 2007
Distribution: Slackware 14
Posts: 237
Blog Entries: 8

Rep: Reputation: 59
Quote:
Originally Posted by icecubeflower View Post
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.)
The labor report for this past month is in: 6 applicants for every job. You will be competing with associates through masters degrees. Thats the reality of the situation.
 
Old 10-02-2009, 07:05 PM   #5
icecubeflower
Member
 
Registered: Mar 2008
Location: USA
Distribution: Slackware 13.1
Posts: 313

Original Poster
Rep: Reputation: 34
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.
 
Old 10-02-2009, 07:15 PM   #6
orgcandman
Member
 
Registered: May 2002
Location: new hampshire
Distribution: Fedora, RHEL
Posts: 600

Rep: Reputation: 110Reputation: 110
Quote:
Originally Posted by icecubeflower View Post
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.
Try and contact anyone and everyone. Typically, there's a zone where most hi-tech companies live. For instance, Massachusetts has the US-3/95/495 area where you can't throw a rock without hitting a company doing software engineering.

Search for local contract listings. There used to be a software contractor website, that's where google will be your friend.
 
Old 10-02-2009, 07:15 PM   #7
smeezekitty
Senior Member
 
Registered: Sep 2009
Location: Washington U.S.
Distribution: M$ Windows / Debian / Ubuntu / DSL / many others
Posts: 2,339

Rep: Reputation: 231Reputation: 231Reputation: 231
Quote:
drug test
thats fkn over kill
 
Old 10-02-2009, 08:02 PM   #8
lutusp
Member
 
Registered: Sep 2009
Distribution: Fedora
Posts: 835

Rep: Reputation: 102Reputation: 102
Quote:
Originally Posted by icecubeflower View Post
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.)
I've been in this business for about 35 years. At the moment, computer programming is a terrible profession to enter. Companies who want programming services can hire people from India who are very well-educated, understand English better than the average native-born American (that's easy), are highly motivated and skilled, and work for almost nothing (by U.S. standards). The "problem" for the computer programming profession is that the product doesn't weigh anything, so the producer can live anywhere, including places where people are willing to work hard for pennies.

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.
 
Old 10-02-2009, 08:15 PM   #9
icecubeflower
Member
 
Registered: Mar 2008
Location: USA
Distribution: Slackware 13.1
Posts: 313

Original Poster
Rep: Reputation: 34
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.
 
Old 10-02-2009, 08:21 PM   #10
icecubeflower
Member
 
Registered: Mar 2008
Location: USA
Distribution: Slackware 13.1
Posts: 313

Original Poster
Rep: Reputation: 34
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?
 
Old 10-02-2009, 09:04 PM   #11
manwithaplan
Member
 
Registered: Nov 2008
Location: ~/
Distribution: Arch || Sidux
Posts: 393

Rep: Reputation: 45
Quote:
Originally Posted by icecubeflower View Post
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?
IMHO ... Sadly I think it has become a world of "Who you know" vs "What you know" Some might object...

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.

Last edited by manwithaplan; 10-02-2009 at 09:05 PM.
 
Old 10-02-2009, 09:24 PM   #12
icecubeflower
Member
 
Registered: Mar 2008
Location: USA
Distribution: Slackware 13.1
Posts: 313

Original Poster
Rep: Reputation: 34
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.
 
Old 10-03-2009, 08:04 AM   #13
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197
Quote:
Originally Posted by manwithaplan View Post
Sadly I think it has become a world of "Who you know" vs "What you know"
I don't think "what you know" was ever a significant factor. There is a positive aspect to some (certainly not most) "who you know" based hiring:

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.
 
Old 10-03-2009, 08:44 AM   #14
pixellany
LQ Veteran
 
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Mint
Posts: 17,809

Rep: Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743
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.

Last edited by pixellany; 10-03-2009 at 08:47 AM.
 
Old 10-03-2009, 02:48 PM   #15
ta0kira
Senior Member
 
Registered: Sep 2004
Distribution: FreeBSD 9.1, Kubuntu 12.10
Posts: 3,078

Rep: Reputation: Disabled
Quote:
Originally Posted by icecubeflower View Post
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.)
In my experience (life in general,) making an extreme change in lifestyle is very difficult to manage and it leaves you feeling an obligation to somehow incorporate knowledge from your past lives into your new one. By this I don't mean "don't do it": I mean you should think of an area where you have an upper hand in your transition. As far as I know, translating drawings into CNC code often takes some programming skill. Most software engineers don't know the first practical thing about CNC machines, but you do. Not only that, but you can buy similar controllers yourself. CNCs require a lot of software support, and who better to provide it? That's your way in, and it's certainly a lot better than showing up on doorsteps with nothing but a laptop and a dream.
Kevin Barry
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Hi everyone, Im a programmer vinians LinuxQuestions.org Member Intro 1 09-12-2009 03:32 PM
Programmer to Programmer ( Long Story Of A GUI ) mdoubledragon Programming 1 10-13-2005 05:41 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 06:12 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration