Irrsinn.net: taking joy in human unreason

Beginner Developer: Where to Start?

I just can't get enough of curious goats.

I have a friend who’s looking to become a marketable developer fairly quickly, but is essentially trying to go from zero to hero. Despite starting a project in Python to randomize wedding slideshows, he’s never really done development, nor does he understand its core concepts (classes vs. objects, for instance).

He kinda just needs a job, plus the ability to make useful tools for himself.

Folks are telling him Java and *.NET, and I (mostly) agree for the simple purposes of 1) easy desktop or web development, and 2) using keyword-heavy languages to reinforce programming concepts. Not strong reasons, no. If he just wanted a job, I’d recommend UI development.

Plus, for marketability in Charlotte, NC–home of plenty of Big Banks–diving into quasi-enterprise development can get you a cube (albeit maybe shared) and a comfortable paycheck. Good luck finding a Python gig here.

But where does he start? I told him to pick a problem to solve (preferably one of his own), then sent him to the “Trials Covering the Basics” to get started, followed by Java EE 6 tutorials.

My initial programming experiences involved a lot of trial and error and fun ideas for projects and classroom instruction, all rolled together. I still remember “making” a pizza ordering application in

  • Michael

    Host Gator seems interested in people just because they have Linux knowledge. For entry level, it seems like they intend to have to train people anyways, so depending on the place, a good understanding of like HTML & JS, for places that are mostly front end, or if it’s mostly enterprise stuff, Java, and maybe Spring + Hibernate (and a general understanding of what ORM is). No matter what, MVC (goodness aren’t we tired of it yet?) as it’s typically implemented on the web, source control, maybe skills with like macros in a text editor for getting some tedious stuff done quick and dirty. SQL, some gui for it. Maybe an understanding of some of the common architecture stacks for web applications.