Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Is this really realistic: self-taught programmer?
19 points by beginagain on Oct 6, 2013 | hide | past | favorite | 25 comments
So I'm 31, and decided to change careers. I was previously an engineer (not CS), and did well @ a small company, made and saved money, and now I make about 60k per year after tax from my invested money.

I live off about 2.5k per month, but can probably live off less, so I'm still saving money per year, but not making any money other than my investments. I made about 20k worth of angel investments via angel.co, so hopefully I win the lottery there, but I'm not planning on it.

I have always tooled around with computers, but I'm nowhere near an expert, nor have I ever been a coder.

I am currently taking the one month rails course, and also considering something like LPTHW or similar, with the main goal in mind to just make prototypes, then hire the real talent if I get something going. I don't expect to get hired as a dev, but what about getting work or consulting from front end stuff, or just prototype stuff?

I read posts on here all the time about people who have CS degrees, the whole 9 yards and have problems finding work. So it seems asinine for me to believe that I could do it on my own.

What should I expect? Should I just accept that my life is going to suck and go back to my old job that I hated? I really don't like not working, but I really don't see how this whole coding thing is going to work out for me. I need some HONEST feedback. I feel like maybe I've been a bit jaded by all this entrepreneur/ self taught coder talk. I mean, my chances to make millions doing this is pretty much non existent, isn't it?



Here is my story.

5 years ago I was an apprentice copper and tin smith, I have always been good with my hands, and because of the dot com crack around 2000 I decided to go for a career in construction. However, it didn't turn out that way. To cut a long story short, 5 years later I started to learn web development, 2 years into web development I was the acting lead developer and teacher of others. Now 4 years later I am in a new job, well paid, respected by my bosses, and I am still learning new languages and frameworks. Point is, anyone can learn programming, and I dare say, after what I have witnessed, anyone can excel at it too.


If I read all that right:

- you are making $60k/year post-tax off non-angel investments

- your yearly expenditures are about $2.5k * 12 = $60k

- you are about to quit your job (or already have) and anticipate an even lower expenditure next year (<$60k)

Dude/dudette, forget switching careers---if this is really and truly your financial situation (no debt, etc.), you could just go ahead and retire. You don't have to go back to your old job that you hated. You don't have to go back to any job. You are pressure- and fancy-free.

If web development is what you want to do in your first year of retirement, well, go for it. Financially speaking, you have nothing to lose. You could just as easily become a fly fisherman in Montana.

High five yourself! And go read http://www.mrmoneymustache.com/.


Well I think your math is off there, more like 30k, or closer to 35 actually per year for expenditures.

I want to have a lot more money though. I want to be one of those guys with 100 million. So I don't like the idea of not working anymore. Plus, I want to work on something I am passionate about. I have had enough relaxation and vacation to last me a lifetime. I am sick of it. I want to find meaningful work.

I feel guilty right now that I'm not producing anything, and ashamed. [There are people a lot less intelligent than me with a lot more money than me. What is wrong with me? Why can't I be one of those people?] is the recurring thought in my head. But I think it's more about finding meaningful work than it is the money. Easy example, but if I was Anthony Bourdain, Paul Graham, Carl Icahn, Steve Jobs, I would be more than happy doing their work even without making the insane amounts of money that they obviously do. Because their work is meaningful.

I worked hard and made some money, but I am 31 and this is all I have to show for it http://i.imgur.com/ACsNRpi.png. I mean, I was paid by an employer and the market for that money. I want to create my own way, not crutch someone else's way. I must figure it out somehow. Just stuck and scared right now. I'm just not sure what to do. I need to push myself more I think.


Whoops, you're absolutely right about the 30k. I'm leaving my poor arithmetic up there for posterity.

So. So so so. First of all, I gotta say, you are very good at writing how you feel. Which is quite the nontrivial thing. People are gonna jump all over you for your very admirable tour de honesty. Don't let the turkeys get ya down (as my mom always said).

Second of all. It sounds like you are in a bona fide self-loathing free-floating ambition doom spiral. (I am no stranger to them myself.) And as though your usual way of caring for your soul in pain is to sit on it firmly until it stops screaming. So, speaking of souls, & their care and keeping, I think you should get a book called _Care Of The Soul_ by Thomas Moore and read chapters 3 and 9 in particular. Also if you can get your hands on _The Power Of Myth_by Joseph Campbell, that one's not bad one either.

Hang in there, unknown internet buddy. I believe you when you say it's not about the money. But---if you'll allow me to be a little crude, here---greatness is not some constipated stool than we can anger-push out of us. First we gotta linger for a little bit with the Dulcolax of philosophy.


> "Just stuck and scared right now."

This just says something about human psychology, that someone can be a wee bit past late adolescence, be making $60k clear for doing nothing, and yet feel "stuck and scared." Thankfully, most of the people in, say, Bolivia or Sierra Leone are unable to easily read Ask Hacker News. Ahh, humanity, you're a gas!


In many ways you are in an enviable position. You can take pride in the fact that you worked hard (at something you apparently didn't like)but you worked hard enough and competently enough that you got paid really well. Second you can take a healthy pride in the fact that you were wise enough that you lived on less than you were making and built up investments such that you could retire on a modest income at 31. Relatively few people achieve that level of income and even fewer exercise that kind of discipline.

But you now desire significance and the potential for even greater financial success. Great, get started and quit worrying about whether you will succeed. As others have pointed out if History or English majors can teach themselves the skills needed to succeed in web or mobile development there is no reason to imagine that you will fail to acquire the skills that you need.

Quit worrying about competing for a "job" and use your investment income as an extended start-up runway.

As you start developing an idea, go learn the specific technology needed to develop that prototype. If it starts to get traction great, you might have a hit on your hands and retain all the equity. If it doesn't get traction, at least you learned a new technology. Rinse and repeat. Since you have basic income covered, I would focus on the significance side of the equation. Do projects that you care about.

If you eventually tire of trying to build your own ideas, find a non-profit whose mission you believe in. Use your newly developed skills to work for them and help make something good happen in the world. They probably won't be able to pay you all that well, but you have basic income covered.


Please read some of Paul Graham's articles. The key is to create VALUE that people will pay money for. So look for a $1000m problem that get's you excited/passionate. Chip away at it. At 10% you've got your $100m.


First of all good job on being where you are at.

You said, "I feel guilty right now that I'm not producing anything, and ashamed. [There are people a lot less intelligent than me with a lot more money than me. What is wrong with me? Why can't I be one of those people?]"

This is a very dangerous attitude and will lead to great disappointment in your life.

On the spectrum of why anyone is more or less successful than someone else, the notion of where you are born, who your parents are, what school you went to, how rich your family is, when you are born, what race you are, etc. all play a large factor. Don't also forget luck.

The American dream is very nice and all and it emphasizes the "you could do anything you want" mantra but for most people its a nice bowl of bullsh*t soup.

My recommendation would be to take a couple of weeks and figure out what you really want out of life. Why do you want the 100 million? Why are you so driven by this desire? What void are you trying to fill? We all struggle with these questions but it takes a certain kind of person to actually take the time and try to fully understand one self.

You are already 10 miles ahead from most people. Please don't equate meaning with your life with making lots of money. Find the most needy organizations in your city and go devote your time to helping them. These organizations need people's time as much as they need the money. You may already be doing this but if not, seriously think about doing it. Also, do some travelling around the world. Travel to Europe on the cheap, visit the Middle East, visit South America. These are good uses of your money not bad.

Also, relax, you are still a spring chicken and you have accomplished already what most Americans will not. Understand that your questions of finding meaning are not unique and we all go through it at some point. For some of us, our life circumstances resolve us to certain goals (and no, no amount of Anthony Robbins "go do it" message can change things). I would recommend looking at this mind map to provide some kind of framework for your thinking: http://www.biggerplate.com/mindmaps/g304883/life-planning

We are creatures of change. We change, the environment around us changes. Find what makes the most sense to you knowing that you will likely change to something different in a few months, or years. We operate on feedback. Give yourself feedback so that the loop can be complete. Doing different activities, volunteering, traveling, etc. All these are giving you feedback. You have the privilege of having the luxury to try out many things to see what fits.

Don't chase software development as a way to make lots of money. A lot of it depends on where you are and your unique skill set. If you do want to go down this road, pick a project you want to do and use the technologies that are the most in demand in your area and will pay the most. Start learning and stick with it for a few weeks. If you can't stick with it then its not for you. Sure, learning to develop is worthwhile but it doesn't stop you from building a software business, you can always hire developers (especially someone in your situation).


Congratulations on your success so far . . .

As for changing careers start here . . .

http://www.youtube.com/watch?v=0CDXJ6bMkMY

Then catch up on . . .

http://StartUpsForTheRestOfUs.com

Sounds like you would be more interested in starting your own business rather than working for someone else.

Learning development is a great start . . . and great skill to have.

Rails is a good choice . . .

Before jumping into Rails I would start with HTML/CSS create some basic websites . . .

Then learn some javascript and jQuery . . .

I think you would learn more by building a few simple web apps using PHP and MySQL so you can learn what it's like to build one without a framework . . . login/user types/CRUD . . . then once you have the basics down then see what it's like creating the same app in Rails. Rails is easier to understand once you know what is going on behind the scenes.

http://teamtreehouse.com Has some great tutorials . . . for HTML/CSS, js, PHP MySQL and RAILS.

If you're not interested in starting your own business becoming proficient in rails is a great career track.


"You've got to find what you love... And the only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle." -- Steve Jobs


Concretely, go further with programming and see if you like it: see if it's hard not to think about the things that could be built, and the hard part is picking a single thing to work on; if new tools and technologies or ways to do the work better are interesting even if you're not sure where you'd use them yet; if you can see yourself occasionally building stuff for fun.

Building shippable software will still be maddening when you're almost done but for one fiddly piece of code that behaves wrong and you can't explain why. The clever and visible and intrinsically exciting stuff will only be a small part of the larger product. Much of what you do will sound interesting to nobody (maybe not even fellow techies).

But if there's fun there, it's a huge help getting past all that and finding the whole exercise worth it nonetheless.

Relatedly, I don't think you should necessarily cut yourself off after introductory Rails or Python classes; as long as you're having fun, you're probably learning something, too.

And work on subject matter you care about--you seem to have a bit of room to do what you want, and liking the goal to which you're applying your skills is huge.


A friend of mine used to say, "for software you just need a computer, electricity, and time." You probably can afford a computer and electricity. And since you spend less than your passive income, you have time.

Your other advantages:

1. You have an engineering background

2. Internet makes it so much easier to find information; don't even need to buy so many books from amazon

You can definitely become a very good self-taught programmer, if you put the time into it. But whether this translates into millions is a different story (more subject to randomness -- whether market wants to pay for your software, etc.)


Hi beginagain, the truth lies somewhere in between. It shows courage and it seems a good idea that you're looking for help or encouraging words from others in order to understand your situation better. Now, for what I see, you already took a decision, didn't you?

"So I'm 31, and decided to change careers". That's the first step.

Now, 22 hours ago you might have had a bad day but hey, you already decided to change careers - so, that's all you and we and everyone needs to know. Many people with a CS degree will never start or work at a startup as well as many others with an engineer degree will never invent a new machine or technology. Many people will live and die and never have a year's salary in their savings account. It doesn't make them better or worse, some decisions you take, some others life takes for you.

But as you don't seem to be living neither in Bangladesh nor Sierra Leone, you're in the wonderful position to just give it a try. Shine a little bit, give it a try and have a look if it works out. If it does fine, if you think you have committed sincereously to it but can't find the strength to go ahead, it's okay as well. Just do something else.

"A life spent making mistakes is not only more honorable, but more useful than a life spent doing nothing." George Bernard Shaw


If you already have a degree in engineering and solid experience, then you probably have the ability to learn effectively. Software development is often called software engineering - which is how it should be practised. That is, construct "things" based on sound engineering practices and a good understanding of the underlying physics / maths.

Any given library/framework is a collection of sub-assemblies that you then "glue" together using the programming language that it is implemented in. Personally I like Python with its "batteries included" philosophy. As long as you can avoid the "not invented here" syndrome you will do well by reading the documentation and source code for the components you are looking at using.

I've met history majors who became accomplished programmers purely by teaching themselves. There are lots of resources out there, books, videos, forums, etc. I would suggest that you pick a language and stick with it. Once you are competent in one language and a couple of frameworks implemented for it, it is much easier to transfer the knowledge to another combination. Just remember that almost all languages are "Turing Equivalent".


But is it really realistic that I will make money doing this? I hear about all this freelancing etc..., but is that just to lure in dumb money into the industry? I just have trouble comprehending that I will be able to compete with the current force, especially when their foundation in CS is much more stable than my layman understanding. I will essentially just know how to write code for the sake of writing code. I won't understand assembly and compilers, etc...


If earning money is your sole criteria, then you'd be better off doing what you already have qualifications for.

You can learn about assembly, compilers, etc by reading a couple of good text books. There are some excellent video CS courses out there if you prefer that sort of tuition.

Yes, there will be a period while you are learning and not earning. But that's how it was with your original degree - wasn't it? If you have a keen desire, then you will accomplish your goals. Read some Anthony Robbins, e.g. Awaken the Giant Within. Everything is possible, and you have to work for it, which means you really have to want it.


So, even though you hated your previous job, you obviously did well at it -- at least well enough to save-up a nice nest egg. Let's presume that you will progress over time from crappy programmer to a solid one. Anyone like you will get at least that far and likely much farther. The question at hand is simply what you should do to facilitate this progression. Have you considered solving some small but pesky problem which you know is common in your industry? A calculator for compliance with Governmental Rule XYZ? A converter between two 90's era (or worse) file formats still in use within your previous industry? I have no clue what you did before, and I probably wouldn't know what projects to suggest even if I did. My point is only that you can make-up for being a mediocre programmer with deep knowledge of a specific industry. If Patrick can make $30K+ selling bingo card software to teachers, you ought to be able to do similarly in the niche you know well. To avoid having to be a good salesman, maybe you put up a website with the file converter thingy and then sell premium advertising space to vendors in that niche.


Alternatively, since you're financially stable and don't technically need any more money, how about working for a non-profit as a volunteer?

Sure, learn software development in your spare time, but why not find ways to use your engineering skills & talents in (say) building wells in rural Africa, or helping Haiti become a safe and stable country again? What about teaching engineering or building safety in Cambodia or Laos? Help figure out how to get plumbing or sanitary systems that are affordable in the slums of Manila or Rio? Or even spending 3 months a year teaching or helping out in the Dalit schools in India?

Instead of making millions, how about helping millions?

(I've been working the last 7 years for 'OM' (www.om.org) mainly doing Audio/Visual Engineering, and some software development. I'm not financially independant, so rely on sponsorship from friends/family/churches, etc.)


I may not 'technically' need more money, but I feel extremely uncomfortable where I am right now. While I appreciate volunteers who do these things, it also makes me depressed as I know their efforts are largely for naught. Unpopular opinion I'm sure, but I think it's ridiculous how much money is poured into these efforts when the real cause of the problem is not addressed. Humanity is suffering by the hands of immoral government. Would I fund ventures to kill the people responsible? Absolutely. But this would also include taking out many members of our own government, which is illegal and not realistic. So until some major changes are made in respect to political authority, I feel like it is a waste of effort, and I would not be happy being a part of it. As tragic as it actually is. Thank goodness for the people who ease the pain and suffering of the people who are being oppressed. They desperately need some kind of hope.


Computer Science <> Practical software engineering / development!!

If you're a competent problem solver, learn something very practical and immediately in demand; mobile development comes to mind. Expect to be paid entry-level salary, and work your butt off to prove yourself, and move up.

I have an engineering degree, but had only a few comp sci classes. My friends are in the same boat, but we're all good problem solvers, dedicated, and willing to learn. My friend was a hardware engineer, was worried about transitioning to development. He's smart, dedicated, and made the most of the opportunities given him.

I can't say that any of us will be making millions off our ideas, but we're all successful in our careers, and that proves that it's possible. Just set your expectations, make most of your opportunities, work hard, and you'll do great.


It's entirely possible to teach yourself to be a very competent programmer. It's going to take time though and a lot of dedication, but I'd say it's a very worthwhile thing to do. Before you launch into that though I'd try to reassess why it is you hate using the skills you have. You might find there are plenty of opportunities there that don't require completely retraining yourself. While programming is great, there is a huge need for other skill sets and products that aren't webpages. What's your technical background? What are you interested in? What aren't you interested in?


I wrote something up some time ago about my friends and I, many of whom switched from electrical engineering to software dev. We are the same age as you, and nowhere near as well off. But we are all infinitely happier for having changed careers.

http://elaineou.wordpress.com/2013/08/10/how-do-i-change-car...


Seems like you not need an occupation, but motivation, preceeds by vision.

Think deeply on what you want to make better of this world. Start from there.


Hi beginagain, check out:

http://teamtreehouse.com

http://codeschool.com

(those are perhaps some solid references for good paced learning).


If you are motivated you can learn to program well, as good as any other. BUT: Do you envy the success of industrious males and covet their hard earned money and its attached status? Why do you want to "be one of those guys with 100 million (idol-worship)?"

The people you listed had nothing in terms of financial assets during the start of their careers. Jobs was a nobody who lived with his parents.It may be difficult for you to muster up that same level of motivation with 1 million in your portfolio.

Look, programming and computer manufacturing may have been the medium through which a subset of motivated and imaginative people created their wealth during the past 20-40 years, but programming and computer manufacturing were just the medium. The foresight of these men is what led to their success (Paul Graham is a brilliant guy.)

Do you deserve to take a job from a younger, hard-working CS guy just because you are not satisfied with your career choice? Do you think that human progress is measured in dollars? Maybe what you need is some substance in your life other than phantasies of wealth and portfolio screenshots. If you had had the foresight of the successful men that you listed, then maybe you would already have "100 million," or more! (Are you married? Kids?)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: