Ask HN: I'm stuck yet motivated, but Lost Help? (Career Decisions)

11 points by 97s ↗ HN
Hello, HN. I am not sure how to phrase my question appropriately, so I am just going to do the best I can here.

Basically, I am 27, one course shy from a degree in economics(diagnosed in 2008 with cancer). I have a passion to want understand programming, but no formal training. I am recovering from cancer again (2011 AML) and have several months-to-years (depending on how my GVHD goes) to build up some form of knowledge for a career.

If you had several months-to-years to learn something in programming, what would it be?

I know I am asking a question that only I can answer for myself. However, I need experienced people who have gone the miles and can tell me what it really takes to undergo learning on your own, and then converting that into a job.

If you could have what I have now, what would you pick and where would you go with it?

16 comments

[ 2.7 ms ] story [ 41.3 ms ] thread
Data structures, and algorithms.
What language, and where do I start? Do I just build algorithms that do things and post my results on a blog?
How much programming have you learned so far?

There are a lot of free resources available online:

    http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books
    http://www.khanacademy.org/#computer-science
    http://www.codecademy.com
Attending local meetups is a great way to network and perhaps find a job. You can find them here: http://www.meetup.com/. You can also google for "* User Group" like "Python User Group" or "Ruby User Group".

Many startups love it when you apply for a job with example code. If there's a company you like with a public API, try building something with it and send it in with a resume.

I know a good amount of how basic programming works. I have written some apps in javascript(albeit very simple), simple simple stuff in python and java, when I was learning them.

I feel like I would be a waste of a person at a meetup since my skills are seriously just entry level.

I looked at codeacademy for a while. If I had the cash and didn't have a wife and 10 month old son I would move to Chicago in a heartbeat and do this.

codecademy.com NOT codeacademy.com.
Since you have a background in economics you may go for business intelligence or financial software. For BI you need knowledge of databases (SQL, stored procedures, data warehousing), Java EE, familiarity with BI suites (Oracle, SAP). For financial software it's a long term commitment, you need to master advanced data structures and algorithms (tree, graphs, networks, linear programming, dynamic programming, numeric methods), some AI topics (data mining, machine learning), statistical modelling (the math behind it, R language), low level programming (C/C++, memory management, multithreading, interprocess communication). The reward is proportional to the effort (higher entry barrier means bigger gain), so you can do CMS tweakings for lower and fragmented returns, or work on more serious systems for higher paychecks and job security.
Do you work in fields similar to these? I am willing to dive into any field as right now my resume is a bunch of entry level skills, and I have the time to spend reading books and learning on my own.

What are some examples of a business intelligence software?

BI solutions help companies retreive and analyze key data related to their business processes, and generate reports. What you do is implement and deploy custom solutions for your client's specific needs, and you make use of a BI suite or another (libraries and tools to handle data and dynamically generate reports or other forms of data visualization). There are proprietary BI suites, most notable form Oracle, SAP, Salesforce, and there are also open source suites, like JasperReports, Pentaho, SpagoBI (I reccomend you JasperReports). I don't develop business software myself, but my company offers consultancy and implementations of such solutions.
Interesting. Thanks for your comments and replies.
Perhaps you should start from a goal and work backwards? Is there something in particular that you'd like to build, create, or work on?
I have many ideas. I really probably should just pick one and a technology and just do it. Thanks for your comment.
Which idea are you leaning towards?
I have an idea for a baby application, that my wife would use, so I assume other mothers would use it as well.

I also worked at a major call center, and man their applications were awful, the during of the time I worked there I sent in major improvements and most were implemented. I imagine there are other places just as bad that could use some good note-taking software about the support call.

Basically, I have a hard time when I dive in because it's not just one language, it's the language, a framework, and a front-end. It's just so much at once, that I get overwhelmed and stuck.

I have been considering just sticking to python, and doing nothing but building little apps that run in console, like start with tic-tac-toe, then AI for tic-tac-toe, then checkers, then AI, and so on. So that I don't have to deal with a framework immediately.

What other users have said is very interesting as well. I could combine my degree in econ with some cs skills and make a decent application(no ideas here though).

Personal anecdote, FWIW. Not intended as "advice" (and please don't read in any assumptions about you):

I'm not really a hacker, though along the way I learned a little (x)html and css. I had a serious, lengthy health crisis of my own. During that time, I ended up starting some websites though I knew absolutely nothing about such things when it all began. Some of those sites still persist, others fell by the wayside. Natural selection kind of determined what got developed more and what got abandoned. I got a certificate in GIS in something like 2002 (IIRC). I was still very ill and on a lot of medication. After completing my certificate, my resume had a high call back rate but I kept tanking the interview. (I was basically higher than a kite from all my meds and it showed.) I even interviewed for an internship with a national lab but didn't get that either. I didn't manage to get a job until 2006, in an unrelated field having nothing to do with any of my training or career goals. I just needed a job because I was going through a divorce and still needed to eat.

Recovering my health took me a very long time, longer than I really expected so I was often frustrated by that. I was also frustrated at feeling underemployed but also proud that I managed to keep working while getting well. My health has made a dramatic leap forward recently and I am now doing more with some of my own projects. I learn what is relevant to the needs of my personal projects and whatever gets support, organically, from people who are genuinely interested in furthering the things I do. I believe someday my side projects will become more than mere side projects. Over the years, I've learned more than I sometimes realize. I still feel like I know nothing. My side projects have given me personal satisfaction under difficult circumstances but have not really paid-off, career-wise. I expect big changes in the not too distant future in terms of being able to pursue a career more seriously rather than just stay afloat with a day-job. In the mean time, what I learned while getting well was how to really live. It keeps my priorities straight and keeps me from making myself too crazy about what I feel is a relatively low level of accomplishment career-wise.

Peace and good journey. Best of luck in everything.

Thanks for what you say here, glad you are going further in your journey. I too have many many skills but only at the entry level area, so my resume is just a mess.
Some resources: peepcode.com (not free) youtube or itunes videos of cs classes, e.g. Stanford's CS106X

For me what's worked best has been to read a book or two on a language and immediately start using the language on a problem I hope to solve. This works really well for languages like Ruby, Python, JavaScript, where there's lots of additional online help available on blog posts, stackoverflow etc. The online help is great when you get stuck on a bug or on a part of the language you didn't read about.

I would suggest building to learn. Find a pain in your life and build a solution for it. It doesn't have to be a big pain; it could be something trivial but you should have some sort of vested interest in a successful completion.

Good luck.