As was foretold, we've added advertisements to the forums! If you have questions, or if you encounter any bugs, please visit this thread: https://forums.penny-arcade.com/discussion/240191/forum-advertisement-faq-and-reports-thread/
Options

Any computer programmers around?

KiTAKiTA Registered User regular
edited February 2010 in Help / Advice Forum
So I have an opportunity to go back to school, for free, based on the WIA program.

Dell closed my callcenter in November, putting about 600 people out of work, and the WIA worker retraining program apparently entails the following:

About $325 a week unemployment for 2 years
2 years of all expenses paid College

It seems like a no brainer, right? 2 years of free school, with about $10 an hour unemployment the entire way through?

There's a catch.

The same day I got laid off, I got a new job doing tech support for a company doing outsource work for AT&T. It's more or less the same as what I was doing for Dell, except it's work from home and consumer internet instead of business hardware. $14 an hour, so it's a tiny bit more than Dell, but it's quite a bit more stressful.

It's also temp work. I worry that it's "permanent temp" work -- i.e., I'll be forever "just almost but not quite" meeting goals to be brought on permanently. I seem to have acclimated to the work but still can't quite hit the goal of 9 calls a day every day -- I've been hovering around 7-8.

There's also the fact that honestly, I can't see me doing tech support forever. This is year 8 of phone tech support for me. I have the distinct feeling I'm wasting my time.

My 2 roommates were both Dell coworkers who got in on WIA, which is why I heard more about it. One of their classmates got hired at the company I work at now but quit after the first week, realizing just how completely pants on head retarded AT&T runs things. So I'm fairly certain, but still getting verification, that I could walk away from this job and go back to school.



Which leads me to my question about programming. Back in the day (about 8 years ago), I was going to a community college in my home state for Programming, a huge clusterfuck turned my AA in Programming to 2 AASes in "General IT".

I had a general knowledge of C, C++, Delphi Pascal, PHP, PERL, Java, Javascript, Visual Basic, etc. It wasn't expert level stuff, but I was good enough at it that I was tutoring all the programming classes at YVCC. I could have probably went into an intern or starting position on a team and gotten better.

Anyway. I was thinking of going back to shore up my Computer Programming skills, burn off the rust, and maybe get an AA with plans of going to a 4 year for a Comp Sci degree. However, every time I look at the computer programming market, I'm driven to find a stiff drink.

Is going into programming a mistake in this age of outsourced jobs?

My other ideas were horticulture (with plans on opening a vineyard / making wine) or graphic design with a minor in Japanese (translating manga) -- the idea being very generic degrees, that would give me options going forward.

Or maybe I should just try and find a better IT Support job than... ugh... tech support?

KiTA on
«1

Posts

  • Options
    DemerdarDemerdar Registered User regular
    edited February 2010
    Do you like math?

    Try going for a mechanical engineering degree. You get to program, get paid $60,000 a year, and can do some cool shit too.

    The only catch is, you have to get your degree first. which is serious business.

    Demerdar on
    y6GGs3o.gif
  • Options
    zilozilo Registered User regular
    edited February 2010
    CS is pretty generic too, you can do lots of things with it. Yeah, outsourcing sucks, but it's still a growing profession in the U.S. A better question is, do you enjoy programming? If you don't, getting a job as a programmer is an express lane to the crazy house.

    zilo on
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited February 2010
    KiTA wrote: »
    Is going into programming a mistake in this age of outsourced jobs?

    It depends on the discipline that you get into and how good you are at it. Programming jobs get outsourced but I've never worked anywhere or with anyone that didn't know and acknowledge that usually outsourced programming is of low quality and often reserved for mundane tasks.

    As such, the most commonly outsourced programming stuff that I've known are either small-medium websites or data-heavy enterprise software. Those are things that you don't want to do anyway.

    The short answer is that it is not a bad idea but you have to dedicate to it and give yourself the edge against outsourced competition.
    My other ideas were horticulture (with plans on opening a vineyard / making wine) or graphic design with a minor in Japanese (translating manga) -- the idea being very generic degrees, that would give me options going forward.

    Just know that getting a degree in graphic design is pretty much getting a degree in being a shift manager at Starbucks. There is a gross over-saturation of that market and a gross under-saturation of actual talent. I wouldn't go that route unless you are absolutely confident you can live off it.
    Or maybe I should just try and find a better IT Support job than... ugh... tech support?

    It's a tough ladder to climb. But a foundation in computer science or engineering would definitely help you move up the IT ladder.

    Jasconius on
  • Options
    Steel AngelSteel Angel Registered User regular
    edited February 2010
    Jasconius wrote: »
    It's a tough ladder to climb. But a foundation in computer science or engineering would definitely help you move up the IT ladder.

    I will definitely say from my current job search that companies view a comp sci degree as more than just programming qualifications. They (justifiably) assume that if you have that degree you have a lot of technical knowledge in general and can pick up even more. There are a lot of jobs that a CS degree will qualify you for that are not outsourceable like programming mundane stuff can be.

    Steel Angel on
    Big Dookie wrote: »
    I found that tilting it doesn't work very well, and once I started jerking it, I got much better results.

    Steam Profile
    3DS: 3454-0268-5595 Battle.net: SteelAngel#1772
  • Options
    nevilleneville The Worst Gay (Seriously. The Worst!)Registered User regular
    edited February 2010
    Jasconius wrote: »
    It's a tough ladder to climb. But a foundation in computer science or engineering would definitely help you move up the IT ladder.

    I will definitely say from my current job search that companies view a comp sci degree as more than just programming qualifications. They (justifiably) assume that if you have that degree you have a lot of technical knowledge in general and can pick up even more. There are a lot of jobs that a CS degree will qualify you for that are not outsourceable like programming mundane stuff can be.

    I would agree with this.
    Also, tutoring at a community college is good, but it also doesn't mean you're really that close to the level that is required for a lot of true programming jobs.

    If you have the opportunity to go back and get a stronger skill set, I'd definitely recommend it.

    neville on
    nevillexmassig1.png
  • Options
    TejsTejs Registered User regular
    edited February 2010
    There's nothing wrong with going into programming right now... the catch is that it has to be something you truly enjoy. If the thought of researching new technologies and learning them on your own doesn't sound like much fun, you may not go very far in your career as a programmer. A good piece of advice would be to find a facet of programming that you really enjoy and then try to specialize in that. Enjoy client applications? Or database programming / tuning? Even better is to learn to do both well.

    Like Jasconius said, only the really mundane stuff is outsourced, or only by manager that don't understand the business and is just bean counting (which means you really don't want to work for them anyways).

    Tejs on
  • Options
    KrikeeKrikee Registered User regular
    edited February 2010
    The IT industry is a tough market. People typically get a job because they're recommended. The best way to get your foot in the door once you secure an interview is to have pet projects to show off, or talk about. Tangentially related, you definitely need to pursue something you're passionate about. Not trying to be a prick, but 8 years in phone support? Business is business. If you're ready to move on you can't always wait for a new spot to open for you in your current organization.

    Krikee on
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited February 2010
    Tejs wrote: »
    There's nothing wrong with going into programming right now... the catch is that it has to be something you truly enjoy. If the thought of researching new technologies and learning them on your own doesn't sound like much fun, you may not go very far in your career as a programmer. A good piece of advice would be to find a facet of programming that you really enjoy and then try to specialize in that. Enjoy client applications? Or database programming / tuning? Even better is to learn to do both well.

    Like Jasconius said, only the really mundane stuff is outsourced, or only by manager that don't understand the business and is just bean counting (which means you really don't want to work for them anyways).

    This is the final answer.


    A profession in computer programming is only going to be enjoyable and rewarding if you have a personal initiative to research and improve yourself. In this sense, programming is a lot like playing an instrument or playing a sport. You get what you practice. As such, just doing your 9 to 5 isn't going to advance your career, because usually you are just doing repetitive stuff. Programming jobs where the job itself allows you to grow your skills in a meaningful way are rare and coveted. If it's something you want to do for the next 20 years, be prepared to spend more than a few nights and weekends at the keyboard.

    But that is no different than graphic design. The difference is you get paid real money as a programmer. Entry level graphic designers get treated like dogs assuming they even get hired in the first place.

    Jasconius on
  • Options
    TerrendosTerrendos Decorative Monocle Registered User regular
    edited February 2010
    I'm not super qualified to talk on this subject, but as a senior mechanical engineering student I'll tell you a few things I've heard and know:

    1. My Dad was a nuclear engineer, and today he's working as a project manager for an insurance company. Engineering degrees give you a whole lot of general knowledge and technical expertise. Moreover, your degree is basically a signed affidavit saying "I know how to solve problems." That's one of the reasons they're in such high demand.

    2. Computer Science is not an easy degree, especially if you're not great at math. At least at my school, Computer Science is about 1/3 electrical engineering, and the EE classes are all killers. No engineering degree is easy, really, but Comp Sci is way more than just programming.

    3. How well do you remember your Physics? Did you take Calculus? You may have to retake them, because most engineering schools either assume you already know basic Calc and Physics or have you take them during your Freshman year. I made the mistake of taking AP Calculus my junior year of high school, and I had forgotten so much I had to retake it my first semester anyway.

    Terrendos on
  • Options
    KiTAKiTA Registered User regular
    edited February 2010
    Well, I used to love coding, but ever since doing phone support... It's just so draining. I dunno if I can explain it to other people.

    There's a gag about the gynecologist's wife. She's feeling a bit randy, so she meets him at the door wearing an apron and a smile. His response, without looking up, is "God honey, if I see one more..."

    I haven't coded in like 7 years, ever since starting up the tech support grind. Maybe I should try to teach myself python this weekend and see if I find it enjoyable still.

    KiTA on
  • Options
    KiTAKiTA Registered User regular
    edited February 2010
    Terrendos wrote: »
    I'm not super qualified to talk on this subject, but as a senior mechanical engineering student I'll tell you a few things I've heard and know:

    1. My Dad was a nuclear engineer, and today he's working as a project manager for an insurance company. Engineering degrees give you a whole lot of general knowledge and technical expertise. Moreover, your degree is basically a signed affidavit saying "I know how to solve problems." That's one of the reasons they're in such high demand.

    2. Computer Science is not an easy degree, especially if you're not great at math. At least at my school, Computer Science is about 1/3 electrical engineering, and the EE classes are all killers. No engineering degree is easy, really, but Comp Sci is way more than just programming.

    3. How well do you remember your Physics? Did you take Calculus? You may have to retake them, because most engineering schools either assume you already know basic Calc and Physics or have you take them during your Freshman year. I made the mistake of taking AP Calculus my junior year of high school, and I had forgotten so much I had to retake it my first semester anyway.

    YVCC was CompSci when I started. By the time I finished, it was "Info Tech" and the thing basically was worthless.

    Here are the 2 AAS degrees I have. They're not exactly the same, but they're close enough:
    http://www2.yvcc.edu/it/support.html
    http://www2.yvcc.edu/it/general_degree.html

    Basically they shoehorned me into the AAS: IT Software Support and AAS: General Degrees (where my programming credits went to die), and I had 45 credits left over. I think they did it just to get me away from them before I realized how screwed over I was.

    I was going to just keep on as CS as a grandfather clause case, except when the woman who forcibly took over CS and rebranded it IT came on, 98% of the students and EVERY teacher quit. This should have been a huge warning but back then I was in a real fog.

    So no, I don't have ANY calc, physics, sciences, englishes, nothing but computer classes. The IT degree at the school didn't require them. The CS did, but not until year 2, and they shifted over to the new program at the end of my year 1.

    That was about when I discovered the new "IT" Degrees don't transfer to 4 years...

    Last I heard the woman who did all this had fled the state after they almost lost accreditation.

    KiTA on
  • Options
    InfidelInfidel Heretic Registered User regular
    edited February 2010
    Sounds like you got screwed big and didn't get a real Computer Science education, but it sounds like you're interested in it still.

    So if you have the money and the drive, I wouldn't say a 4 year degree is something you'll regret.

    Infidel on
    OrokosPA.png
  • Options
    KiTAKiTA Registered User regular
    edited February 2010
    Well 2 years would be free, assuming I do good scholarships and loans shouldn't be impossible...

    I'm gonna try to learn Python this week and see if it clicks. Who knows.

    KiTA on
  • Options
    RhinoRhino TheRhinLOL Registered User regular
    edited February 2010
    What do you like to do? Deal with people or deal with computers? I worked tech support. I hated that job even though I loved computers. I just don't like dealing with people. I would rather be creating something. That is something to think about.

    Also, long term, a programmer is going to be making more then tech support in most cases. What is tech support, $14 per hour? Programming varies in salary depending on who you ask but in most cases the pay is going to be greater.

    Also it's easier to outsource tech support then it is programming. Both can be, but programmers are usually higher in demand since it requires more education.

    There are different types of programming. Some people like high level stuff, like web design/development and people like nitty gritty bare bones stuff like ASM and programming embed hardware.

    I say go to school for 2 years since they are paying for it. Even if you don't go into programming you have "2+ year education" that'll make your resume go for more.


    edit: also, most CS degrees are 4 years. If you go for a degree, make sure it's a BS and not a BA. There is a lot of math, but that is what they are there for. It's not "here, learn calculus by next week". It's "we're going to spend an entire semester going over basic calc before moving on to more advanced topics"

    Rhino on
    93mb4.jpg
  • Options
    LegionnairedLegionnaired Registered User regular
    edited February 2010
    Check out ruby. It's basically a pretty version of Perl, about the same market share as Python too, I think.

    I second the posts about programming being a discipline and a practice - but I put in 9-5 and got promoted and am being trusted with the keys to the company because I'm really good at what I do - the 4 years I spent at Uni I was working on OSS projects and basically learning how to do things right, and that made me faster or better.

    I'm getting out with a BA in CIS, which is not a great degree, but its enough if your personality and enthusiasm sets you apart from the crap programmers whose jobs are getting replaced by outsourcing.

    Legionnaired on
  • Options
    KiTAKiTA Registered User regular
    edited February 2010
    Yeah, I've been told to look into Ruby as well, by programmers at Dell.

    Well, Python first. Will put in 8 hours of uninterrupted work on it tomorrow.

    KiTA on
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited February 2010
    It really doesn't matter what language you learn with, as long as it isn't Visual Basic or some other decrepit garbage (like Java, yeah I said it).

    The important thing is that you know learn how to effectively structure your code and design programs without resorting to myVar1; myVar2; myVar3; style programming.

    Learn about DRY (http://en.wikipedia.org/wiki/DRY) and multi-tier application development (http://en.wikipedia.org/wiki/Multi-tier_architecture) - down that path, greatness lies.


    Seriously, stay away from Java.

    Jasconius on
  • Options
    InfidelInfidel Heretic Registered User regular
    edited February 2010
    I usually disagree with many people and say that any language isn't bad to learn.

    Just because the more languages you work with, the more you "get" how computers and algorithms and such really work underneath, and you can apply your ideas to any language as you improve.

    Which is a good thing, just don't stick with what you end up considering the bad languages! :lol:

    Infidel on
    OrokosPA.png
  • Options
    Jimmy KingJimmy King Registered User regular
    edited February 2010
    If you think you'll enjoy programming, go back to school. A $14/hr temp job is nothing to throw away a future that can pay 2x that and more pretty regularly for.... assuming you also enjoy the future, higher paying job, of course. My experience with phone support (I've worked my way up from a 30-50 call/day phone support job, which was the most horrible thing ever, to a Director of IT position where I do all of the software design/engineering and most of the development at a small company) is that they are dead end jobs unless you push yourself to move ahead. You frequently don't get the experience you need to move into the higher level IT jobs in a company, especially if programming is where you want to go. If you're being given the opportunity to get at least some of the knowledge and experience for free plus get enough pay to live off of, go for it.

    I'd recommend having a look at Python, C#, and Java. Java has a lot of stupid shit, but it has some good things, and it's still the main programming language used for large corporate stuff on the Unix side of things. C# (and .net in general) is sort of the Java of the Windows world and much of it is what Java should be. I'm primaily a Linux Perl developer, but I still really like C# for some projects. Python seems to be becoming the next Perl - a high quality, high level, interpreted language that can be used for tons of stuff and work pretty well at most of it. I've seen some Perl developers (which is what I code in all day at work and many of my personal projects) say that Python is like Perl without most of Perl's problems.

    You'll need to be sure you enjoy it and do a lot of work on your own to make sure you truly understand it, though. There are plenty of programming jobs in the US, but you'll need to stand out from the crowd to be truly successful and a 2 year education in programming, while a great start, is only the tip of the iceberg.

    Jimmy King on
  • Options
    KiTAKiTA Registered User regular
    edited February 2010
    Been reading the official python tutorial from the docs off and on since yesterday. Dry as hell. Seems to really have a thing for lists.

    KiTA on
  • Options
    LegionnairedLegionnaired Registered User regular
    edited February 2010
    Yeah. Python is lisp, but they took out parens and added indentation. You'll know how annoying that is later.

    Try _why's poignant guide to ruby.

    Legionnaired on
  • Options
    soxboxsoxbox Registered User regular
    edited February 2010
    I'm a full-time employed ruby developer ('twas a java developer till I became the senior java developer and gained the influence to make the switch).

    One thing that I would recommend to anybody learning to program is to stay as far away from GUI programming as you can. Just don't do it. Learning to program by making a GUI will teach you so many bad habits that you'll likely never be a decent programmer.

    Start with console applications. If you want to put a GUI on something, make it a web page. The clear separation of layers inforced on you by the server / browser split will teach you more about GUI programming than any actual GUI programming ever will.

    soxbox on
  • Options
    LegionnairedLegionnaired Registered User regular
    edited February 2010
    soxbox wrote: »
    I'm a full-time employed ruby developer ('twas a java developer till I became the senior java developer and gained the influence to make the switch).

    One thing that I would recommend to anybody learning to program is to stay as far away from GUI programming as you can. Just don't do it. Learning to program by making a GUI will teach you so many bad habits that you'll likely never be a decent programmer.

    Start with console applications. If you want to put a GUI on something, make it a web page. The clear separation of layers inforced on you by the server / browser split will teach you more about GUI programming than any actual GUI programming ever will.

    Oh my god this. Event-driven code (read: GUIs) is basically a way to write glorified GOTO statements, except that the GOTO statements happen sometime in the future.

    You can't write good code that way, unless you're writing at 88mph, and it's nearly impossible to test.

    The nice thing about Ruby and GUI programming is that you can write a rails app that handles all of your application logic, and then spits out data in a .json format. From there, you can use something like ExtJs and have a rich web interface going with no goddamn trouble.

    Legionnaired on
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited February 2010
    I don't agree with that at necessarily.

    GUI programming does entice you to cheat, but starting with GUI programming is a lot like starting with an electric guitar as opposed to an acoustic.

    You might not be as mechanically disciplined, but at least you'll be interested and engaged in it, and the rest will come.

    Console application programming is boring in every way that something can be boring.

    You can make interactive applications that still have respectable logic and data layers.

    Jasconius on
  • Options
    RiemannLivesRiemannLives Registered User regular
    edited February 2010
    Jas, I strongly suspect that when they are talking about "GUI" programming they really mean "Web based GUI programming". Which is indeed a horrible backwater of hideous non-languages and aborted platforms like Javascript and DHTML that no-one should ever use for any purpose whatsoever.

    Now if they are actually referring to actual UI frameworks then yeah they are just talking out of their ass about things which they don't understand.

    RiemannLives on
    Attacked by tweeeeeeees!
  • Options
    soxboxsoxbox Registered User regular
    edited February 2010
    Actually, I am talking about desktop GUI frameworks and suggesting that a better place to start learning code is through client/server web development where a whole bunch of good practices are enforced on you by the fact that you CANT put your logic into your view layer by accident.

    I'm not saying that web development is better than desktop development, just that learning in a web environment will help you learn a lot about separation of concerns, modularity of code and communicating between layers that is very easy to ignore in a lot of desktop GUI frameworks.

    A multi-threaded event-driven GUI is not a place for beginners.

    soxbox on
  • Options
    KiTAKiTA Registered User regular
    edited February 2010
    So wxPython isn't worth looking at?

    KiTA on
  • Options
    bowenbowen How you doin'? Registered User regular
    edited February 2010
    soxbox wrote: »
    Actually, I am talking about desktop GUI frameworks and suggesting that a better place to start learning code is through client/server web development where a whole bunch of good practices are enforced on you by the fact that you CANT put your logic into your view layer by accident.

    I'm not saying that web development is better than desktop development, just that learning in a web environment will help you learn a lot about separation of concerns, modularity of code and communicating between layers that is very easy to ignore in a lot of desktop GUI frameworks.

    A multi-threaded event-driven GUI is not a place for beginners.

    I have yet to see a course in programming that started you at GUI development other than visual basic. Even then, the programmer degree (as opposed to the other CS degrees) took intro to C++ before it and did the command line coding anyways.

    From a programmer's perspective, as long as you're not too overly concerned with pretty GUIs and fancy controls, who cares if your output is to a text box as opposed to stdout stream.

    But yeah, programmers, pick up a good sockets programming book and learn it. It's way more important than learning how to use the graph data-structure. That's my helpful advice for today.

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited February 2010
    soxbox wrote: »
    Actually, I am talking about desktop GUI frameworks and suggesting that a better place to start learning code is through client/server web development where a whole bunch of good practices are enforced on you by the fact that you CANT put your logic into your view layer by accident.

    I'm not saying that web development is better than desktop development, just that learning in a web environment will help you learn a lot about separation of concerns, modularity of code and communicating between layers that is very easy to ignore in a lot of desktop GUI frameworks.

    A multi-threaded event-driven GUI is not a place for beginners.

    I would support this.

    Web applications are a good place to start. They are easy to make, easy to publish, and they pretty much cover all bases from beginner to the lower echelons of "advanced" unless you make something hella complex/popular.

    The thing about web programming though, is that for every good tutorial about web application design and programming, there are about 20 to 25 bad ones.

    Web technologies have become so abstracted from their technical roots that a lot of completely unqualified voices have a platform to push concepts that are actually pretty bad, because they simply don't understand them. See: 95% of the Flash community, anyone who has ever used Cold Fusion, about 60% of people who use jQuery.


    The key to not sucking in the web is to focus less on the frills and get a true understanding of the shoulders upon which you stand to get an app showing up in someones browser. This means understanding resource management, application design, etc, and less on just googling for disparate tutorials and slapping code together. Learn to walk before you run.

    Jasconius on
  • Options
    soxboxsoxbox Registered User regular
    edited February 2010
    bowen wrote: »
    But yeah, programmers, pick up a good sockets programming book and learn it. It's way more important than learning how to use the graph data-structure. That's my helpful advice for today.

    This is much more to the point that I had in my head. Understand network communications. Once you do that, you'll be in a much better position than most of the programmers that I've ever had to deal with.

    soxbox on
  • Options
    PracticalProblemSolverPracticalProblemSolver Registered User regular
    edited February 2010
    soxbox wrote: »
    Actually, I am talking about desktop GUI frameworks and suggesting that a better place to start learning code is through client/server web development where a whole bunch of good practices are enforced on you by the fact that you CANT put your logic into your view layer by accident.

    What web technology doesn't let you put logic into the view?

    PracticalProblemSolver on
  • Options
    ZekZek Registered User regular
    edited February 2010
    Jasconius wrote: »
    Tejs wrote: »
    There's nothing wrong with going into programming right now... the catch is that it has to be something you truly enjoy. If the thought of researching new technologies and learning them on your own doesn't sound like much fun, you may not go very far in your career as a programmer. A good piece of advice would be to find a facet of programming that you really enjoy and then try to specialize in that. Enjoy client applications? Or database programming / tuning? Even better is to learn to do both well.

    Like Jasconius said, only the really mundane stuff is outsourced, or only by manager that don't understand the business and is just bean counting (which means you really don't want to work for them anyways).

    This is the final answer.


    A profession in computer programming is only going to be enjoyable and rewarding if you have a personal initiative to research and improve yourself. In this sense, programming is a lot like playing an instrument or playing a sport. You get what you practice. As such, just doing your 9 to 5 isn't going to advance your career, because usually you are just doing repetitive stuff. Programming jobs where the job itself allows you to grow your skills in a meaningful way are rare and coveted. If it's something you want to do for the next 20 years, be prepared to spend more than a few nights and weekends at the keyboard.

    But that is no different than graphic design. The difference is you get paid real money as a programmer. Entry level graphic designers get treated like dogs assuming they even get hired in the first place.

    You definitely have to learn most everything on your own in software development, both in college and work, but I'm not sure why you say you have to do it all on your own time. If you're using the knowledge in your current job, you can research it on the clock. If you're not then why spend your time learning it when you don't know if you'll ever use it and you'll have no practical experience to get a job in that field? Only a really shitty job will leave you coding mundane crap with no room for advancement ever unless you walk up to your boss and explain to him what you've been reading over the weekend.

    Zek on
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited February 2010
    Zek wrote: »
    Jasconius wrote: »
    Tejs wrote: »
    There's nothing wrong with going into programming right now... the catch is that it has to be something you truly enjoy. If the thought of researching new technologies and learning them on your own doesn't sound like much fun, you may not go very far in your career as a programmer. A good piece of advice would be to find a facet of programming that you really enjoy and then try to specialize in that. Enjoy client applications? Or database programming / tuning? Even better is to learn to do both well.

    Like Jasconius said, only the really mundane stuff is outsourced, or only by manager that don't understand the business and is just bean counting (which means you really don't want to work for them anyways).

    This is the final answer.


    A profession in computer programming is only going to be enjoyable and rewarding if you have a personal initiative to research and improve yourself. In this sense, programming is a lot like playing an instrument or playing a sport. You get what you practice. As such, just doing your 9 to 5 isn't going to advance your career, because usually you are just doing repetitive stuff. Programming jobs where the job itself allows you to grow your skills in a meaningful way are rare and coveted. If it's something you want to do for the next 20 years, be prepared to spend more than a few nights and weekends at the keyboard.

    But that is no different than graphic design. The difference is you get paid real money as a programmer. Entry level graphic designers get treated like dogs assuming they even get hired in the first place.

    You definitely have to learn most everything on your own in software development, both in college and work, but I'm not sure why you say you have to do it all on your own time. If you're using the knowledge in your current job, you can research it on the clock. If you're not then why spend your time learning it when you don't know if you'll ever use it and you'll have no practical experience to get a job in that field? Only a really shitty job will leave you coding mundane crap with no room for advancement ever unless you walk up to your boss and explain to him what you've been reading over the weekend.

    I think you would be surprised at how rare being able to bill research is in any meaningful quantity, unless you are in an in-house company which usually means you ain't doing much advancement anyway.

    The only companies I know of that actively pay their employees to just learn shit and work on pet projects are start-ups who are trying to gin up talent or extremely wealthy/stable companies that can inject some risk in having a dude sit around for a day out of the week and just fool around with no guaranteed bottom line consequence.

    Jasconius on
  • Options
    ZekZek Registered User regular
    edited February 2010
    Jasconius wrote: »
    Zek wrote: »
    Jasconius wrote: »
    Tejs wrote: »
    There's nothing wrong with going into programming right now... the catch is that it has to be something you truly enjoy. If the thought of researching new technologies and learning them on your own doesn't sound like much fun, you may not go very far in your career as a programmer. A good piece of advice would be to find a facet of programming that you really enjoy and then try to specialize in that. Enjoy client applications? Or database programming / tuning? Even better is to learn to do both well.

    Like Jasconius said, only the really mundane stuff is outsourced, or only by manager that don't understand the business and is just bean counting (which means you really don't want to work for them anyways).

    This is the final answer.


    A profession in computer programming is only going to be enjoyable and rewarding if you have a personal initiative to research and improve yourself. In this sense, programming is a lot like playing an instrument or playing a sport. You get what you practice. As such, just doing your 9 to 5 isn't going to advance your career, because usually you are just doing repetitive stuff. Programming jobs where the job itself allows you to grow your skills in a meaningful way are rare and coveted. If it's something you want to do for the next 20 years, be prepared to spend more than a few nights and weekends at the keyboard.

    But that is no different than graphic design. The difference is you get paid real money as a programmer. Entry level graphic designers get treated like dogs assuming they even get hired in the first place.

    You definitely have to learn most everything on your own in software development, both in college and work, but I'm not sure why you say you have to do it all on your own time. If you're using the knowledge in your current job, you can research it on the clock. If you're not then why spend your time learning it when you don't know if you'll ever use it and you'll have no practical experience to get a job in that field? Only a really shitty job will leave you coding mundane crap with no room for advancement ever unless you walk up to your boss and explain to him what you've been reading over the weekend.

    I think you would be surprised at how rare being able to bill research is in any meaningful quantity, unless you are in an in-house company which usually means you ain't doing much advancement anyway.

    The only companies I know of that actively pay their employees to just learn shit and work on pet projects are start-ups who are trying to gin up talent or extremely wealthy/stable companies that can inject some risk in having a dude sit around for a day out of the week and just fool around with no guaranteed bottom line consequence.

    I'm not talking about pet projects, I'm talking about getting better at your job. As an entry level programmer you won't have any say in what technologies are being used, so all you need to do is learn the ones you're using and increase your productivity so you'll be assigned better projects. When you're higher up and the decisions on which technologies to use are up to you, then they better damn well let you research it on the company dime. Learning new technologies on your own time is unlikely to pay off in a job - a competent developer can learn anything relatively quickly, general skills and practical experience are more important when interviewing. You make it sound like every developer in the company is just an entry level code monkey forever until they quit and get hired somewhere better.

    Zek on
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited February 2010
    Have you worked for a major corporation before? :P

    You get hired if you can do the job, and you do the job. Period.

    There's no switching from Java to Python if its better, or from PHP to .NET if such and such a feature exists. It is what it is until someone wearing a tie with an MBA says they are switching.

    And yeah, let's say a change is made, they won't fire everyone (except most or all of the contractors), the people who are left will get sent to a conference or two but other than that they are thrown into the fire.

    The more you spend in your own time, the better you will be when that time comes.

    I think advising people to just kick back and count on a company to nurse you along your career is bad advice even if it's just partially counting on them. You have to do it yourself, and often on your own time. More often than not.

    Jasconius on
  • Options
    cliffskicliffski Registered User regular
    edited February 2010
    couldn't agree more, don't outsource your career progression and technical knowledge to your employer. Often they don't get a hoot about your long term career. Only you can take charge of that.

    cliffski on
  • Options
    bowenbowen How you doin'? Registered User regular
    edited February 2010
    If you can get ahold of a job where you're in control of the decisions in what, how, and what language it's programmed in, hold onto that job like your life depends on it.

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    ZekZek Registered User regular
    edited February 2010
    Jasconius wrote: »
    Have you worked for a major corporation before? :P

    You get hired if you can do the job, and you do the job. Period.

    There's no switching from Java to Python if its better, or from PHP to .NET if such and such a feature exists. It is what it is until someone wearing a tie with an MBA says they are switching.

    And yeah, let's say a change is made, they won't fire everyone (except most or all of the contractors), the people who are left will get sent to a conference or two but other than that they are thrown into the fire.

    The more you spend in your own time, the better you will be when that time comes.

    I think advising people to just kick back and count on a company to nurse you along your career is bad advice even if it's just partially counting on them. You have to do it yourself, and often on your own time. More often than not.

    So if you're working for a company like that, what are you expecting will happen if you take on a couple pet projects? You might have a wider arsenal of skills but you won't have job experience to demonstrate it to future employers anyway, and odds are they won't be using the same technologies you worked on either.

    Zek on
  • Options
    SmurphSmurph Registered User regular
    edited February 2010
    Going to college for 2 years on the government's dime and trying to get a CS degree sounds much better than hoping a temp tech support help desk position works out.

    I went into my first year of college as a CS major with almost zero programming experience, no calculus, and only basic high school physics. School was very challenging and I put in very long hours sometimes, but I made it through and loved it. If you make it through your first 2 or 3 programming classes and you still like programming, I would say that Computer Science is the major for you. As far as calculus, just study your brains out and hopefully get through the classes. You probably won't need to use calculus in any actual programming job unless you specifically seek out jobs like that.

    The job market isn't crap for software engineers, it just went from extremely good back down to normal.

    Even if CS winds up not being for you, you will still be in college. You will have taken some general required classes like math, english and physics. You can change majors and get a degree in something else without starting over completely.

    Smurph on
  • Options
    Jimmy KingJimmy King Registered User regular
    edited February 2010
    Zek wrote: »
    Jasconius wrote: »
    Have you worked for a major corporation before? :P

    You get hired if you can do the job, and you do the job. Period.

    There's no switching from Java to Python if its better, or from PHP to .NET if such and such a feature exists. It is what it is until someone wearing a tie with an MBA says they are switching.

    And yeah, let's say a change is made, they won't fire everyone (except most or all of the contractors), the people who are left will get sent to a conference or two but other than that they are thrown into the fire.

    The more you spend in your own time, the better you will be when that time comes.

    I think advising people to just kick back and count on a company to nurse you along your career is bad advice even if it's just partially counting on them. You have to do it yourself, and often on your own time. More often than not.

    So if you're working for a company like that, what are you expecting will happen if you take on a couple pet projects? You might have a wider arsenal of skills but you won't have job experience to demonstrate it to future employers anyway, and odds are they won't be using the same technologies you worked on either.
    I keep a publicly accessible from the web, read only SVN repository with the code for my personal projects. I also make a working version, either compiled app or functioning website, available when possible. I make sure every potential employer I talk to get the URL before, during, and after an interview.

    Jimmy King on
Sign In or Register to comment.