Follow Slashdot stories on Twitter


Forgot your password?

Ask Slashdot: How Does an IT Generalist Get Back Into Programming? 224

CanadianSchism writes "I've been in the public sector for the past 6 years. I started off doing my work study in web design and a bit of support, eventually going through the interview process to fill in a data processing technician post, and getting the job. The first four years of my work life were spent in various schools, fixing computers, implementing new hardware, rolling out updates/ghosting labs, troubleshooting basic network and printer problems, etc. I was eventually asked to work on the administrative information systems with an analyst, which I've been doing for the past 2 years. That's consisted of program support, installing updates to the pay/financial/purchasing/tax/energy systems, taking backups on SQL servers, etc. I've never had the opportunity to take time for myself, and jump back into my first love: programming. I've picked up Powershell books (have two here at the office), but haven't gotten anything down yet, as there are always other projects that come up and whittle my attention to learning a language down to zilch. This new year will see a change in that, however. I'll be setting aside an hour every day to devote to learning a new language, in the eventual hope that I can leave this company (take a sabbatical) and hop into the private sector for a few years. My question to you all is, what language should I start with, to learn and get back into the principles of programming, that will help me build a personal portfolio, but will also lend to learning other languages? At this point, I'm not sure if I'd like to make/maintain custom applications, or if back-end web programming would be more interesting, or any of the other niches out there."
This discussion has been archived. No new comments can be posted.

Ask Slashdot: How Does an IT Generalist Get Back Into Programming?

Comments Filter:
  • Re:simple (Score:5, Informative)

    by 19thNervousBreakdown ( 768619 ) <davec-slashdot AT lepertheory DOT net> on Tuesday December 18, 2012 @05:24PM (#42330409) Homepage

    Yep. Ain't no other way. Write stuff.

    Even better, write stuff that's hard. Read stuff. Read really complicated stuff, and try to make it do other stuff. Nothing will teach you good programming practices like knowing why you follow them, and nothing will tell you why like seeing the hell that comes of not following them, which any large project is almost guaranteed to contain plenty of examples of. From misnamed or misused variable/functions, to multiple (and therefore slowly diverging) implementations of the same logic, to spending weeks reinventing something already solved in your programming language's standard library because they didn't like the order of arguments on a function, to bringing in a massive overcomplicated framework to solve a simple problem due to a too-strong avoidance of NIH (not that you shouldn't beware of NIH, you just shouldn't let it lead you into trying to pound a space shuttle into a square hole), you'll see it all.

    Fix some bugs for a large FOSS project. Pick things that are just slightly over your head, and then pretend someone's breathing down your neck to get it done yesterday. Pick a project where you don't just get to commit changes, find something where your code is reviewed before it's accepted. You'll find a lot of honesty in people that aren't getting paid and don't give a shit about alienating you, and if you can handle a bruised ego you'll learn a lot.

    One thing I wouldn't suggest doing is writing code for other people on your own, not right away. It's not that you shouldn't do that eventually, just don't do it when you care more about accomplishing your goal than you do about learning until you've got some good habits firmly established. Otherwise, your bad habits will just become reinforced, since they're usually easier especially when you're only looking at your own code, and to to be honest, you probably don't know the difference between a good habit and a bad habit until you've worked on a large project with a lot of people.

    The best thing about working on FOSS projects is, you'll actually be able to demonstrate work to future employers. That goes a long way in an interview or on a resume.

  • Niche languages? (Score:2, Informative)

    by Grashnak ( 1003791 ) on Tuesday December 18, 2012 @05:56PM (#42330793)

    Progress may be slow, but going the C then C++/C# route seems to be more marketable than niche languages like Ruby, Python, or even perl.

    1995 called. Your C books are in.

    You might want to look up the definition of niche, cause I don't think it means what you think it means.

  • by Emperor Shaddam IV ( 199709 ) on Tuesday December 18, 2012 @08:24PM (#42332181) Journal

    Actually, the hourly rate and what a contractor makes depends on a lot of factors. I've contracted a lot ( almost 10 gigs in my career ) as an LCC, Sub Chapter-S corp and as a W-2 Employee ) and basically:

    1. You can setup a sub-chapter S corp and work for a company as another corporation.
    2. You can just do 1099 self-employeed as sole-propritor, LLC or partnership if you have others involved.
    3. You can work through a contracting company as their "employee" where they pull out the FICA, Social Security, etc and provide benefits at a cost to you and you get billed at X dollars an hour and get paid X - Y dollars an hour ( Y being the contracting companies cut ).

    There are probably other options I don't know about.

    So when someone says 100 bucks an hour, it doesn't mean much until you look at HOW they are earning 100 bucks an hour: W-2 or Independent as S-Corp, self-employed, etc , how they are filing their taxes, what expenses and other deductions they are taking, etc. In fact, I would say that at least in my experience I actually earned more of the rate as a sub-chapter S then any other way. Its just some extra work to keep track of all the expenses, run your own payroll, pay estimated taxes, file taxes and make sure you take all the deductions for the right expenses, etc.

    Also rates depend very much on skills and demand. 100 dollars an hour is not that unrealistic. SAP and other ERP software packages and specialists can easily go over 100 an hour even being paid as a W-2 employee no matter where you are.

    On the other hand, if a programming language or skill is "saturated" with a lot of programmers and the supply of talent exceeds the demand, rates drop like bricks. This seemed to happen with Java a few years back. I had some people calling me offering 30-40 bucks an hour for Java. I either ignored or laughed at most of them. Thankfully Java rates seem to be going up again, although I'm not doing much Java these days so I can't comment on what the going rates are for Java right now.

    But the previous post was right. You have to "live" it. Even when I take time off between jobs, I spend some time reading technical books, checking out new languages, and writing code to keep my skills current. An hour a day probably isn't enough to learn a new language.

Vitamin C deficiency is apauling.