I have a degree in social sciences and after several years of unfullfilling employment at various jobs I started learning some programming and found I really enjoyed it. I taught myself some basic python and django and have been getting some freelance work to pay the bills however I would much rather get a full time programmer job. I have been applying but have not been having any success. I have a github account and developed a site however I do not seem to be gaining any traction. What technologies/skillset should I focus on to get an entry level job? What is the best way to demonstrate proficiency in a technology? Any help would be much appreciated.
[+] [-] grayrest|14 years ago|reply
If you know (not just read, know):
http://bonsaiden.github.com/JavaScript-Garden/
http://eloquentjavascript.net/
And you can demonstrate it by sticking something on github (fix a ticket on stylus/express/some other node.js project, write a jquery plugin, help out with the django admin) then go to some meetups in SF and talk to people who say "we're hiring frontend developers" which is pretty much everybody. Being able to design entire applications isn't generally required since what people are usually looking for is someone they can say "go make this new dialog" and you go do it using their established design patterns. It is crucially important, however, that you can demonstrate knowledge since I have yet to meet a developer who doesn't "know" javascript.
If you do this and want to work in NYC, shoot me an email. I'll at least give you feedback and probably give you a referral for contract to hire. Nobody cares about your education/work background as long as you can get the job done.
This assumes, of course, that you actually like front end development since quite a few people don't.
[+] [-] stc|14 years ago|reply
[+] [-] areyouhuman11|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] AlexMcP|14 years ago|reply
Learn how to interview well. Knowing what github is, having actually launched a site, and wrangling some freelance work together puts you ahead of 90% of the people I worked with at my Big Co. job, you just need to be able to prove it and convince people of it. The competition for most positions consists of bored CS grads from Java schools who never learned how to use version control and for whom programming is just a job. You have passion it appears, and that can't be overrated.
I was willing to be aggressive with my first interview, noting that I would be able to accept a lower-than-market rate if they would do a salary review shortly after I started. Not everyone is in the position to do so, but I took a 'whatever it takes' attitude to get started, with the confidence in myself that once people saw how effective I could be, things would get better. Programming is as close to a meritocratic profession as exists, so get in a position to prove yourself.
[+] [-] stc|14 years ago|reply
[+] [-] andrew_k|14 years ago|reply
[+] [-] stc|14 years ago|reply
[+] [-] llimllib|14 years ago|reply
Having a github is a great start, that's one thing I want to see before I bring you in for an interview. andrew_k has good advice as well.
[+] [-] devs1010|14 years ago|reply
[+] [-] mark_story|14 years ago|reply
I went into programming, as it was a good fit for me. Since I too had no formal experience, I got involved with open source as a way to gain experience and learn from people who were more experienced and knowledgable. Getting involved in open source, was probably the single best move for my career that I ever made. It opened opportunities I would have probably never had, allowed me to talk to really brilliant people, and gave me visible experience that has helped me land all of my employment. I highly recommend contributing to an open source project as a way to get experience and exposure.
[+] [-] stc|14 years ago|reply
[+] [-] thegorgon|14 years ago|reply
I started with the front end because I had a decent design sense and attention to detail. If you can care about pixel perfection, I think it's a good route. JavaScript, HTML, and CSS aren't the most difficult technologies to start with, and you get a little more leeway to make mistakes or write sloppy code in the beginning, learning as you go.
It's a good time to be doing this. There is need for developers enough that if you can prove that you're smart, a mid-sized or smaller startup may take a risk with you.
Try putting up a personal website. Set up your own server if you can, write your own code, and get something up showing what you can do.
At this point, do whatever you can to show that you've taught yourself a decent amount. You want to prove that you can learn, not so much that you're already a pro.
[+] [-] TheRevoltingX|14 years ago|reply
What I did was start low as a jr. system admin for linux systems. I'm not very social so I never made 'connections' so I hade to improve my skills. So from jr I went to sr, and within a couple of years got my first job as a jr. dev for a small company.
It's at these kinds of jobs that you will learn the essentials:
MVC Databases HTML/CSS/Javascript Message Queues
From here, it's up to you to keep improving your skills and building projects. Managers don't like github profiles, so I highly recommend you have your own app (not just a website.)
From there you can move on to things like: Mobile Apps Function Languages Socket Servers Low Latency Systems
Of course, always make sure you study and learn the basics. Such as basic sorting algorithms, working with bits/bytes, etc.
And so on.
[+] [-] phektus|14 years ago|reply
The best way to demonstrate your python and django expertise is to create a web app using that stack. Find some cheap hosting and you're set. Who knows, your app might even be a hit and you can skip the job seeking routine altogether.
[+] [-] FuzzyDunlop|14 years ago|reply
You say you have been getting freelance work. Put all that on your CV if you haven't already. And work on building a proper online portfolio using your current skillset. The benefits of doing this are thus:
1. Professionalism. You're a bona-fide freelancer ostensibly running a business under your own name. Taking advantage of this shows you mean business.
2. Publicity. Potential employers can find your website (after pimping it out everywhere and making it known wherever you can) and have all the information they need to consider you as a candidate right there. It also helps for contracts until you find full-time employment.
Speaking of your site/portfolio, it's dreadful. Setting a proper site up for yourself and identifying what makes a good portfolio would be a good thing to do.
Finally, and being totally honest, the last thing I would do when looking to hire a developer is trawl through a potential candidate's github account, finding out what sort of contributions were made to the JS flavours of the month. I'm not interested in seeing code samples right off the bat, I'm more interested in seeing how you sell yourself - how your website and portfolio and demonstrable skills* paint a picture of the sort of person you are - and how enthusiastic you are about getting a job.
I'm interested in you, the person, and the specifics of your work (eg. the code samples) and other contributions would come up later in interview.
I don't mean to be overly harsh but your online presence and how you present yourself/your work are, in my opinion, key to better finding the work you want.
*demonstrable skills not as in bug fixes on github but as in the work put into your website.
[+] [-] stc|14 years ago|reply
[+] [-] jeromegn|14 years ago|reply
Once you've built some useful projects (I built Backbone Todos amongst other things), people are going to find you through them and contact you with opportunities all the time.
You've already started putting your work out there on Github, now you just need to market yourself a little better. a Github account isn't enough. Blog about your experience, build a Twitter following and other promotion techniques.
Maybe extract some smaller bits out of your bigger projects. Those are usually more useful and get more popular quickly. Abstract some of that application-specific code and release it. It's both an exercise in programming and marketing.
[+] [-] SeoxyS|14 years ago|reply
As far as general advice, I'd say if your skills are not good enough to get you a full developer's job right now, try to get hired as an intern, or as a community manager or something that doesn't require coding, at a startup. Suck up the bitch work for a while, try to automate a lot of your work using scripts, learn as you go and make it clear your end goal is to move to development—if you're smart, you'll be promoted in no time. I have some friends who've come in knowing nothing about development, and been promoted to junior developer within 6 months.
[+] [-] stc|14 years ago|reply
[+] [-] teamgrep|14 years ago|reply
I'm a big believer in public portfolios. When I've been on the hiring side of things that's the first place I look. Now it's just a question of improving the both the quality and quantity of projects you're showing off.
How about getting a mentor to review your project(s)? You're not in an organization yet, but you can pretend you are--request a code review from a programmer you look up to.
Teaching others has helped me learn myself in the past. You didn't mention activity on stack overflow--answering questions there can improve your skills and visibility since SO is integrated with SO Careers as well.
Great luck to you!
[+] [-] angelbob|14 years ago|reply
That probably means an online portfolio with tools, summaries and screenshots. It's not hard to put one together, but here's a really simple "step-by-step" one that you can push to Heroku within about 15 minutes: https://github.com/noahgibbs/bobfolio
ETA: My own portfolio is here, for comparison: http://angelbob.com/portfolio
[+] [-] zeratul|14 years ago|reply
You might work as a programmer and do only that but software development is much more than just programming. There are framework, libraries, and architectures. Not just fancy words but ways to do more in less time. And of course: testing, debugging, and rewriting. The last three make good programmer great.
I come for humanities and I can say that programming is not much different than writing a book: read a lot and write a lot ... I think Stephen King said that.
[+] [-] cypherpunks01|14 years ago|reply
It's a Django gifting platform that will be pretty well-trafficked once we launch it in a couple weeks, that we hope to turn into a full-blown alternative economy platform one day soon. We could use dev help and have lots of people down here who could offer pointers for dev job opportunities to good coders. We're on irc.freenode.net #nycga-iwg. Best of luck!
[+] [-] algorithms|14 years ago|reply
If anyone is looking for a jr. front-end Dev., Wordpress Dev. or beginning Rails Dev. drop me a line. I'd appreciate it :) Languages: JS, Python, Ruby, PHP
[+] [-] nickpyett|14 years ago|reply
I'm self-taught and found learning HTML, CSS, JS and a bit of PHP and MySQL was more than enough to get a job in the UK.
Build some sites, get some experience.
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] SeanNieuwoudt|14 years ago|reply
There was some level of pre-created trust purely because I had a business operating in the field.
It's not hard to put a nice looking website together, choose a business name and start operating on the side.
It might make it easier for you too.
Goodluck!