Ask HN: From zero to IT career, what is the fastest path?
However they are one ~30, with previous experiences of coding only at hobby level (C course, but he has the ability to translate ideas into C easily) and one ~40 years old (which used to be a PHP programmer, but is not doing serious/complex stuff for years at this point).
What is the simplest way for them to learn something that will bring a job ASAP? For example Android development? Node.js? Ideally this should combine a reasonable learning curve, the ability to work without knowing the whole computer science stuff, but just specializing into something, and should be a currently very requested technology.
Thank you a lot for any reply!
EDIT: I forgot to say that one has knowledges about Digital Signal Processing (in the field of music), and one is fluent with HTML/CSS (but not Javascript).
EDIT2: Thanks a lot for all the replies! This is very helpful.
57 comments
[ 2.4 ms ] story [ 118 ms ] threadAnyone who charges money for a product or service, produces a physical or software product, or supports different use cases will have some kind of QA. Often medium-to-large web companies have QA departments to make sure design changes don't blow up the site for different users. Different industries do QA differently (for example, medical device QA or anyone supporting ISO 900X is more rigidly structured and policy-driven than web dev QA).
Then I finished all Ruby and Rails courses on CodeSchool. Then practiced myself, using mostly Google for info. This allowed me to apply to a Rails company as a junior developer. I got hired and trained. I love it.
Programmers get their source for income from online discussion (mostly) , while some people you know find local niches, not involved into programming. Eg. a take-away bar that earns 1.000$ / day from day 1 (we do their cash-register)... I don't see many programmers do that :)
It sounds like your advice is "Becoming a programmer is too much work, go do something else". The definition of "decent" varies wildly depending on the company & job you're working for.
OP is the author of Redis, the cache everybody and their mother loves. I'm sure he knows quite a bit about programming!
An alternative might be Python. It's an easier language to learn than Javascript since there are fewer "features" one must learn to avoid. It's also rather prevalent in the web development space. And the bonus is that if, later on, they want to transition to another area of expertise there are fields such as scientific and cloud computing that use Python rather extensively.
If the other friend is fluent in DSP and has some exposure to C I would suggest staying on that tack... take a refresher course in C and possibly pick up a scripting language like Python on the side. Check out Art & Logic: they hire remote developers and work with many clients on DSP-related projects.
A side note, I do know people that were hired right out of Hack Reactor that never programmed before attending.
Experience: I attended one of these 6month bootcamp courses and later went on to get a CS degree.
This might not be the popular advice, but it's coming from a self-taught developer that now has > 10 years professional experience.
1. You learn how to be efficient (if not necessarily clean) with your code
2. You will network by default in order to solve the problems you encounter - and set yourself up with the network you need to find a job
3. You prove that you have the range of skills needed for a good developer (requirements management, holistic understanding, deployment environment, technical depth)
Beyond that though I would suggest attending meetups in your area for all kinds of different things - for example there is a Ruby meetup in our area, there are node meetups, meetups for ML and NLP etc... These are cool places to show off your work, get help on projects and meet other people who would have links into jobs.
They are 30+. General advice there is to stay away from competing with the 20+ crowd. Compete where age is on your side, which means go into business where you have 10 years experience over the young ones. If you were a carpenter and want to be a programmer, build solutions for the construction industry. If you were a car mechanic, build solutions for the car salesman. You get the idea.
For starters, your friends can choose between getting an education , or trying their luck at "skill". If they want to work for big corporations, education is mandatory. If they want to work for small companies, education isn't going to be as important, but reputation is key. Be sure to never leave a job unfinished, and always ensure your customer is happy. Your happy customers are your salespeople.
If one of your friends are already fluent in HTML/CSS, it's natural to go into the custom wordpress theme coding, etc. This is not really an IT job anymore, but a part of the advertising industry. Pays poorly, and will continue downwards.
Your DSP friend is in better luck. This is a hard, difficult-to-learn skill. Especially if he also understands the advanced math behind it. Good DSP jobs are found in larger industries, so if he doesn't have a math degree, that would be advised. Having a Master's degree and being good at DSP programming will secure a very good future with few competitors.
As for "programming", that's not really one job but a wide field of jobs. Marketing style jobs are plenty and small, and available for both web and mobile. They pay poorly though. Corporate 10000+ hour projects or salaried positions are out there, but almost always require a M Sc. There are always going to be plenty of 100 hour projects at smaller companies, but it's poor job security.
"Programming" in general is also under very heavy fire from outsourcing to lowest bidder, so I would not advise anyone to start it as a career.
YMMV.
Can't agree more about that. Also great advice about the DSP friend. What makes me optimist is that they are based in Vienna / Barcelona, so big cities with some IT scene inside.
A 6 months study time is totally reasonable for them... so basically no "education" (but one is graduated in a different field), but self-education is totally possible to achieve. I guess that in order to buy a reputation they'll need to start with a job that looks serious but maybe without a stellar salary, and evolve from that. Thanks.
> General advice there is to stay away from competing with the 20+ crowd.
What do you see as the relative strengths of the 20-30 developer vs. the 30+ or 40+ developer?
Generally here, the development skills vary more between individuhals than between age groups. Straight out of university, young developers tends to have done smaller projects (1-4 team members, 100 man hours each) and have excellent technical knowledge about latest toolkits. They will be able to solve very difficult technical issues and have an agile mind. They do not have experience from issues arising in larger projects (10-100 developers) due to legacy code, support agreements, management issues, project methodology, and they haven't even tought of corporate culture and office politics yet (sometimes for the better). The love for "my new stuff is better than the old code" can lead to design decisions which causes untested technologies to be used in the wrong places. Young developers often have no kids and sometimes no spouse, which makes them work long hours,and be very flexible in crunch times.
Older developers tends to have spouses and kids and responsibilities. This sometimes is a problem, but it can also force them to release the code as soon as possible, instead of doing a third or fifth round of optimisations and improvements. Older developers have seen the office politics and shenanigans several times and try to avoid them or even handle them. The older developer may sometimes be lazy and stick with older tools instead of new technologies, which can make products look and feel like they were designed last decade. But in large corporations, it's better with a released working code that looks old but is stable, than code which isn't stable.
Money-wise it's a toss-up. The extra experience from older programmers comes at a premium cost, which most of the time makes me assign junior programmers for the bulk of the work and senior ones for architecture etc.
I do agree that I wouldn't advise someone to start a career with programming if they were 30's and 40's. But yet again everything is doable.
But for a 15y/o learning some programming stuff... for him programming can be a career. Don't forget we have so many new stuff coming out everyday that older programmers if they exist and they haven't become project managers wouldn't really go into.
Also when you mentioned Wordpress because he has knowledge of HTML and CSS... well he had* prolly. Atm I would say that CSS is a very complicated and delicate thing that pays well to people that own that field. With mobile and tablets you need to know how to write responsive code. CSS has move from when it was just static text.
To the Original poster: I can't really think of anyone around my circle which includes most of the UK's leading Tech Companies and a lot in San Fran, that would go off and hire a 30-40 years old person that has some experience in programming but he is not actually a programmer. They can start as junior developers but again the salary will be low and the competition to get in that field... plus people that are hiring for junior developers would like to see a youngster that can learn and become a senior after few years, I don't think they will go with someone older than 25 unless they are looking for a frontend developer passing it as a junior developer role.
My advise to them is maybe to start off their own little thing maybe a webproject or a mobile app and try to find investors?
On one of the comments you replied that one of the guys is from Vienna(Austria) I thought that Austria has a very good economy atm. I get why the other guy from Spain has trouble but Switzerland and Austria are on top of EU atm.
I would love to teach both of them Python/NodeJS/Java.
NO FEES! I believe in sharing knowledge for free.
@nrshrivatsan is my twitter handle.
Rest I will tell to them in person.
- Shrivats.
IMHO, they should avoid programming books. You don't learn how to play baseball by reading a book about baseball; you learn baseball by playing baseball. The same is true for programming: they'll learn more by building something, anything than they would from a book. Books may help them later in their career after they mastered basic programming subjects. For this piece of advice, I'd add one caveat: I have met some programmers who have learned immensely from books, so, if one of your friends falls into this category, discard my anti-book advice. In any case, the focus must stay on project building.
Finally, I would add that if you, or someone else, or a number of experienced programmers could mentor them through this process, that would probably help more than any other resource.
A very good project might even get you hired - to work on (or "around") it and be paid.
My job title went from 'QA' to 'Engineer' in 3 months doing this.
If you want a job ASAP, learn desktop support, be a network analyst/systems analyst, systems administrator, database admin, quality assurance analyst/engineer/tester, etc.
A lot of jobs out there are just "we needed someone to set up this software for us and push a button once in a while", and they pay well. One guy I worked with had a job similar to mine, and he was supposed to be some kind of engineer, but he kept coming to me asking things like 'how do I sort the lines in a file?' Speaking of which, you should look for contract jobs or government jobs, or government contracting jobs. They require the least expertise and pay the most.
The reality is that a lot of "Business Intelligence" work is writing SQL & reports for business types that don't know how to write SQL or don't want to learn.
It means writing a lot of reports, but its a good way to get exposed to a business and yet still be involved with light development. There's room to grow too if you want to learn more about data warehouse design, ETL processes, OLAP cubes, etc etc.
It'll be hard to find a "real" job for a while until you prove your mettle this way a bit, even at a small company. I speak as a small business owner; we don't really have time to hand-hold unless you've really proven your ability to learn quickly already.
Certificates in Javascript or whichever will look good on a CV, show willingness to learn, and open doors for you.
Then of course it needs to be backed up with demonstrable programming skills. Coding dojos, meetup.com events, hobby projects are all good for this, and can be discussed in the cover letter when applying for a job.
The age can be an advantage. I mean, I adore my younger colleagues, but they are politically retarded.
The tooling (Android Studio) is also relatively accessible, and you don't need to know 4 different languages to finish a project (only Java, as compared to web programming where you'll need a working knowledge of HTML, CSS, and JS as well).
You can also ship something to real people relatively quickly, and without a gatekeeper. Shipping an app of any kind, even a free Android app, will force issues like QA, version control, and customer support which are skills outside of just coding that developers should have.
Finally, Android development has a vibrant community that's learning together, and the landscape is rapidly changing. Your friends could jump in now, and wouldn't be starting from too far behind.
I'd suggest your friends to get their hands dirty with a popular open source project and getting involved in a software company doing technical support. E.g. apply at one of the many WordPress plugin/theme development companies (or any other popular open source consumer platform out there)
I suggest this in particular because such PHP projects are usually well manageable on the technical side once you get the grip. This does not involve programming at the start, but could very well be a "first step" into the IT world, and as paid by the hour could also be a side project.
Then, as time goes on, if the passion kicks in they can learn all the inside out of the things they're doing support for, and start from there towards working on development itself, or going solo and try building their own software project on the side.
As a dev for various software projects I saw some other support staff members grow their knowledge over time and in the end contribute to the project as developers themselves, also as a consequence growing their income.
Anecdotally: I attempted to get into a degree program in CS from my local university after having taken the required prerequisites, and getting mediocre grades in those classes, and was rejected. So I resolved to keep studying on my own, get Tech Support jobs and learn on the job, and keep applying to programming positions.
I worked two fairly low-level tech support jobs before I applied (internally) and was hired on as a junior level programmer. It was only for about six months, until a new CTO canned me, after which I spent about a month getting hammered with job offers and recruiters' emails, then went with a great smaller company I'm currently working for.
Furthermore, I fully submit that those who have a real passion for the work of programming, who get a buzz from figuring out how the small problems they're tackling aggregate into the kinds of large, effective systems that make companies run these days, those people will do very well. If the original poster's friends are motivated mostly by getting a good-paying job with some job security, but don't derive much satisfaction from the work itself, it will likely burn them out in no time.
And especially in Drupal, there is a lot that you can do without writing a single line of code, just by installing and configuring modules. This is often called "site building" expertise, or sometimes a junior "developer" (despite the near-lack of actual development). And there is actually demand for it, because real developers find that work tedious and boring; but it is a huge part of building almost any Drupal website.
The way to get involved is to find local meetups and start chatting people up. I know of at least a few people in the DC area who went from nontechnical jobs to senior Drupal developers making 6 figures this way--just showing up every time, working on volunteer stuff, and eventually getting some contract work or an entry-level position. From that point it's all about hard work and delivering.
http://alexkrupp.typepad.com/sensemaking/2013/11/2012-my-yea...