How Does a Self-Taught Computer Geek Get Hired?
An anonymous reader writes "I'm essentially a self-taught computer geek who started learning BASIC at age 12, but decided NOT to do the traditional computer-nerd thing (comp sci or physics, computer degree, etc.). I've essentially kept up with computers as a hobby, teaching myself web-design, Linux/LAMP, Javascript, and now Drupal. I've worked for a short time at a web dev shop but mostly have just done freelance projects and here-and-there stuff for websites or projects, many of which have gone under or are no longer accessible. I'm creative, have Photoshop/GIMP skills, I'm personable and self-motivated...and I'd like to get a 'real' job now but I don't really look like much on paper — how can I (specifically with Drupal) make myself look good on a CV and/or establish solid credentials that will make people more willing to take a chance and hire me? Will Drupalcon 2012 help me make inroads? Are there other ways to 'prove' myself to be a capable web admin/developer?"
Instead of running your own business. Then you don't need to provide your quality and skills to anyone, and it can make more money in the long run as you are not limited to your salary and don't have to fear getting fired. If you know web-design and running Drupal, then start to work with those. Make your websites. Now, learning some information about other subjects will help. Learn things like marketing, SEO and in general running a business. Most of the information can be found on webmaster forums. Then it's up to you - you can even sell your services to local businesses. You also have the added benefit of working with your projects instead of someones else, which is always more boring.
It seems like most people, especially geeks, want to take the easy route and try get a job. Being self-employed or running a business isn't all that hard and it is much more rewarding, especially for a computer geek now in internet age.
Show examples. Show your hobby projects. Show sites that you've built and that currently are in use. Show contributions you've made to open source projects.
http://groups.drupal.org/jobs also, be active in drupal projects and build a name for yourself.
What you're looking for is a portfolio. They're common in any artistic arena such as photography, web design, hair styling and fashion.
You need to SHOW people what you have done, using examples relevant to what the potential employer would be interested in.
Also, just to make the HR people happy, get some certifications.
Learning HOW to think is more important than learning WHAT to think.
Evidence, evidence, evidence.
I don't work in the IT or compsci sectors, but I think there are a few general principles about how recruitment works that you might want to note.
You don't have formal educational qualifications. Obviously, that's a handicap. However, you're not in a field here where qualifications are a legal requirement (unlike, say, medicine or law), so it's not insurmountable.
Some employers still have a policy of requiring a degree from all applicants, but - personal view here -in many cases they're foolish to do so. In the current climate, a lot of bright people are choosing not to take on the expense and debt associated with a degree. I see a lot of employers insisting "graduates only" who are achieving little except needlessly inflating the starting salary they need to offer (though by less than in the past - the graduate premium isn't what it was).
I've done a fair old bit of recruitment over the last decade or so and what a sensible employer will be looking for - when recruiting people for their "first proper job" - can be distilled down to: a degree of committment (as in, ability to stick at something which is difficult and takes time), reasonable interpersonal skills and, where appropriate, technical competence.
Interpersonal skills you'll need to demonstrate at interview (and by writing a half-way competent CV and application form). The ability to stick with something and technical competence might traditionally be demonstrated - to a basic level - by the fact that the applicant has both had the perserverence and the ability necessary to earn a degree (though with degrees as debased as they are these days, it's increasingly difficult to use this as a firm indicator).
So without a degree, you will need to have independent evidence of committment and technical ability. You've done some freelance projects - that's good. The companies you did them for may have gone under, but you kept your own work, right? Right? And maybe if those companies aren't around any more, there's less of an issue in sharing the work you did for them as part of your application?
In addition, if you've done any non-technical work - even just office admin and stuff - that's also good and worth including in your job applications - particularly if you can get a reference. It shows you can get along with people in an office environment on a day to day basis, turn up for work on time, follow basic codes of conduct and so on (which is something that a surprising number of people - even graduates - in some fields especially graduates - fail at). Don't under-estimate this one. As a recruiter, in 95% of cases, I'd rather see a few summers spent temping in a "serious" workplace on a CV than some glamorous, expensive (and usually irrelevant) piece of gap-year do-goodery.
Remember, being at a technical disadvantage, you'll need to use hard facts to sell yourself so far as possible. Part of TFS reads like a "personal statement" from a CV. Saying stuff like "I'm personable and self-motivated" is all well and good, but it won't get you a job. You'll need concrete evidence to demonstrate your skills and your ability to stick with a task. So yeah, I hope you kept all that evidence of your previous work.
As stated before..Take on some odd jobs (or do some demo work, not for a customer, but for building a portfolio). Once you have a decent size portfolio, showing how well you do in the field, you should be able to find an employer to 'take a risk' on you. (I say that loosely because although you could be the best programmer/designer ever, unfortunately you dont have a piece of paper backing that up). I was in a similar boat as you, only with Programming more so than design (C#, C++, AS3, etc). Once you build out a small little resume you can substitute a formal degree with work experience. I'm at my third programming job now (prior was a contract job and most recent was a game studio that shut down). All is well and the money is good, you just have to be patient and take your lumps. (Remember that youre technically 4yrs ahead of the curve. So even if you get a low(er) paying job, youre still coming out ahead.
Portfolio, portfolio, portfolio.
Don't let a piece a paper show a potential employee that you have the skills on just that, paper, actually show them what you're capable of. Build a portfolio of work, showcasing your best products and sell yourself through that.
If an employeer doesn't respect or look to the portfolio of a potential employee in that line of work, truth be told they probably aren't worth working for.
Not knocking Drupal or any other CMS, but don't get yourself boxed into just one specific platform. Keep up on where the overall development world is going.
Most shops still build their websites in-house from scratch, without a CMS. Many strictly-Microsoft shops purposely avoid using Sharepoint, for example.
Remember when ColdFusion was a big deal? Not so anymore. GoDaddy is dropping it from their hosting accounts.
Keep your foot in general Java or .NET or PHP development... stay focused on the bigger picture, not just in a specific type of project. Watch the trends. What may be popular today will become passe tomorrow.
The problem with socialism is that they always run out of other people's money. - Margaret Thatcher
Basically, it is not possible for any prospective employer to assess your skills. Programming skills, sure, but there is a lot of other important things you learn when getting a degree. These are hard to assess in your case. Sure, there are a lot of incompetent people _with_ a degree, but you can usually spot them, because they do not have the hands-on skills.
My advice would be that for the moment stay self-employed and start to work on getting that degree. I have taught several classes for people that were in your situation (i.e. already working for some years but no degree) and all that I met later though it was very much worthwhile getting it. This was for a BA in EE (with a lot of comp-sci) and some went on to get an MA in addition. The problem here is that until you are fairly advanced in your studies, you do not see that the work is indeed worthwhile. For example, if you are smart then one thing you learn is that concrete technologies are almost meaningless and there is a whole layer of meta-technology behind them, which is eminently worthwhile picking up.
So, no, a degree is not worth a lot by itself, but if you are already reasonably good in a field, it is what you need to advance. And I am not talking about the piece of paper here, although that also has some importance.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
For some of the Drupal-shops, including the one I work at, community involvement is highly rated. Contribute to the larger modules, Views/Panels, or Core itself. Get some CTR-rating. (certifiedtorock.com). The number may look meaningless, but people look it up when they are introduced to a new "Drupal-person". You can ping 'letharion', me on IRC if you wanna get involved in the community. DrupalCon sounds like an excellent place to go, people are often recruiting at them. If it gives you more hope, my employer, NodeOne, has a large percentage of people with similar backgrounds as your, including myself. That said, CmdrPony makes a good point. Why not do something of your own?
I am a self-taught geek, similar to you. I was a construction worker, and I wanted to change careers. I don't have a college degree. I built my skills by taking a few night classes at a local community college and by spending a couple of hours a night (or more), every night, working in my home lab, doing networking/IT kinds of things, and writing code. Next, I got a job doing some IT work for a construction company, on a project where a lot of construction knowledge was needed.
After I got to the point where I felt comfortable with my skills, I put together a resume and got an interview with a small IT consulting company. I offered the company the following deal: Pay me whatever you want for 90 days. If at the end of that time I have demonstrated sufficient ability I want a raise to market rates. If not, I will move on, no hard feelings. Within 45 days, I got the raise. Within 3-4 years, I was making 100k a year.
He wants to be a web developer, not a network admin. If he's just interested in full time work of any kind, then yes, help desk is probably a semi viable option, but it will not get him any closer to being a web dev. I mean, he could get a job as a janitor too, that's starting at the bottom, and it's equally relevant to his field as help desk.
So years later, I ended up being a computer repair specialist, because I was also good at ripping apart a computer and putting it back together again. But trying to get a job in computer programming has been massively elusive for me. However, every time I have gotten close, someone has been interested mainly because of something I was able to show them as "proof" I knew what I was doing. Without that, I doubt they'd even take a second look.
Sarbonn's blog: http://www.sarbonn.com/blog
You don't have to do the four year marathon. You can do contract work to pay for your tuition. In the end, you'll make up for the tuition spent by making more salary than possible without that degree,
Of course you could go the self employment route, the success stories are few and you'll get paid less than a college grad for your talents.
These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
A degree isn't only about training. It is just as much evidence that you can set a long term goal and achieve it, and jump through all of the hoops necessary along the way.
Not having a degree myself, I find this answer patronizing and just plain wrong. There are many circumstances whee not having a degree is no fault of your ow (including lack of funds/loans, better opportunities, etc). At this point in time, a degree is simply a "checkbox" item for HR to use to filter candidates. No degree, no chance as HR tosses your resume before it gets to anyone doing the actual hiring. So the real problem for you is how to get through the HR filter.
The real trick to landing a job in this situation is who you know. Get out there and talk to people. Show your skills in a way non-tech people can "get". Impress the right people, and keep them in your back pocket. Every decent job I've had has come by impressing the right people and having them think of me when they see a need. By doing this, they are willing to stick their neck out and tell HR "Interview this guy, regardless of resume".
So while a portfolio is helpful, getting your face out there, having conversations, and attending conferences are all part of getting a name/face for yourself. I got my first real job by refusing to sell someone a product they didn't understand. They ended up hiring me because of my honesty and the fact I was willing to say "no this isn't what you're looking for".
how can I (specifically with Drupal)
Bad idea to focus too narrowly. Your average suit might not even know what Drupal is. Keep an open mind. The job you get manipulating Joomla or Wordpress might lead eventually to your "dream Drupal job"... however...
So, I think I wanna do BGP routing on Cisco routers because I happen to have years of experience and I'm extremely good at it. That's nice, if only there were any hiring spots for that skillset at a location and salary I can tolerate. "Meanwhile" I'm working with RoR and Perl and a variety of SQL backends. Heck I don't even know if I wanna go back to being a router jockey, as if that opportunity will ever exist again for me. I really miss those weekly 2am on call emergencies, err, no not really. But this job puts me close both physically and technologically to the local OSPF operators, so if I wanted to, it would be an easy stepping stone back into routing and switching.
started learning BASIC at age 12
See, you're not trying to write CGI scripts in MSBasic so we know you've got an open mind... Go with the flow. Drupal is cool, don't get me wrong, but its not the end stage of technological progress or the end stage of your career unless you're in your 60s and planning on this being your toe-tag job.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
Go to school!! That or get ready for many years of having to work harder just to prove yourself over and over again! Another alternative is contract to hire. That may work as well.
On another note,hopefully you have learned about the necessity of Version control. You also hopefully have been learning good CS practices such as only having one source for information (code functionality is information) abstraction etc. There are good reasons for these practices and the sooner you learn them the more valuable you will be.
Also, don't be a information hoarder or a primadona! Be willing to talk and work withouther sharing ideas and concepts. Sometimes the idiot next to you will surprise you with just all that he does really know.
Good luck!
Joe
-- Many men would appreciate a woman's mind more if they could fondle it
1) As a student, i started my own business to make some money while doing what i like, and built a portfolio with that. Despite being hired elsewhere i today still develop websites and webapplications in my spare time. http://staesit.nl/ Also its a great way to finance your hobby.
2) I also had a student job at a "detacheerder" as how its called in dutch. I don't know the correct term in english (temporary job?), but when visiting the dutch wiki page i see the english equilavent is http://en.wikipedia.org/wiki/Temporary_work but it contains some (for me) weird implications.
In essence, as a student i did work for http://www.ogd.nl/ which had me work on client locations to consult on specific computer problems i had experience in, do helpdesk work, program small applications and develop solutions.
3) I also did voluntary work for several IT-related events. I developed a screen overlay system for internet broadcasts, and built a tournament matching system for Netgamez. (sadly nothing i built this way ever was opensourced, most where rather embedded solutions)
Hivemind harvest in progress..
First and foremost, don't convince yourself you're better than you really are. You need to be honest with yourself about your experience before you can be honest with a prospective employer.
Being self-taught doesn't suggest you don't know the technology, but *does* suggest you may not know a lot of other things that are critical that come from studying things in school -- process, teamwork, communication, etc ...
Basically, don't BS yourself into seeking jobs you really aren't qualified for, particularly in this market. You'll just waste your time, adn the time of those you're talking to. You're going to have to build up the credentials based on your work experience that you lack in formal education. (And, I can tell you as someone who has done a lot of hiring -- a lot of the comments here are wrong... you need actual *employment* exprience, not hobby projects to show your abilities, because as I said, doing something with a team, on a deadline, is very different than doing something by yourself.)
My advice:
contribute to free software / open source projects, and in doing so grow thicker skin while interacting with them, as needed.
Point to those contributions as you look for a job in a smaller company, hopefully closer to FOSS, and with a less formal hiring attitude.
Be ready to move.
I think a lot of big companies won't look at you if you don't have a degree. It is a typical HR checkoff item and the dev manager may not even see your resume.
I don't have a degree.
I started programming at age 15, worked in a computer shop as a technician through high-school and got my first programming job during the high-tech bubble of 2000. I was 19 and had a bit of self-acquired java programming experience.
Then the market crashed. it was arguably MUCH worse then today's climate. I was a junior dev with 6 months "official" experience and no degree.
But i could talk, i could program and i was persistent. It took me 3 months to get a new job at lower pay but still a lot for my age.
Now, ten years later i lead a development team, i have written 3 major products from scratch and worked for several companies.
What i found was that my choice not to get a degree harmed my chances mostly with the larger firms. Smaller companies and especially start-ups care mostly about your skills and your experience and much less about your degree. I quit my last job during the crash of 2008 when companies were firing people left and right. i looked for a job for a total of 2 days. My current position and the one before that i got through contacts i made through the years.
It's that first job that is hardest to get. be prepared, be confident. Apply for a position you are slightly overqualified for.
Linked-in is your friend. Your business contacts and anyone you worked with and appreciates your skills can open doors that would be closed otherwise.
There's nothing more valuable then a personal recommendation from a respected contact. Ask your friends to help you. Even those who aren't in this field may know people that can help and their word can be just as valuable.
Even if you're a FT employee, you are always selling yourself -- to your one and only client. The only difference with self-employment is you wake up to this fact (or starve, go back to selling yourself during a FT employment interview) and may have more than once client at a time. Even some FT employees work two or more jobs to get by. Self-employment is similar.
Want to get excellent at sales (even if you're going to stay with FT employment)? Read and re-read: Socratic Sales.
A lot of people believe that start-ups succeed or fail because of cash (enough or too little). Certainly cash flow is king when it comes to staying in business. However, the reality is: You either have time or you have money. It takes time to develop a clientèle through carefully crafted product fulfillment and good service. Or you can accelerate this process through expensive advertising. You can burn through a lot of cash if you solve everything with it. Or you can be more creative and leverage time, including other people's time, and spend from less to zero. Time and persistence can pay big dividends.
So, hone your skills. Sell them. Watch your cash. Develop relationships (clients vs customers). Bank!
In case you hadn't noticed, he posted as AC. You clearly are new here...
Despite what the internet would have you believe, there are some of us who choose not to self-promote our garbage at every opportunity. I'm not here to sell shit, I'm here to talk shit :)
-Billco, Fnarg.com
I'm not sure about that. All too often, when I ask a specific question I get solution to some problem I don't have, or when I explain what I'm trying to do, I'm asked why I would like to do that in the first place.
Perhaps people are trying to encourage you to follow ESR's advice of describing your goal so that they can understand the step.
(Cause, you know, before asking I actually do a google search first, so when I ask something it's often not trivial.)
ESR also says you can sometimes get more helpful replies if you tell people what queries you've already used unsuccessfully.
I'm a self-taught programmer as well. I started in Basic when I was 11, and moved to C in high school.
How did I get a job? I went to college, like most other self-taught programmers! There's a big difference in the kind of skills and practice you need to win a high school programming competition versus building an industrial strength web application to handle millions of users.
When I was in college, the best students were those like us, self-taught in Basic. Had I NOT gone to college, I would have wasted a lot of time, and not been able to write the programs that I want to write.
No, I will not work for your startup
I'm also a self-taught geek, and now I am part of a Drupal/CiviCRM shop with three other folks, all self-taught. We do very well, and just made a job offer to a fifth person, also a self-taught Drupal dev. Here's some thoughts from the other side of the interview table.
A few thoughts:
* Getting hired in the Drupal world as a self-taught geek is way easier than in most corners of the IT world. There's lots of small employers, and there are ways to demonstrate your skill that don't involve certs.
* Drupal is a fast-moving product - we want to know that you know the latest tools. Have you developed in Drupal 7? If you're doing theming/front-end, what's your experience with Sass/Closure/etc.? Basically, if you're not plugged into the Drupal community, it's difficult to be up-to-date. So YES, go to DrupalCon, Drupal meetups, etc. - and make sure your prospective employer knows it (if you're looking to get hired by a Drupal shop)
* The most important part of being hired is networking. Not what but who you know, etc. Another reason to hit the Drupal community gatherings.
* I'll echo what other folks said about needing a portfolio. If you don't have one, make one. Seriously.
When hiring, we asked for folks' Drupal.org usernames, and we looked at their history. Seeing that you've made a non-trivial patch to a major module counts for a lot. Seeing that you know how to make a comprehensive and useful bug report means you'll get better responses when you're working on our projects. We asked about community involvement, as a measure of a) seeing how up-to-date folks were, and b) determining if their contacts in the community will help in a pinch - our good relationships with key Drupal devs has certainly helped us in emergencies. It also means we've been referred work (particularly because we specialize in Drupal/CiviCRM). We looked at portfolio - especially important if you want to be a themer.
Finally - one problem we had with hiring folks in your position was a lack of experience with tools used for working in groups. Familiarize yourself with at least one of the popular project management tools used in the Drupal community (I'd suggest Redmine, Open Atrium, or Basecamp). Learn git. Brush up on CLI tools like drush and ssh if you don't know them already. I think it's telling that the person we offered the job to was self-taught, but was already working in a small shop. A self-taught person with experience with the tools I listed above would have closed the gap that advantage brought to her.
One more thing, I guess - there've been a lot of good arguments for self-employment on both sides of the debate in this thread. Consider the middle option of being semi-self-employed. Moonlight doing Drupal dev. I moonlighted as a freelancer, and brought my day job from full time to part time to gone.
...is a big deal. Example: About 15 years ago, the computer systems used by Revenue Officers of the U.S. Internal Revenue Service had reached their zenith. The primary application was called the Integrated Collection System. It did everything ROs needed to do their jobs. Running on SCO Unix laptops in the field and one SCO Unix server per group, *everything* that ROs needed was there without being bogged down with management report-generating crap that wasn't needed to do the job.
Guess what? The whole system was designed, mostly coded, and often administered by Revenue Officers. 80% of the people who ran the project, from coders to SAs to high-level execs, were former Revenue Officers who had been recruited for their "on-the-side" tech skills. These were the guys who everyone went to for computer help and who were always complaining that a properly designed and selected set of computerized tools could make their jobs better.
When just about everyone involved in a software project has actually done the job of the end user, it's unbelievable how much smoother things go in the long run. Yes, it's a pain to take a motley crew of bill collectors and teach them enough about computers (even if they were computer-loving types to begin with) for them to design, code, and maintain such a huge system. But if you commit to that process, you wind up with a vertical app that meets the needs of the customer better than you would normally dare to hope.
Addendum - Naturally, the PHB types couldn't leave well enough alone. Unix for end users was considered too weird so once everything was working perfectly for a few years, execs from outside the normal chain of command demanded that the system be scrapped and re-written for Windows. At the same time, they insisted that it be loaded up with functions designed not to help ROs do their jobs but to produce reports for management and tools for management to control the field employees. (In the view of upper management, the earlier iterations of the program gave the end users far too much ability to do their jobs without interference from management.) Nowadays, ICS is far too much of an employee-control tool. Oh, well, nothing good lasts forever, I suppose.