Ask HN: How do I get into programming?
I'm thirty years old, I work in the fast food industry, I'm pretty good at HTML and CSS and can put together a pretty website. I'm learning PHP and Javascript slowly and for the past couple of years I've spent my every spare minute coding something. Yet, I haven't got any work experience in the industry and I want to be a programmer. How on earth do I break into the industry?
Responses would be appreciated
14 comments
[ 2.0 ms ] story [ 35.2 ms ] threadAfter you have a little portfolio of work you then create a nice small resume where you are honest but show your ambition. Put your projects on there. Put the articles you write on there. Craft it well.
Next step is to target companies looking for juniors. Search every job hunting website you can find. Establish relationships with good recruiters. Explain what you want to do and have them help you find a good spot to start. You'd be surprised how important this is. Recruiters, love them or hate them, are the lifeblood to new ventures. Find good ones and stick with them.
When you arrive at the interview be ready to show you are looking to learn. When hiring junior developers I look for that trait first and go from there. Show them you know how to build software by demonstration of your projects. Show them you can work with tools.
Once you do all this you are in there. It's just more and more of the same throughout your career. I know because I broke in myself with no college degree and no experience.
This is called the never ending or perpetual side project. It represents your capability at any given time if you keep it current. Add new technologies to it. Make new versions of it all of the time. I have personally had interviews succeed on the strength of this project alone, based on my ability to talk about its structure.
Build any project for anyone who will let you(any brochure website is great), using the skillset you wish to develop. If all else fails, build some apps for android or ios. All the challenges of real programming(because it is) with the potential for some actual side money(just a bonus, not the reason to do it).
Finally, it takes time and perseverance. Persevere in the path towards gaining and being able to demonstrate practical and conceptual knowledge. Giving up is the quickest route to failure.
Another thing, and this is big... where do you live? The programming side of the IT industry is strongly concentrated in certain urban areas. If you don't live in a major city with a real software industry, you may need to move for opportunities. This doesn't mean you have to live in Silicon Valley, but you have to live somewhere that the jobs are - cities like Minneapolis, Denver, and St Louis all have substantial software industries.
Once you think you are good enough, help out at an open source project. Or start your own little project. One step in front of the other.
Then show case. Create a Show HN thread of what you built.
Build your online presence: Help out others on StackOverflow. Use twitter to tweet what you've learnt. Create a personal website with the projects you've worked on. It becomes your resume.
As soon as you feel you have a couple really good examples send off your resume and your ready to go :)
Some really good things to know/have for getting a job in the industry:
1. Version Control (i.e. Git) - if you are really familiar with github and git merging, rebasing, commiting and working with other developers this is a huge plus. The great part is that its really easy to get involved on github and there are tons of resources for learning git.
2. Having good examples of your source code to show (again github)
3. Having completed projects / websites to show
wish you best of luck!
Job done.
Obviously, there's a big difference between a static site and web app, and full time employers will know that. However, people hiring freelancers won't, so you'll get asked to build dynamic stuff that's relatively simple like an appointment manager and be able to add depth to your portfolio.
My email is in my profile - I'm a self taught programmer who now works full time in the field (though I admittedly had some advantages you don't), feel free to get in touch if you have any other questions. (Obviously goes for others as well)
So what is SCADA? It stands for Supervisory Control and Data Acquisition, and convers a wide range of control systems, from the factory floor to waste water treatment and data center power management.
You can search for the term SCADA or HMI (Human Machine Interface) in the job boards. A pure HMI position designing screens in a product like: Wonderware, Cimplicity, Genesis, FactoryTalk or RSView, will be much more entry-level than what most people consider SCADA to be, which is HMI plus programming PLCs (Programmable Logic Controllers).
HMI/SCADA are more niche positions than web developer, and as such you can find more reliable and higher paying work. If you can write VBA macros (especially with input forms), some SQL, and know how to set up Windows machines on a network, you can probably find an entry level job. This, plus a few CS classes is all I had, but then I got bored, worked as a web developer, and eventually found work writing an HMI system from scratch.
After a while though, when I felt I was no longer learning as much as I'd want to -- I decided to look for a new job in the software industry. With my experience writing code at the consulting firm, I was able to find a decent job at a software company.
tldr: Programming is valuable for many jobs (not just software shops) and it is often easier to get your foot in the door and spend your days writing programs there.