Want to Write for Us?Read This | LoginBecome a Member
OS, Web 26
java

Why You Should Learn Programming (and Other Skills)

I love me some CSS, HTML, XHTML, HTML 5, PHP, and Flash (sorry iPhone peeps). I have devoted the last few years honing my skills while trying to become a reliable part-time web designer. I think all my hard work has helped me to be on the upper end of mediocre.
;)

Web development is a welcome break from my day job as a network engineer and recently I have started to learn JAVA programming.  I did not know I would fall in love with a programming language simply because I had never tried it. Programming was something I left for the ubber-nerds (and geeks). C++, Objective C, C#, and other languages always mystified me, and to be honest, intimidated me; until a potential career change came down the pipe.

Why Not?

A friend of mine told me if I learned JAVA he could get me into his company with a rather hefty salary. I talked it over with my wife and decided, “why not?” I submitted my resume and started learning JAVA.

I grabbed a book, a free web tutorial, and enrolled in a class. For $150 total, I  am very quickly learning one of the largest, most used programming languages in the world.

In turn, I am increasing my marketability in IT.

Something More?

About 5 years ago, I met a guy who created databases for a living (which used a JAVA front end, coincidentally). He created a database for a youth conference which allowed students to self register. It was pretty sweet. A student would register from home on the web. When they got to the conference, they could walk up to a terminal, punch in their name and birthday, and then the computer would display all the information they needed to know.

These terminals also let us know which name / ID badges to make so we would not waste money making ID’s for students who never showed. We were talking about this set up when I asked him how much he would normally charge.

While he did this work pro bono, he said something of this magnitude would start at $40,000.

$40, 000. That’s a “four” followed by FIVE zeros. In case you are wondering, that is more than my yearly salary. He saved our church forty big ones by using his God given gifts and talents.

What if we could do the same for our churches?

I am not saying we should seek to put hard working men and women out of a job by doing their work for free, or that everything we do for our churches should be without a cost attached to it. Their are many verses which say a laborer should be paid for his work.

I would argue that, in a lot of cases we should be willing and eager to help out our churches by doing free work. The church I attend currently has about 200-250 in weekly attendance. We cannot afford to pay out for programming needs. Since I firmly believe in the mission and vision of my church, it is my joy to help them in anyway possible. This includes using my knowledge of web, networking, and shortly, programming to help my church live out its vision.

Programmers and the Church

Who says you have to have a large church to have an iPhone app (Objective C) or to offer your members a well built portal (which could use both web programming and JAVA)? Why stop there?

What if you invented a Bible study application, or wrote a children’s video game?  What if you wrote a program that allowed parents to register their kids, check them in, and out safely on Sunday’s? Let’s think / dream big. What if you started a programmers small group in your church. You could talk about the needs, write programs together, and even teach your skills to others.

Maybe you could start a free programming class so suckers like me could save the $150 spent on classes and materials.

26 Responses to “Why You Should Learn Programming (and Other Skills)”

  1. May 25, 2010 at #

    hmmm, I am a java programmer. But you know, I just don’t want to do that at home, or even for the Church. Besides, we have too many java developers at my my church; probably all of them in my community group. Nooooooooooooo, how did that happen?
    Java aside, before we went for ProPresenter, my friend Ron (also in my programming group, agg I mean community group) wrote a VB app to do visual presentations, pretty cool, I say, except that it was in VB and not C++ (I concede that Java may not be the right choice for presentation apps like ProPresenter)

    • May 25, 2010 at #

      WE have only one JAVA dev at our church and a couple web guys. kind of the opposite. Is your church in Silicon Vally?

      I don’t blame you. I had to set up a print server for my church and was not exactly excited about it, especially when I found some IP issues.

      It’s hard to take that stuff home with you.

  2. May 25, 2010 at #

    There’s is an excellent Stanford course on iTunes U called “Programming Methodologies” that I’ve been following. It assumes no prior knowledge to any programming language or methods whatsoever and it’s very engaging. Best of all, it’s free! http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.stanford.edu.1615329425.01615329428

  3. May 25, 2010 at #

    When I was a system/network admin I always stated that I would never learn programming because I couldn’t imagine doing it all day. Then one day at my current job it was decided that I was going to learn so we would have someone to develop in house. Now I can’t imagine doing anything else. I love this stuff.

    I do need to expand my horizons beyond C#, Silverlight and all the web-related items. I guess JAVA is the next logical choice though Ruby on Rails has peaked my interests.

    I figure the better I become as a programmer/developer (is there a difference?) the more I’ll be able to do for my church as we grow.

    • May 25, 2010 at #

      Ruby on Rails seems to be the “next big thing.”

      I always thought programming was for the “big boys (and girls)” so I stayed away. Whenever someone would write a program or talk about it, I would tune out. Its nice to be able to stay with the conversation now.

  4. May 25, 2010 at #

    $40, 000. That’s a “four” followed by FIVE zeros.

    Not to offend… But I see only FOUR zeros. May be you should read this… ;)

    http://churchcrunch.com/the-before-you-hit-publish-blog-post-checklist/

    Any way good thinking!!!

  5. May 25, 2010 at #

    For anyone looking to start a new programming language, I’d highly recommend Python. It’s extremely simple to understand, but it has some very powerful features. Python can be used to create automated scripts, desktop programs, or web applications. I’ve worked with a wide variety of programming languages, but Python is my favorite by far.

    • May 25, 2010 at #

      Our district website is written in Python (Plone). Do not know much about it at all, except it does a lot and we do not utilize it to our fullest extent.

      Maybe after JAVA….

  6. May 25, 2010 at #

    I believe I’ll learn Flash so I can create the next great Facebook game. I’ll call it Churchville. Instead of harvesting crops, players can pass the offering plate and give altar calls.

    • May 25, 2010 at #

      If you do that, you will be my personal hero.

  7. JayCaruso
    May 25, 2010 at #

    This is something I need to do, but I have been loathe to do it over time, but like Don says, it would increase my marketability in the IT world.

    There’s just so many resources out there and often people, “Well here’s an easy one” and you find that it isn’t. I know it’s “easy” for me to build a domain server from start to finish, but somebody else wouldn’t think what I was showing them was ‘easy.’

    • May 25, 2010 at #

      I must say, I had to do a lot of research to find the best ways for me to learn. I got a head start book (by O’Rielly publishing) which helped, but assumed I knew more than I did. Then I enrolled in a class which assumed I knew nothing at all.
      Finally, I found an online tutorial which was good to a point. It was a little too geeky (lots of math…lots). All three have worked together to create a good environment.

      I tried several times to learn programming. It was not until I really invested time in it that I have been able to make any progress.

      If you have any questions about methods, let me know. I would love to help you get started.

  8. May 25, 2010 at #

    Hey everyone,

    More power to you. And instead of trying to just do everything yourself as a lone ranger, I believe a better way is to find an open source project that you’re interested in that needs help. “There’s nothing new under the sun” so to speak especially in programming and there’s almost always a project that has at least started what you want to do. Not only will you learn a lot about programming (both what to do and what not to do), you’ll also be supporting the (many times international) community and the Church instead of just you and your church. :)

    Even if you decide programming isn’t for you, you can still help out with documentation, logging bugs, doing early alpha/beta testing, advocating for it’s use in other organizations…lots of ways to help. Joining the community instead of being the lone ranger is one of the most rewarding reasons to use open source software.

    Happy coding,

    Kevin
    http://opensourcechurch.com

    ps. I’m a Java and otherwise web developer. Although web technologies are very accessible, I recommend taking courses so you can to build a good foundation. I’m sure there are other resources as well online or in books about design patterns and proven algorithms for your problem space that will help too. It’s not just about learning the syntax…

    • May 25, 2010 at #

      I love the idea of helping with opensource projects. Good word, good word.

      As for the post script, I agree. A class was really needed for me in combination with other methods.

  9. jared folkins
    May 25, 2010 at #

    Don,

    Another tip for newbs learning programming is to type-everything-out! No copy and paste, no fancy IDE, open up your favorite text editor (Vim = FTW) and get to work. And make sure to do it at LEAST 30 minutes eah and every day. Obviously longer would be better, but get into the routine.

    “What if you wrote a program that allowed parents to register their kids, check them in, and out safely on Sunday’s?”

    That is funny because I ended up creating a start-up from a similar problem that I saw at church.

    http://www.agapage.com

    Anyway man great post, it will be interesting to see how much of the community is into programming.

    • May 25, 2010 at #

      I agree with you, but one thing, the company I might end up working for told me I had to learn Eclipse because that is what they work in. Not a big deal, but in some cases you do need to learn an IDE. As for editors, I love PS Pad…just my opinion.
      I think 30 min a day is a good number for just starting out. Once I was able to create things, I found myself giving hours to learning. I would wake up in the middle of the night thinking about the syntax and then hurry to try it out. It was almost addicting.

      Your start up looks good man. That is a great idea! I love the name too. I like how you target more than just kids too (like schools and nursing homes). Brilliant sir!

    • May 25, 2010 at #

      I actually don’t agree that using an IDE will hurt you as a beginner. I think for the beginner, an IDE can really help you form good best practices for code formating, templates, etc. It also will help detect stupid beginner errors much more easily so you don’t waste so much time on the “missing semicolon” problem and other things that cause frustration instead of helping you to learn. Many times, I think it’s those simple things that cause people to think programming is hard. On the contrary, sometimes getting the IDE to work for you initially can really suck time especially if you’re new to the language and can’t figure out what’s going on.

      While I do both depending on my circumstance, I prefer the real time debuggers, code templates, formating tools and error checking of an IDE. It just helps make my job faster and easier. Of course, I prefer Eclipse because it is free, open source and one of the best if not the best reviewed IDE. It also has plugins for just about every mainstream language. If you haven’t tried it out, you should give it a shot.

      Kevin
      http://opensourcechurch.com

      • May 25, 2010 at #

        Oh don’t get me wrong, I use an IDE every single day. But when I was learning, I used the same methodology that I used while growing up playing instruments. Which is to sit down, and bang out on the instrument of my choice. Back then it was guitar, now it is a keyboard. I found that for me, muscle memory was extremely helpful in my learning process.

        My other thoughts about an IDE is that code completion is not good for a beginners. If the guy or gal really wants to understand the core concepts, then I think this is bad habit to start.

        Also, an IDE is another layer of abstraction (though eventually helpful) when kids first start learning. And I get a lot of questions because they don’t understand that their IDE is doing it some “magic” for them.

        Once the ground work has been set, I don’t mind graduating people to IDE’s as long as I feel they know what is going on.

        Anyway, just my take on it.

        -peace
        jared

        • May 25, 2010 at #

          I definitely see where you’re coming from. I have a feeling that whether one way or the other helps you has more to do with the learning style of the person rather than the inherent better-ness of one model or the other though. Maybe if some have problem with the one, they should try the other.

          Kevin
          http://opensourcechurch.com

  10. May 25, 2010 at #

    I disagree – but then I usually do :)

    I’ve tried programming (started way back when programming directly in assembly) and I just don’t want to do it. It bores me rigid and I can’t (personally) think of anything worse. Kudos to those who can or who want too but I don’t. I don’t have the time nor the inclination to learn and am happy doing what I do.

    My son is a code nerd and all power to him. He tries to get me interested but I just don’t care :)

    Here’s my approach. I can code a script or a batch file for necessary tasks at work but beyond that I’m not doing it. I love the hardware too much and love diving into the innards of a gadget and ‘adapting’ it. Funnily enough, my son doesn’t get that.

    Each to their own and I shall not be learning a prog lang any day soon.

  11. May 26, 2010 at #

    There’s one thing the books on programming languages don’t teach and that’s the discipline of writing good code.

    It’s easy to write bad code. It’s hard to write good code. The major difference between good code and bad code is that good code is maintainable. Bad code may do what the programmer who wrote it designed it to do, but no one else will be able to keep it up. Writing good code has lots of internal comments explaining what the developer was thinking. I had to learn this the hard way when I picked up code I had written six months prior and I couldn’t figure out what the heck I was thinking. That’s when I started commenting everything.

    All code needs mods eventually. I’ve seen too many custom-written little pieces that are important to the organization, but no body knows how to go in and change what that person did.

    So, by all means, have fun writing that nifty little program. But if it isn’t amply documented, both inside and outside, you may not be helping the organization in the long run.

  12. May 28, 2010 at #

    Thanks for the good post on making ourself better. This continue to inspire me to learn some programming language.
    I’m learning PHP and framework now…. may look into Java some day :)

Trackbacks/Pingbacks:

  1. Tweets that mention Why You Should Learn Programming (and Other Skills) | ChurchIT -- Topsy.com - May 25, 2010

    [...] This post was mentioned on Twitter by Don Dudley, ChurchInfoTech. ChurchInfoTech said: Why You Should Learn Programming (and Other Skills) http://bit.ly/aCVPkl [...]

Leave a Reply

Gravatar Image