Ask HN: How to begin a career in programming
It seems frustrating because I work so much with a job that barely pays me to survive. I like programming mostly web development and want to find ways to get into this field.
I live in Seattle and I'm an African student. Things just seem hard right now because I don't know where to begin this journey and how much time it'll take.
9 comments
[ 3.3 ms ] story [ 37.5 ms ] threadDo you have any college under your belt? I went back to school when I decided to switch careers (I was a banquet manager at the time).
> how much time it'll take
I already had a few years of undergrad (completely unrelated to tech...I was a Political Science major "the first time around") so I pretty much didn't need to take any classes outside of my major and it took two years to complete (that was with working full time). Started my first job as a developer just a couple months before I graduated.
I ask because I am in a similar situation: already got a degree and could graduate with a C.S. degree in a little less than two years.
My biggest concerns were 1. finding suitable internships and experience in such little time 2. condensing four years of C.S. courses into two without much "slowdown" aka easy other courses; rush rush rush as opposed to quasi leisurely learning and 3. job prospects as this would cost like $20,000 in tuition alone.
While I was in school I worked at a smallish-but-growing startup in tech support. I used what I was learning in school to write a couple apps that made our department's work a little easier...this was as good as any internship as when I was going through my first [dev] job search most interviewers were far more interested in discussing that than anything I did in school.
> condensing four years of C.S. courses into two
That depends on your situation...I was fortunate to have enough credits transfer that I was able to knock out the remaining in ~2 years
> as this would cost like $20,000 in tuition alone
I'm still a very junior engineer (~3 years) and make more than triple what I averaged in my previous career - I wouldn't worry too much about $20K. If you're really worried about money you may want to look at WGU[1] (where I went) which is pretty cost-effective.
[1] http://www.wgu.edu/
I'm just having difficulties deciding whether going to school for two years outweighs teaching myself and eventually taking a bootcamp.
If you wouldn't mind... What do you think?
The degree is useful for getting past HR - most of the people that actually matter in a hiring decision (engineers/managers) don't care. Which isn't to suggest a degree is worthless - you [hopefully] learn what you'll need to know to make a positive impression on the people that matter...but it's entirely possible to do that without a degree (it'll probably just be a little harder to score interviews).
In my first search (as I approached graduation) interviewers barely asked about anything directly related to what I did in school (they were far more interested in side projects I did in my own time and the stuff I created that I mentioned above) - in my second/most-recent search it never came up at all, it was all about what I did at my then-current job and [more recent] side projects.
I'm trying to rationalize quitting my part-time non-tech job at the post office but perhaps college ain't the hottest option.
Congratulations on following through and biting the bullet to make your life better through programming.
Projects, ho!
I've read mixed things on bootcamps, but have definitely heard some have fairly high hire rates - it was something I considered but my personality usually favors a potentially harder/longer path with a higher chance of success rather than the quick/easy route. If you feel comfortable/confident in a bootcamp go for it.
People will respect you for putting that aside and focusing on the task at hand. Marshall McKusick is gay, his husband, author of sendmail, is gay. We know them for their achievements.
People draw types unconsciously. Make sure people associate you with being an engineer and your accomplishments.
Find an environment that blocks out distractions. A library. A place with free wifi and headphones. Get over ear headphones to block out the outside.
Pick up a web framework like Rails, Laravel or Django. Then go to elance and work your way up. Checkout craiglist and look for for junior level positions.
Keep practicing. Install Linux (Ubuntu, Mint or Debian is fine.)
Short on cash? Get a used Thinkpad.
Are you eligible for FAFSA? You can use that to spend on a laptop.
Use permissively licensed software wherever possible. It's commercial-friendly and doesn't reinvent the wheel. Reinventing the wheel is your worst enemy.
Later on, depending on when you want to. Learn C, and learn it well. We are breeding a generation of programmers that only understand higher level programming languages and won't understand the internals of how programming and deep systems work.
5 years from now, it's the systems programmers who will be in power - since we'll be saturated golang / rust / python / node programmers. Bubbles will bust; expect it.
In any event, as you specialize yourself - carve out a profitable niche that people actually need. These often may not be popular or cool, but those things can be more lucrative than you think.