tablesaw: -- (Real1)
Tablesaw Tablesawsen ([personal profile] tablesaw) wrote2015-03-23 10:51 am

A Call for Help from Tablesaw

Short version:

I've been laid off again, and I'd like help taking a month or so catching up with technology and programming, most likely with the goal of starting a new career, but also for my own fulfillment.

OK—deep breath—let me elaborate.

At the beginning of February, everyone in my department was called into a room at the same time despite being in offices across the country, and we were informed that our department was being outsourced. This has happened before. The last time it happened, I ended up working temp assignments pretty much immediately, and I worked continuously (though at temp-job salary) for about a year, when I got a permanent position. It was a good permanent position with a good salary, but everything's come around again, and my last day of work is on Friday.

I've been putting off planning what I'm going to do next, because up until last week, I'd been busy planning a wedding (mine, yeah, happened last week, sorry I didn't mention it here). But now, satisfactorily wedded, I'm turning my attention to the empty days ahead, and what I need right now is a lot of help.

See, I know that if I wanted to, I could go back to the placement agencies and go through the same cycle again, but because I do a pretty niche administrative job, outsourcing seems eternally inevitable. And it's not a job I particularly enjoy; the thing it had most to recommend itself was stability, and it's clearly lost that. I'm looking toward something new.

I'm skirting around this paragraph, because it feels like I'm giving into cliche. I want to get into programming!!!1! That's the hot new thing, right? I was at this pool party and a man leaned over and whispered into my ear, "Programming," and now I'm going to do something on the World Wide Web!

But it's more than that. I started programming when I was six, but I stopped in college when I shifted focus to arts and performance to help ease my growing depression. And as time went on, I fell more and more out of sync with things. The world became plug-and-play, and I got complacent. Through it all, I missed programming, but felt like I never had the time to bring my programming expertise literally out of the twentieth century. I know how to code, I just don't really know anything to code in any more.

The last time I was laid off, a friend encouraged me to shift to web development, and I was just about to start looking at Rails, but the temp work came in fast, and I let it all slide. I don't want that to happen again, so I'm telling the placement agency that I'm taking a month for myself to learn new skills. I've got a cushion from the severance package, so I don't need to worry about income immediately, certainly not for a month. So I'm looking at April, at least, as a catch-up month.

And now, I get around to the help. I am friends with lots of very smart people in all areas of technology and programming (psst, that's you), and I'm hoping that I can both get lots of help, but also spread that amongst a bunch of you, so I don't feel like I'm leaning too hard on anyone. Some things I'd like to hear your thoughts about right now:
  • What sort of programming should I be looking at doing? As I said above, I have a good friend who's pushing me strongly into doing webdev, which seems promising. But I know I have firends (who don't see me every week for gaming) in other fields who might want to stump for their own specialties. Any thoughts?
  • What references/manuals do you recommend? I'd like to get any books I should look for sooner rather than later.
  • What sort of technology am I going to need? I've got a cheap, basic prebuilt desktop computer that I bought at Staples five years ago. It has been intimated that I might need a laptop or something stronger.
But knowing myself, I think these next two are the most important:
  • What sorts of challenges can I set up for myself to drive learning?
  • Can I bug you for help and encouragement?
I know that I learn best when I can apply techniques to a specific problem, and it's hard for me to invent those out of thin air. And I'm always a little anxious about making direct contact with folks, so knowing that it's okay will help a lot.

I don't really know what's going to come of all of this. It's possible that at the end of all of this, I'm going to go back to doing the same kind of job, or shift to an administrative IT position, but I just want to feel like I'm caught up with everything.

Thanks for everything.
cnoocy: green a-e ligature (Default)

[personal profile] cnoocy 2015-03-24 12:31 am (UTC)(link)
I am happy to provide help and encouragement. My path to coding is a bit weird, so I'm not sure what to suggest.
cnoocy: green a-e ligature (Default)

[personal profile] cnoocy 2015-03-30 12:37 pm (UTC)(link)
I am always happy to answer questions about Oxen programming. Do you have gitlab access to the ox repository?
cnoocy: green a-e ligature (Default)

[personal profile] cnoocy 2015-04-06 11:12 am (UTC)(link)
Try:
git clone git@gitlab.com:tahnan/colonel_ox.git
on the command line in a directory where you'd like to work. If it's doing the correct thing, it should download the ox code to your computer.

[personal profile] lorelei 2015-03-24 01:11 am (UTC)(link)
I do a very math-y type of programming, which mostly centers around keeping track of large amounts of data and moving it around and massaging it into various shapes, in C mostly. I'm certainly happy to talk about if you have an interest in that.

One possible source of challenges in projecteuler.net, which is a collection of math questions/problems intended to be solved via programming. They're rated for difficulty so it's not too hard to find some at the right level to tackle.
seekingferret: Photo of me with my 2012 Purim beard, with stripes shaven into it. (Default)

[personal profile] seekingferret 2015-03-24 06:25 pm (UTC)(link)
I don't know how to program, but I'm sorry you were outsourced and I wish you the best.

[identity profile] devjoe.livejournal.com 2015-03-25 02:20 am (UTC)(link)
I mostly do Python. I've done a LOT of stuff in Python over the years (started in late 1996, when Python wasn't "the current big thing" or even "the next big thing" but more like "here's a nice new language"), including a bunch of the Project Euler stuff people already mentioned (which I will also recommend), a bunch of HTML/XML processing stuff (including current work as part of my job), image processing, some mostly pretty simple GUI work using tkinter, and I've even written a database-driven web site on Google App Engine using Python.

For whatever language you use, the Project Euler stuff provides good practice. The early problems are straightforward ones, and later on there are lots of problems where you have to figure out efficient algorithms for doing some calculation that a naive strategy will never finish. The math emphasis there does mean some kinds of things are left out, so you might take a look at Hackerrank to find some other kinds of challenges.

I have used some other languages as well, so you can try to bug me for help in whatever language, though I can't promise to know the details of other languages. I've never heard of this Oxen thing mentioned in the comments, though.
jadelennox: Demonic Tutor, Jadelennox: my Magic card (demonic tutor)

[personal profile] jadelennox 2015-03-30 12:28 pm (UTC)(link)
Webdev is very easy and has a ton of jobs, and has a huge range from back-end database-driven stuff to front-end HTML + CSS + JS. Other people seem happy in mobile app dev but I think that's a more unsure market. And then there's all the usual standards -- but webdev is the easiest entry point, IMO.

I've always relied on O'Reilly books as the best entry point if you don't know a specific better book for your topic, but once you pick a topic, ask again, and we might have other ideas! Your local library might have a Safari Books Online subscription giving you remote online access, though I personally prefer paper for learning new skills.

Learn to search StackOverflow for answers to specific questions, too.

You don't necessarily need a powerful computer if you're not doing graphics or anything powerful. You'll ideally want something that runs a unixy environment: Linux or OS X. Windows is a rough coding environment, IMO. I run a Windows computer with a virtual machine that runs Ubuntu for my coding, and that's the only reason I need power for my programming (the VM takes up disk space, and running it takes RAM).

* What sorts of challenges can I set up for myself to drive learning?

Either pick a simple app you want in your life that you'll actually use, and write it. Or pick an open source project you like that has a fix you've been wanting, and submit a patch. I always found that the first required more stick-to-itness than I have, but the second provides me enough social rewards to keep me with it. Sometimes. (It needs to be an open source project with a low asshole ratio and good social rewards.)

* Can I bug you for help and encouragement?

Absolutely, though I'm flaky about consistently answering. Nagging is welcome, because I know I'm a problem.
jadelennox: Senora Sabasa Garcia, by Goya (Default)

[personal profile] jadelennox 2015-03-30 12:31 pm (UTC)(link)
Also some people like codeacademy and codeschool very much, though YMMV. If gamification helps you learn, codeschool I think is the one that gamifies learning; they have less free than codeacademy.