Slashdot Mirror


Ask Slashdot: Best Options For Ongoing Education?

An anonymous reader writes "Lately, with the volatility of the economy, I have been thinking of expanding my education to reach into other areas related to my career. I have a computer science degree from Purdue and have been employed as a firmware engineer for 10+ years writing C and C++. I like what I do, but to me it seems that most job opportunities are available for people with skills in higher level languages such as ASP, .NET, C#, PHP, Scripting, Web applications and so on. Is it worth going back to school to get this training? I was thinking that a computer information technology degree would fit the bill, but I am concerned that going back to college would require a lot of time wasted doing electives and taking courses that don't get to the 'meat' of the learning. What would you do?"

92 of 149 comments (clear)

  1. Don't go to school for languages... by Kenja · · Score: 5, Insightful

    Just learn them. School will only teach you one specific set of solutions to a problem rather then teaching you to problem solve. If you want to learn another language, just do it. Sit down, think up a simple application and write it.

    --

    "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    1. Re:Don't go to school for languages... by Anonymous Coward · · Score: 1

      I agree with your advice, but I'm compelled to point out that your assessment of school is specifically for tech schools. A good college is a bad choice for the submitter for the opposite reason: it'll teach how to solve problems, but usually without regard to whether the languages or platforms used look good on a resume. (Then again, I'm always wary of a tech person who automatically dismisses electives as a waste.)

    2. Re:Don't go to school for languages... by Anonymous Coward · · Score: 2, Insightful

      I thought school was supposed to teach a framework for solving problems, instead of the solutions to specific problems.

    3. Re:Don't go to school for languages... by ubergeek2009 · · Score: 1

      Not at my school.
      In my degree I take courses from multiple departments: engineering mechanics,electrical eng,mech eng, physics, computer science,writing courses, and a few liberal electives(I took two american history courses and first semester german) There were no classes, that I took at least, that didn't allow reasonable amounts of questioning, unless a student was just being ridiculous.

    4. Re:Don't go to school for languages... by thoughtlover · · Score: 1

      I agree with the parent. You already have knowledge on low-level programming and many basic concepts firmly-grounded. School is only going to cost you more money, in the long run. It sounds like you have the propensity to self-educate and there are many free, online courses for you to choose from --even be graded on. Don't waste money on what you can learn in your free-time.

      --
      No sig for you! Come back one year!
    5. Re:Don't go to school for languages... by jellomizer · · Score: 1

      Getting a Computer Science Degree is good, but it isn't about learning how to program in the newest hottest language. It is about Computer Science, Theory, Methodologies, Styles and Best Practices. Now this is good because it gives you a strong foundation to be a really good programmer, not sweat about learning new languages, and knowing where to focus your mental attention on (Meeting the requirements vs. Just getting it to work)

      Now if you have years of experience and no degree, there could still be value in getting a degree, however chances are you would be better off just learning the language yourself. Give yourself some personal projects and work on a language you don't know.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    6. Re:Don't go to school for languages... by Jane+Q.+Public · · Score: 1

      "Just learn them."

      Further, I would say don't learn PHP, unless you are just studying the basic principles of how Web applications work.

      I'm not saying any one language is perfect. But PHP is primitive and has a collection of built-in methods with woefully inconsistent syntax (parameters). Personally I consider it less of a "language", than a hodgepodge of inconsistent utility functions. You learn PHP not via the principles of its design, if any, but merely by memorizing the functions you need and the parameters they accept. Also, object-orientation was tacked on long after PHP had become a thing, and the language shows it.

      People will tell you that there is a huge installed base of PHP, with lots of jobs for PHP programmers, and that's true. But that happens in the evolution of any successful language: it becomes popular, it develops an established base, lots of useful things are built with it. THEN, when something better comes along, all the good jobs are still with the old language... for a while. But only for a while.

    7. Re:Don't go to school for languages... by JoeMerchant · · Score: 1

      Just learn them.

      I am taking a "free online" course in programming Android for Mobile Handheld Systems. I can deal with passively listening to the lecture videos, I can deal with looking up the information required for the quizzes, but I have to draw the line at jumping the hoops required for the automated lab grading system. For the time invested in figuring out what hoops these guys want me to jump through, I can finish writing my own app, learn how to color outside their lines, and generally get a better education in App programming for the same time invested. If I thought I "needed" that grade, I'd have to waste an awful lot of time and brainpower to get it.

      I'd much rather show impressive working original Apps than a certificate from a course showing that I can jump prescribed hoops.

    8. Re: Don't go to school for languages... by techprophet · · Score: 1

      I'm currently in university (a public American one, no less!) and this has not been my experience with the cs and math professors. The physics ones...hit or miss. tl;dr blanket statement not always true. More at 11

    9. Re:Don't go to school for languages... by rwa2 · · Score: 1

      (Then again, I'm always wary of a tech person who automatically dismisses electives as a waste.)

      Rings true... when I went to get my MSSE degree (funded by my employer), the most fun classes were actually the electives. One of the first classes I took as an ASS ("advanced special student" prior to getting on a degree track) was a signals analysis class where we learned about z-transforms and fourier transforms... stuff that I had already been familiar with after years of staring at Winamp / XMMS / Milkdrop spectrum analyzers and had assumed would be covered in my undergraduate engineering maths program at some point... but never was.

      The mainline degree courses actually tended to be the most inane and least relevant to anything I wanted to do professionally. Though unexpectedly one of the best ones happened to be the Engineering Finance course which explained all about double bookkeeping and debt asset ratios and all that stuff that I always turned a blind eye to. It was right after the Arthur Anderson scandal, and the educator was a really stellar and engaging accountant who was let go after that fiasco. But maybe that just speaks to how mundane the rest of systems engineering seems in comparison.

    10. Re:Don't go to school for languages... by bemymonkey · · Score: 1

      All that Fourier transform stuff is more of an EE thing... I just took the exam (theory of signals, I think it would be called in English) here in Germany and it was freakin brutal.

      Getting a small taste of the subject in an elective would have been preferable ;)

    11. Re:Don't go to school for languages... by GigsVT · · Score: 1

      I take issue with the idea that a CS degree at most schools would give you the foundation to be a good programmer.

      There's far too much emphasis on math, and far too little emphasis on what really matters in software. I will never ask one of my employees to solve a partial differential equation. But I will ask them to write maintainable code (even simple shit like don't copy and paste big blocks of code seems to not be taught at all) and to consider usability and UI at every step.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    12. Re:Don't go to school for languages... by GigsVT · · Score: 1

      Learning to write good PHP code would be a huge benefit, since it seems to be a rare skill, and as you point out, the language gives you plenty of rope to hang yourself with.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
  2. Your degree will suffice. by Anonymous Coward · · Score: 5, Insightful

    Just start learning the new languages. You'll be surprised at how easy they are to pick up when you already have programming background..

    IMO: You'd waste time & money going back to school.

    1. Re:Your degree will suffice. by crashumbc · · Score: 1

      Pretty much anything requires a 4 year degree now. (yes, you can "get away" without one but you limit your options and make your life more difficult)

      If your trying to jump into the programing field it depends what your current degree/job experaince are to the best approach.

    2. Re:Your degree will suffice. by rjune · · Score: 3, Informative

      There is another alternative. I went back to school because if I'm doing something on my own, life tends to get in the way. Taking a class forces me to do the work. That being said, that is the situation that applies to me. Perhaps you have more self-discipline and learn effectively on your own as other posters have suggested. However, you don't have to earn another degree. Just enroll as a non-degree student and cherry pick the courses you would find useful. Just because you a CS degree doesn't mean that you have to go to a 4 year college. I have an MS in Computing, but I'm taking some courses at technical college (2 year college). Go for the knowledge you think is useful for your goals and career. Good Luck!

    3. Re:Your degree will suffice. by crutchy · · Score: 1

      but a degree is a foot in the door... it's proof that you meet the minimum requirements of a programmer (that's the assumption anyway)

      it's very difficult to prove your worth without one... i develop software professionally but (legally) i can't demonstrate that software to a new employer so i'm limited to verbally describing how awesome it is.

  3. I suppose, but by TheRealMindChild · · Score: 4, Insightful

    If that's what you want to do, sure. But these PHP/C#/Web folks are a dime a dozen. You already have experience in something specialized. There may not be many jobs per se, but there aren't many people to fill those. Move into driver development or embedded system programming. You will be able to transfer current skills and you won't face saturation like in the higher level languages.

    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    1. Re:I suppose, but by SJHillman · · Score: 1

      Generalization == many jobs, much competition, low(er) pay
      Specialization == fewer jobs, less competition, much higher pay

      At a previous job, we had an in-house programmer who pulled the third-highest salary in the company because the in-house app was written in some little-known variant of an old version of Visual Basic. However, it got to the point where a total rewrite was on the drawing board because that language didn't work well well with the APIs of other software we were starting to use, and a web-based interface was starting to make more sense as our sales force became more mobile and we expanded to more branch offices. It didn't help that I, the lowly sysadmin making less than a third of what he did, had to teach him VB.NET and did the initial web interface and software installer myself.

    2. Re:I suppose, but by stevegee58 · · Score: 3, Informative

      I second this. I'm in a specialty like OP, embedded software in C/C++. Like OP I've been feeling the heat due to economic slowdown, defense cuts, sequestration, etc.
      After looking into switching software fields to web/database I decided to stick with embedded. The fact is that there is still a demand for embedded software and I'd have to take a significant pay cut to switch out of it. I guess it boils down to if you want more *perceived* job security at lower pay or to take your chances at higher pay.

    3. Re:I suppose, but by biobogonics · · Score: 1

      You already have experience in something specialized. There may not be many jobs per se, but there aren't many people to fill those. Move into driver development or embedded system programming.
      Metro Detroit and the auto industry have started to come back from the dead. Look for real estate bargains in Oakland or western Wayne County. Ann Arbor is nice too.

    4. Re:I suppose, but by scorp1us · · Score: 1

      If he wants to get into web development, it may not be popular, but learn Wt (http://webtoolkit.eu). It's a C++ library for web dev and the results are amazing. I think of everyone used Wt the web would suck 50% less. Its a joy to work in, and you don't have to know too much about all the web to get started. You start by coding an application, then the library takes care of rendering it to the web, using ajax whereever. Its quite amazing.

      --
      Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    5. Re:I suppose, but by GigsVT · · Score: 1

      Someone who knows PHP and Javascript really well is not a common thing. If you do go the web route, focus on the JS more than the server side, since that's where things are actually happening these days. Learn how to write JS that doesn't leak DOM nodes or memory (for god's sake, please). Half the JS libraries out there leak like a sieve.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
  4. Definitely not . . . by Kimomaru · · Score: 3, Insightful

    This is probably one of the few professional areas where going to a formal educational institution is a waste of time and money. There is SO much by way of online resources that you can use to self-teach, communities to ask questions (like StackOverflow), and practical projects that you can do to learn programming. If your aim is to learn another language, consider yourself extremely fortunate. Decide which language you're interested in, get a good book, start an SO account and get started.

  5. Learn on your own. by pwnstar23 · · Score: 1

    First of all its really easy to learn a new language after you mastered one, especially c++, since it's sort of low level. Second, all you need is a book and a few hours a week and you'll learn a new language in a month or so. You should be competent in that language by then. Third, going back to school would be way over kill, it's not that big of a deal to learn a new language especially going from c++ to C# since c# is based on c++ with the c style syntax. The only other thing that pops up is getting to know .net, but that's not hard due to reference sites like msdn.com.

  6. Appologies by holophrastic · · Score: 1

    Ok, that came out a little harsher than I'd intended. Let's blame it on passion.

    1. Re:Appologies by holophrastic · · Score: 1

      And yet, I put my name behind my words. Gives them some weight. You might try not running away from yours.

    2. Re:Appologies by holophrastic · · Score: 1

      Umm, yes I did. It is. It's on my tax forms and everything. I'm interested in knowing how the hell you thought that you could dis-authenticate my name simply by reading it here? How the hell would you know what my name is?!

      In either case, it's irrelevant. There's no confusion that I'm the same person as I was moments ago. You, on the other hand, I have no way to know if you are the same poster or a different one.

      you can lol all you like. I don't believe that you're actually laughing.

  7. community college by i.r.id10t · · Score: 3, Interesting

    I am concerned that going back to college would require a lot of time wasted doing electives and taking courses that don't get to the 'meat' of the learning

    If you really want to get into teh web development side, I'd check out your local community colleges. All your gen ed stuff (english, math courses, history, etc) from your prior degree(s) should still count, so you'd just need to do the core classes for the AS degree you are interested in. You should be able to finish up in 3 or 4 semesters, if that.

    --
    Don't blame me, I voted for Kodos
  8. Industry Problem by ltrand · · Score: 5, Insightful

    Background: I am an adjunct instructor and an IT professional. As such, this is a common discussion topic.

    The education industry, meaning colleges and universities, need a way to "add on" additional skill emphasis to degrees without requiring whole new degrees. I think, instead of detracting from current products (associates, bachelors, masters degrees), this will add revenue abilities from lifetime learning requirements that tech people have.

    For Example: BSCS, Purdue University, 1990
    CS Advanced Programming Topics, Coursera, 2013.

    This would allow people to add the 2-3 courses that they need to refresh their skills, get students into the halls paying tuition (out of pocket, or company money), allow current students to brush up and work with more experienced folks IN CLASS, and show what HR is looking for, current accredited skills improvement.

    But we seem stuck in the past. So we have to suffer through $1,000 a day "boot camps" that still require you to do a lot of on-your-own learning. We NEED something better. Colleges, be they 4 year or community, need to have programs that carry through the whole career ladder for skills improvement. I think that will help all of us overcome the "no training dollars this year" dilemma we constantly find.

    1. Re:Industry Problem by blindseer · · Score: 1

      While investigating options for going back to school I found that a university not far from me offers something like you describe. If you have a BS/BA from them they will allow adding majors to your degree after the fact. At least that is how I understand it. I assume other colleges and universities have similar policies. What it does is allow one to return to the university and take classes there after graduating, once one has satisfactorily met the requirements of the second major their transcript would be updated to state a second major was met for the degree.

      If someone wants to just take courses in the same major they graduated with years prior there would not be a piece of paper reflecting that outside of the transcript. I'd think that would be sufficient for employers.

      Certification entities like CompTIA require continuing education. Keeping current means presenting proof of continuing education. I assume college courses relevant to the certification would be acceptable for continuing education. Perhaps what you are saying is that colleges and universities need to coordinate with certification entities to make this seamless and worthwhile (generally translated as profitable) for everyone. Perhaps colleges and universities could get in the business of offering certifications directly.

      I'm thinking that what you suggest is being offered, just not by the traditional education system, or perhaps just not in the exact form that you describe.

      --
      I am armed because I am free. I am free because I am armed.
  9. Chicken/egg by mrchaotica · · Score: 2

    But these PHP/C#/Web folks are a dime a dozen.

    Yes, because there's apparently much more demand for them, so more people develop those skills. I'm currently doing .NET/web stuff specifically because I couldn't find work writing C. (And I'm entry-level, so it's not as if experience was a factor -- in fact, I wrote C & Fortran in my research assistant job while at school).

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  10. And if you can't think of an application ... by oneiros27 · · Score: 3, Insightful

    ... or if you don't want to just write a toy program that you're going to throw away, then find some open source project that you can contribute to.

    Or check Code For America (or whatever the equivalent is in your country) to help out on local projects ... then you're also networking in your area, if you're looking for a new job.

    Go to school for learning the fundamentals of programming ('this is a variable', 'this is a function'), or maybe to get a deeper understanding of different styles of programming (procedural / functional / OO / event-driven, etc.) ... but for learning languages you're often better off working on a project you care about and maybe finding a support community (local users group for that language, or the support community behind that project) or a mentor (eg, someone else from that project)

    If you're one of those people who learn better from structured education ... then maybe look into a MOOC or community college. This is not one of those situations where shelling out university prices is appropriate.

    --
    Build it, and they will come^Hplain.
    1. Re:And if you can't think of an application ... by andrewr1969 · · Score: 1

      I'd +1 this answer: find an open-source project, but find one the right size to feel like you are making a difference. I never managed to break into WordPress - the FLOSS I probably use the most - however, doing some scripting (Google Apps Script) for a organisation I volunteer for I've really got into what a fantastic little language JavaScript is and ended up working on a little project with just a few of us contributing (Flubaroo). I'm hoping to start earning with JavaScript eventually - watch this space ...

    2. Re:And if you can't think of an application ... by maitas · · Score: 1

      Also, +1 this answer.

  11. What problem by dietsip · · Score: 1

    You have it backwards. Don't find a solution when you don't know the problem. It's easier to figure out what type of problems you are interested in solving and get the necessary training to solve those types of problems then the other way around.

  12. Hoax or Idiot? by fygment · · Score: 1

    WTF, sounds like you want to give up a job you like because ... there seem to be opportunities for people with other skills?
    People with the skills needed to work as a teller in fast food joints are also in demand.

    Got a job you like? Upgrade on your own time, take some courses, and use your industry network to let people know you've got the extra skills. THAT will get you variety and maybe move you up/around in your current company.

    --
    "Consensus" in science is _always_ a political construct.
  13. No. Learn on your own time for FREE by Morpeth · · Score: 1

    There are so many great online professional sites with tips, tools, tutorials, etc., plus great publishers like WROX press, O'Reilly etc if you want to go that route. I tend to do both

    The bulk of my development skills were self-taught or learned on the job, I don't even have a CS degree (I changed career paths), and I work exactly in the areas you described; C#, ASP, .NET, SQL, etc.

    Seriously, I don't think it makes sense, and for gawd's sake DO NOT, I repeat DO NOT, go to place like Phoenix or Capella, they are a joke and not a single person in IT I know puts ANY value on those kinds of places.

    --

    'The unexamined life is not worth living' - Socrates
  14. Emerging Technologies by Ex-MislTech · · Score: 1

    A master's degree might open some doors closed to a 4 year degree.

    I'd focus on emerging technologies if you want a big break.

    The things that are about to disrupt the current paradigm.

    https://en.wikipedia.org/wiki/...

    --
    google "32 trillion offshore needs IRS attention"
    1. Re:Emerging Technologies by Ex-MislTech · · Score: 1

      synergize his ROI... omg a buzzword troll.

      The emerging technologies are real, your
      acronym spam is a humor repeat that has
      been use a few times...

      --
      google "32 trillion offshore needs IRS attention"
  15. Re:Free and Inexpensive Alternatives to College by jonyen · · Score: 1

    Ditto. I'm also watching the video archive for the Compilers class from Stanford and it's been really helpful to understand more of the underlying structure.

  16. Re:the 'meat' of the learning by TechyImmigrant · · Score: 1

    Electives and minors are what makes US graduates less marketable that graduates who could focus on their core subject.

    --
    I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  17. Best Options For Ongoing Education? by Cornwallis · · Score: 1

    An open mind.

  18. Re:Electives? by i.r.id10t · · Score: 1

    If you already have your BS why would you go back for another? If you want to further your education you go back for a MS. What you want from the content of your question however, sounds like you need a couple hundred dollars worth of reference books and some free weekends.

    The problem with learning this way is that you need the motivation. Either because you need the new skill/language to complete some part of a paying job or project, or because it scratches a particular itch or fills some need you have.

    Taking a course, even at a community college, where you've paid for the course, paid to be evaluated (tests/projects/labs throughout the course/semester/term) and you've paid to recieve a grade is sometimes the only way to get truly committed to learning the skill or completing the course work.

    --
    Don't blame me, I voted for Kodos
  19. Re:Purdue is useless, Get a refund. by holophrastic · · Score: 4, Interesting

    I feel your pain. I actually went into, and then out of OO programming. The issue is that while it's a perfect technique for some very specific directions, it's horrible for solving real-world business problems.

    You, specifically you, need to look at OO programming much differently. Then you'll find it quite easy to use. It's not actually any different than procedural programming. It's simply a collection of encapsulated procedural mini-programs. That's it. It's exactly the same code, it's just called differently. It's the same function/subroutine, it's just launched/triggered/executed with a different syntax.

    The reason it's horrid for most business problems is simply because business problems are solved by figuring out how to sequence individual and often disparate tasks. Whereas OO is designed to solve problems where the same task needs to be solved countless times and the sequence is almost irrelevant.

    If you've always tried to use OO for business tasks, then your struggle wasn't with the hammer, it was with how to use the hammer to turn a screw. But if I were to give you a nail, you'd suddenly understand how to use the hammer quite instinctively.

    If you still/ever need someone to walk you through it, let me know. I'm happy to help.

  20. PHP by webtron · · Score: 2

    Your best option here is PHP. There is tons of PHP work out there to be had and it is cross-platform so you won't be locked into MS.

    PHP has had a bit of a renaissance lately and being based on C you'll be right at home with lots of job opportunities.

    Just start taking PHP contracts. No need to go re-educate yourself to do something simpler than what you were doing.

    1. Re:PHP by l810c · · Score: 1

      I got my BS in MIS and started with Cobol on a Mainframe at a big bank in Atlanta in the 90's.

      I've since moved on to VB, C#, pretty much the whole MS stack.

      Things got a little slow ten years ago and I got into the LAMP stack to make ends meet.

      There is nothing wrong with it and it worked quite great for everything I did at the time.

      What did I do at the time? Small projects.

      A lot of big corporations are "locked into MS".

      I've got a couple of sweet corporate projects going with the MS stack, I just don't see the corporate penetration on LAMP. Over all, I would say much better opportunity for better $$ with MS stack.

  21. Udacity by mycroft822 · · Score: 1

    I've found Udacity to have some pretty good online CS classes. They have been expanding into other areas as well lately, but their focus has mainly been CS. I thought the Web Applications class was really well done. Python is even my new favorite scripting language because of it.

  22. Re:the 'meat' of the learning by the+phantom · · Score: 1

    [citation needed]

  23. graduate certificates by moniker · · Score: 3, Informative

    The education industry, meaning colleges and universities, need a way to "add on" additional skill emphasis to degrees without requiring whole new degrees.

    They are called graduate certificates. You take a couple of graduate level courses, and you get a graduate certificate. Often, you can get a certificate while you are on the path towards a masters.

    1. Re:graduate certificates by Anonymous Coward · · Score: 1

      The University of Washington calls these kinds of programs Professional and Continuing Education, and it's an expanding area. I'm sure other universities have similar programs. As an example of what's available at UW, and to get a sense of what's out there, check out www.pce.uw.edu/computing-it.html. (Full disclosure: I work at UW, but not in PCE.)

    2. Re:graduate certificates by ltrand · · Score: 1

      While true, they are limited in usefulness. The real point is that continuing education is not even really a focus of current colleges. Besides which, many graduate certificates carries their own "not really required" requirements and precludes community colleges, what most of us could actually afford out-of-pocket.

    3. Re:graduate certificates by j2.718ff · · Score: 2

      The education industry, meaning colleges and universities, need a way to "add on" additional skill emphasis to degrees without requiring whole new degrees.

      They are called graduate certificates. You take a couple of graduate level courses, and you get a graduate certificate. Often, you can get a certificate while you are on the path towards a masters.

      Or, if you don't need a piece of paper, you can just find classes that interest you, and take them.

      Where I work, tuition reimbursement exists if you are enrolled in a degree or certificate program -- it's much harder to get the company to pay for a single class. For that reason alone, graduate certificates are great.

    4. Re:graduate certificates by frinkster · · Score: 2

      The education industry, meaning colleges and universities, need a way to "add on" additional skill emphasis to degrees without requiring whole new degrees.

      They are called graduate certificates. You take a couple of graduate level courses, and you get a graduate certificate. Often, you can get a certificate while you are on the path towards a masters.

      Yes, absolutely. I live in Chicago so both Northwestern and U of Chicago have these programs. They are outstanding. And expensive. Generally, expect about $1000-1500 for a 3-4 month class that meets once a week. They are a large profit center for the universities, but that is a good thing - you are paying a lot for a good experience and they are delivering a good experience. Real professors that have received high marks for teaching ability. Books that are the standard for that subject matter. Quality course content, etc.

      The networking opportunities are unreal - each class will have accomplished but curious and friendly people from a wide variety of companies and industries. The type of person that looks down on anyone without a masters degree is off getting a masters degree and the type of person that feels that they have already finished their education is at home watching TV. The people in these classes are the ones you want to meet. Mid-level or so and definitely going places.

    5. Re:graduate certificates by vandamme · · Score: 1

      Exactly what I did 20 years ago, at National Technological University (now Walden), using satellite feeds and mailed VHS tapes. I got the USAF to pay for it, during job time.

  24. My situation is slightly different by sentiblue · · Score: 1

    I'm in similar but slightly different position.... I went to a well-known university but didn't have a chance to finish my degree. I've been working as an datacenter operations linux system engineer for some 10years now... I want to move up to management but without a degree it seems to hard. Additional life pressure has added on... now that I'm married and have a baby. I still wanna go back to college and get an MIS degree... and hopefully MBA if I still have time after that... It just seems that after a day of working and dealing with family requirements... there isn't much time left for academic activities... am I just being a lazy ass?

    1. Re:My situation is slightly different by volmtech · · Score: 1

      Yep, lazy. At the age of 46 I decided to try college. My boss let me take two days a week off and I had night classes two other days after work. I still got in almost 40 hours at work with long days and working Saturdays. I only did it for one semester but I did get a raise and put on salary.

      My 29 year old son in law needs one more semester to complete his AA. He could move up to management then but he wont make the effort.

  25. Re:Electives? by Ex-MislTech · · Score: 1

    Well if he wants to move from code/developer to software engineer on some project
    that has government ties that requires higher level degrees to higher level pay
    then its viable.

    The area that is seeing the most growth is the emerging tech list I posted earlier.

    --
    google "32 trillion offshore needs IRS attention"
  26. Two important thoughts by prefec2 · · Score: 1

    First, if you want to learn new programming languages, just do so. Your education in CS should have given you the necessary skills to do so. In the end there are only a few paradigms and concepts present in all the languages you mentioned. Nothing you did not already have in some way in university or school.

    Second, it is true that there are more openings in those areas. However, there are also much more competitors for those jobs. Most students learn Java or at some strange universities C# and .Net. Furthermore, people who like to code a little often start with PHP, Python or Ruby for their web thingy. This all results in a lot of people able to "code" in these languages and with the associated frameworks. And they are cheap. Cheap as in "I am fresh from college/university and need the money" cheap or in "I am a college drop out and need the money" cheap. Therefore, it might not the best to wast your time in becoming a member of that pool of coders. Better improve your skill level in embedded systems. And there is definitely a lot to learn even at university. Especially if you have only a bachelor degree.

  27. You can pick these skills up from online courses and self-study. College would through you in with a bunch of software engineering newbs and cost you way more than you need to spend.

  28. Re:the 'meat' of the learning by TechyImmigrant · · Score: 1

    Not needed. It's bloody obvious.

    --
    I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  29. All Programmers Need Continuing Education by stargazer1sd · · Score: 1

    My rule of thumb is that most everything you know now will be useful, but mostly obsolete in ten years or less. That makes extracurricular learning a constant and ongoing process. There are a multiple ways to accomplish this. The best way will depend on your learning style. The areas you study will depend on both your interests and available opportunities.

    You already have a Bachelor's from a good school. An additional degree in computer technology isn't going to deliver a lot of value. You've been working in embedded systems, which can be its own little world sometimes. But at least where I live, good opportunities abound. If you like it, you can stay there, or you can branch out. I moved from embedded, to systems software, to application software. I still like embedded programming.

    If you want to branch out, it's vital that you know your goal. It can be exploratory, or it can be more concrete. There's room for both. But, be prepared for some major time commitments. You can find lots of resources for self directed learning with a little searching. If you need a classroom setting, Extension courses are good resource, albeit expensive. Don't forget to check your local community college. Our local CC offers an excellent introduction to the Java programming language. It's always filled.

    Online tutorials in most subjects are plentiful, and there are more traditional books and study guides. Study groups are another resource, if you find a good one. They have the advantage of expanding your social and professional network too.

    My personal mix is mostly books, online articles, and fiddling around doing something useful for someone else. I also attend a couple of conferences I find particularly useful. However, I do appreciate that there are times when a structured approach is best. I find it most useful in abstract areas like UML, or other methodologies and particulary complicated subjects like optical engineering. You get to determine what's best for you. There's no canonically right way.

    --
    Play it cool, play it cool, 50-50 fire and ice.
  30. Re:the 'meat' of the learning by Ex-MislTech · · Score: 1

    Not that high on the list of concerns for the heartless corporations.

    Half or more of the corporations that act like they have a heart are acting.

    In the bottom line oriented world that is unfolding core knowledge
    of your skillset is what they are looking for, that and teamwork.

    --
    google "32 trillion offshore needs IRS attention"
  31. Re:the 'meat' of the learning by baka_toroi · · Score: 1

    But I don't want a heart, I want to improve my skillset

  32. Write better firmware! by K.+S.+Kyosuke · · Score: 2

    Given how difficult it is to replace firmware, and how crappy a lot of it is, I would have thought that the world needs more (and not fewer) firmware developers.

    --
    Ezekiel 23:20
  33. Just post your resume by pla · · Score: 1

    As a former firmware engineer myself, let me assure you that the rest of the coding world views us as the elites-of-the-elites. Yes, you need to know SQL and Javascript to get a job these days, but if you can pick those up (you can), you'll have a distinct edge over virtually everyone else applying for whatever job you want.

    And in case you wondered - Yes, you do have it harder than the rest of the coding world. Shit, I could sleep through my 9-to-5 and still outperform most of my peers at writing user-space code. Like a cool breeze on a hot summer day, 80% of the pay for 5% of the frustration. You won't look back!

    Just a warning, though... We tend to suck at GUI design. Fortunately, you'll have no trouble finding members of your "team" that actually want the "glamor" of arguing with management about typefaces and colors. ;)

  34. Learn Network Load Balances and a Web Framework by nevermindme · · Score: 1

    Both are quick to pick up and in highest demands and really have zero impact if visualization keeps accelerating. 100% US English is also great to have. Christopher Hull 219 613 3785

  35. Just languages by khellendros1984 · · Score: 1

    Unless I'm missing something, those are just languages. Learn the basics and start writing your own projects in the one/ones that interest you. I was hired as a C++ developer, but I've been required to learn Perl, Ruby, and Bash scripting to perform my job. Picking up a new language isn't a big deal, provided you have sufficient motivation to do it.

    You've got a CS degree from a good school. If you can claim a language on your resume and back it up with code, then I don't see a reason that you'd need to go back to school just for that.

    --
    It is pitch black. You are likely to be eaten by a grue.
  36. C++ puts you at an advantage by Anonymous+Codger · · Score: 1

    If you know C++, you have the fundamentals and then some. Picking up Java, C#, etc. will be something you can do in your spare time over a couple of weeks. I know, because I was hired as a Java programmer on the strength of my C++ experience, in spite of having written only one tiny Java class. I read an ebook and was productive immediately. Granted, it took a lot longer to learn all the rest of the ecosystem, like HTTP and all the godzillions of available libraries, but it wasn't hard.

    --
    No sig? Sigh...
    1. Re:C++ puts you at an advantage by ThatsDrDangerToYou · · Score: 1
      ^-- This. Java and C# are both very easy to transition into from C++. You have the knowledge of OO concepts and also the (often lacking) knowledge of real-time, close to the metal issues. What I did was move into medical device work from embedded development / consumer electronics. It seems that C#/.NET is a dominant platform in med devices, though also some Linux here and there.

      You may need to make a job transition to get real experience that expands your breadth. From what I have seen, if you stay with firmware you will be mostly stuck with C/C++/custom micro stuff. .. or go the mobile route.

  37. Colleges time tables are poor for ongoing educatio by Joe_Dragon · · Score: 1

    Colleges time tables are poor for ongoing education and there needs to be a some kind of badges system that makes taking classes to refresh / learn new skills add up to some thing and not just that nice but it's not an degree from HR.

  38. college needs to change and HR needs to drop the by Joe_Dragon · · Score: 1

    college needs to change and HR needs to drop the need it to get a job part.

  39. I would view it as a red flag on your resume. by whatthef*ck · · Score: 2

    In my experience, the best programmers all have one (among others) critical skill: They have the ability to pick up new languages, APIs, technologies, etc., quickly and on their own. The fact that, after 10+ years as a programmer, you see ASP, .NET, C#, etc. as so formidable that you feel (apparently) that you might learn them more efficiently by sitting in a classroom and being spoon-fed would give me pause if I were considering hiring you for any developer position.

    1. Re:I would view it as a red flag on your resume. by whatthef*ck · · Score: 1

      In my own defense, I wouldn't have any problems picking up a new language. The issue is that employeers word job postings so that they can find the perfect candidate. I doubt they would consider an engineer that dosnt have experience in the 12 languages they were looking for, even though I would be completely capable of doing the work. This is why I would consider formal education, rather then learn-it-on your own.

      You must not have much experience hiring developers. The "perfect candidate" is something you *might* encounter once or twice in your career. (By "perfect", however, I don't mean bullet points on a resume. They're barely better than useless.) And if you had extensive hiring experience, you'd know that the competition you're facing as a candidate is not all that fierce.

      I've always used a "hardware vs. software" analogy, both when I pitched myself to prospective employers for a job that my background may not have been a perfect fit for, and when I've screened candidates for hiring.

      If you had your choice between a free state of the art 64-bit laptop with 16GB RAM, that had only the OS and maybe a few utilities, and a free 32-bit 5 year old laptop with 4GB RAM, loaded with a useful applications, which would you choose? You can add software to to the new laptop, but you can't make the old one fast and powerful by today's standards.

      To me, the bullets on a resume are analogous to software. But that ability to attack and solve difficult problems and overcome obstacles no matter what, without making excuses, is special. It seems that people either have it or they don't. That's why I consider those abilities part of a person's hardware. (Or firmware, if you will.) I want people who have those abilities.

      Lacking knowledge of a particular language should not be viewed as a difficult obstacle to overcome, especially considering the resources that are readily available online for free. Whether it's your motivation or not, for an established professional developer to resort to university courses to learn a language would indicate to me, perhaps incorrectly, a certain passivity that would not weigh in his favor as a hiring candidate.

    2. Re:I would view it as a red flag on your resume. by Antique+Geekmeister · · Score: 1

      I'm afraid I deal with the debris of those "best programmers" on a weekly basis. They sometimes write brilliant, insightful, paradigm shifting core projects. Unfortunately, they then abandon supporting them or get switched to another task.

      It's up to the rest of us to unfurl the unnecessary recursion which is throttling performance, spot the hidden assumptions about data formats, reduce the unnecessary footprint due to writing custom subroutines to perform tasks built into the language as standard library calls, activate security tracking, enable the ability to reliably restore from backup, or activate debugging to figure out just where that "I'll fix it later" bug came from. This is compounded by the often stellar documentation, which too often consists of "read the code" because the workflow is not actually charted anywhere. It's completely clear to them as they write it, but six months later, even they don't remember it.

      The ability to "pick up a language quickly" is quite common. Anyone who's learned PHP or Perl or Python or Ruby can generally read the code of the other languages, and learning C++, Java,, or even Fortran for we older programmers can certainly allow some insights into other languages. But as soon as it gets more complex, such as migrating 32-bit or 64-bit software to the other architecture, or scaling up an application from 10 QA userrs to 1000 customers, actually communicating efficiently with a backend database, poorly learned code from "brilliant developers" is the bane of programmers or systems personnel whose job title does not include "architect".

  40. Learn on your own, build something you can show by jpc1957 · · Score: 1

    Showing actual, relevant work products are the best way to get a job now. Pick the technology you want to learn, build an application that motivates you to put in the time. The technology should be marketable, the application doesn't have to be. Just has to be professional quality in the end. Based on your existing skills with embedded development and lower level languages there are a couple directions you could take. 'Internet of Things' is getting hot if you want to stay with embedded development. Objective-C for iOS is a good fit with your C background. ASP, .NET, C# all require commitment to the Microsoft world. It's not just the languages and frameworks, but you have to buy products, and learn many server side components. Certifications are also usually expected. A big commitment. PHP is OK (one of my primary languages), free to use and don't have to learn large frameworks to do productive work. Can't go wrong at this point with JavaScript, that should be a secondary skill for pretty much any developer now, and it's become a very viable primary language also. It's on the way up, while PHP is probably declining.

  41. online courses by Caroline_G · · Score: 1

    I think that a great way for people to further their knowledge and skill set is through taking online courses. I agree with some other comments in this thread about how college will only take you so far and you'll learn very rudimentary skills. I've been taking online programming courses for about half a year and have learned various programming languages and web development skills. I would suggest taking advantage of this sites deal https://learntoprogram.tv/cour... They are giving access to over 25 courses which includes courses that will give you some of the skills your searching for, for only a dollar for the first month. Good luck!

  42. Your degrees & credits are meaningless here. by atari2600a · · Score: 1

    In a lot of cases, a shiny new CS Degree actually hurts your chances of employment. Just learn the shit yourself, inside & out, design philosophy & all, contribute to a few FOSS projects &/or throw together some elaborate demo.

  43. Re:Your degrees & credits are meaningless here by Dareth · · Score: 1

    From the summary: " I have a computer science degree from Purdue and have been employed as a firmware engineer for 10+ years writing C and C++."
    Also from the summary: " I was thinking that a computer information technology degree would fit the bill..."

    As a person who also has a BS in computer science I ask, "Do you know how to make coffee?" If so, make yourself a pot and pretend you already have a degree in making coffee for the programmers.

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
  44. Just write code by Vesuvius · · Score: 1

    If you prefer more structured learning then online courses are probably best as they tend to be more current. However most of the good coders I know would just grab a reference and start writing code. There are countless programmers out there whose only experience is in a high level language, and don't properly understand how things work at a lower level. If you are good in C and C++, you can better understand what the higher level languages are doing under the covers. C++ is far more complex than these other languages.

    If you can't figure out a good pet project, then start solving problems in books like "Programming Challenges" or "Elements of Programming Interviews" in your new language of choice. Porting software is also a good way to learn about a language. I learned Powershell by porting a bunch of Perl scripts.

  45. Re:Purdue is useless, Get a refund. by Marxist+Hacker+42 · · Score: 1

    Mod Parent Up.

    I'm a procedural programmer who has hammered my way into OO and Web programming. I find it easiest to start with a workflow chart, then model the real world workflow, rather than trying to fit everything into classes and patterns.

    --
    SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  46. Check out O'Reilly School of Technology by tljohnsn · · Score: 1

    We have courses in all those areas, along with real world projects that you work on to build your portfolio.

  47. Re:Purdue is useless, Get a refund. by kmoorman · · Score: 1

    "OO for business tasks" is just identifying the business entities and modeling them in classes. Just like database design is identifying the business entities and organizing them into tables.

  48. Re:Purdue is useless, Get a refund. by holophrastic · · Score: 2

    yeah, if they can be modelled that way. but most businesses, especially small businesses, have zero consistency because what you're modeling is the will of the will of the owner. It shifts too much to have any structure. So there are no business entities to class, because everything's a class of 1.

    That's when OO falls apart, crashes, and burns. When no class gets used more than once, there's no point in having the class. When no method is used on more than one object, there's no reason to tie it to an object. And when no object has more than one instance, there's no point in calling it an object.

    When, at execution-time, no line of code is executed more than once, there's no benefit to OO.

    And then you're left with only the disadvantages of OO -- code-structure, hard definitions, layers of abstraction, no injection points -- which makes everything an exercise in making it take as long as possible, to be as robust and future proof as possible, even though it'll never be used again and it has no future worth considering.

  49. Re:Purdue is useless, Get a refund. by Beeftopia · · Score: 1

    But that model fell apart when I tried to learn an OO language. I wasn't prepared for that and am still struggling. Luckily my job doesn't require me coding it, but I need to talk intelligently to my programmers so I am still trying.

    Think of an object oriented language in this way: It is designed to stop code duplication and help to group similar functionality. It puts frequently used code in "containers" (i.e. "classes") that you can instantiate. Once the object (i.e. class) exists, you can just call its "member" functions / methods. Similar to C.

    That's it. It's a just an organizational tool for the programmer.

    I have to say, it does require much more planning to come up with objects and their member functions / methods right off the bat. You can write object oriented languages like C functions, call each one when you need it. One issue I've encountered is I'll sketch out a list of actions that need to get done. I'll start coding. Get the five or seven functions needed to do that. Typically something like building a data structure. I realize somewhere else that I need that same functionality. I don't want to run through the whole rigamarole of going through that initialization again. So I make a class out of it. With one line: Classtype X = new Classtype() [ed. note: the Classtype() is a function call to the "constructor" - a standard function across object oriented languages - which instantiates and initializes the new object) Voila! With that line, all the initialization is done and I can use the object / data structure as I need to, with X->doWhatever().

    I think the net result is that it is more difficult to plan out an object-oriented program. Actually... if you want to get forced into an easier-to-use mandatory object oriented language, try Java (as opposed to C++). The structure of the language and the source code forces you to create classes. A good tutorial is "The Java Tutorial" (Addison Wesley publishers, authors Zakhour et. al.).

  50. This is what you need. by Beeftopia · · Score: 1

    A good tutorial book. A. GOOD. TUTORIAL. BOOK. Or even a good online tutorial. But a tutorial is what is necessary, not a reference.

    You can't just pick up a reference book and start coding or solving problems from that. That's not what references are for. You need a good tutorial. A good tutorial is worth its weight in gold in my opinion.

    Some recommendations:
    For LAMP + Javascript development? Try "Learning PHP, MySQL and JavaScript" by Robin Nixon (O'Reilly).

    For Java? The Java Tutorial by Zakhour et. al. (Addison Wesley).

    You need to spend time finding a good tutorial. And work through the problems. That then leaves the issue of getting a job. With your existing background, and being conversant in the language, it won't be easy (without experience in that field specifically), but it will give you a definite leg up.

    What about certifications? Well, I took the Java 6 Programmer certification test. I'm typically pretty good at tests. Because I prepare well. I did just about every problem in the Java Tutorial book. I got some question/answer sample exam from Oracle. I prepared like I always do. And I got raped. Failed miserably. I was shocked. I have a CS degree with a high GPA and my IQ has tested well enough to join those pretentious high IQ organizations. And I got totally owned. So, just throwing that out there for that particular certification.

  51. Save Your Money by JimSadler · · Score: 1

    Keep your money for harsh times ahead. Learn what you can on your own. There is simply no promise that jobs will be available in the future. It seems that the corporations have killed off the ability of the public to purchase goods or services and the tragedy is compounded by over population and global warming. Food prices are already going nuts. The worst is yet to come.

  52. Love Education, Do Not Love The Education System. by John+Allsup · · Score: 1

    I've managed to fit my post into the subject, so here I'll paste my Open Letter to Wacom instead. Enjoy, and please don't moderate off-topic since the Comment Subject is the entire post and is on topic, but I've got to put something meaningful here to get through the filter.

    From https://www.facebook.com/john....

    (hint: copy and paste into a fixed width editor and reformat to taste, taking care to make my signature look like John.)

    An Open Letter to Wacom,

    Re: Drivers that don't drive properly, and are welded shut so as to be unfixable for whoever has the misfortune to need to use them.

    Dear Wacom,

    When I plug my Bamboo into my Linux laptops, it works perfectly every time. It does not, however, work at all properly on my mac, and isn't moving the mouse at all on this Windows 7 64bit laptop despite it having worked in the past, no new drivers having been installed, and Windows 7 saying the driver was successfully installed.

    Please investigate how the Free Software community was able to write a working driver, hit your driver developers over the head with a clue-stick or other relevant therapy, and consider having open source (BSD licensed or weaker) Windows drivers---from which open source and Free Software drivers can be developed, maintained and debugged independently---written from scratch following advice of the Free Software community (but not copying code itself) and released under a BSD-style open source without restrictions license.

    Since I cannot trust Wacom products to work on my Mac, nor on my Windows laptops, and my £200 Corel Painter software doesn't have a Linux version, I cannot justify the cost of an Intuos Pro no matter how much I love the idea if digital painting, and the philosophy of what was Fractal Design's Painter.

    That I cannot trust Corel Painter to try to kick it's twice-a-day crash habit, means I can't trust it either.

    Krita is a nice idea, but is at least a year or so from being production ready, and Gimp is not really a digital painting product, but a General Image Manipulation Program, so that is no substitute either.

    You can put part of the blame on Microsoft for the driver issue for having such a stupid USB driver model, but you are the fools for actually trying to code to said broken model.

    Yours wondering-when-Ableton-Suite-and-Reaper-and-all-my-VSTs-will-be-available-on-Linux-and-I-can-ditch-Windows-compeletly-ly,

    JJJ h
    _J_oo hh nn
    J oo hh nn
    J ----------- .

    John Allsup.

    15th February, 2014 (Hangover-after-Valentines-and-too-many-glasses-of-wine-Day Day) [hic!]

    --
    John_Chalisque
  53. Proof or paper by EmperorOfCanada · · Score: 1

    If you are looking to get a job with a big faceless corporation their HR department will probably be quite happy if you have some paper. Even if the job has requirements such as Node.js or MongoDB I suspect they would prefer if you were somehow "certified" in these areas.

    But if I were hiring someone I would just say, "Prove it." by basically having the person show me something interesting they built using the technologies claimed.

    Beyond that the key is families of knowledge. C# probably shows you know some Microsoft stuff. C++ means you can learn things like PHP, Java, and Lua quickly. Node.js shows that you are interested in new things, Python is just handy, and Lisp shows that you are an academic of old. One SQL DB is good but two shows you can learn. OpenGL means that you have progressed past script monkey stage.

    But the real key is to see the spread of knowledge. There is nothing worse than someone who has "mastered" only one thing or one thing and its related thing. So it is fine to be a master in PHP and MySQL as long as you are good in something quite different such as C++. And it doesn't count if you moved from one related technology to another such as Ruby to PHP or ASP to Ruby.

    So you have mastered firmware in C++ which seems to be pretty hard core. My suggestion is to go way off the reservation and learn something like OpenGL programming in Python (as a suggestion of something very different not as a particular suggestion) even though your skillset would probably translated best to something like Java which, if learned, is highly marketable. Python oddly enough is not as marketable. But make sure to learn a DB as I suspect that you didn't do any DB work with firmware.

    1. Re:Proof or paper by hendrikboom · · Score: 1

      About Lisp --- yes, ancient academics still use it. But the cutting edge of Lisping seems to be Scheme these days, and its very much alive indeed, with implementations like Racket (with excellent educational resources), Gambit (which gets along well with C), guile (the FSF's scripting language), and many others, In the user communities around Racket, for example, you see an eagerness to try new things and redesign the language for future generations.

      -- hendrik

  54. Re Best Options For Ongoing Education? by lsatenstein · · Score: 1

    Have you forgotten what is a public library? There are also very affordable courses on the internet, from zero to what you are willing to pay.

    I have self taught myself C, C++, assembly (multiple), pascal, and a few other languages. My expenses thus far, are two manuals for around $70/ea.
    Am I too cheap? No, I am anxious to learn and I have bills to pay. If I can't borrow the books or follow the courses online, I do without. I just take an alternate language course.

       

    --
    Leslie Satenstein Montreal Quebec Canada
  55. Re:Dover math books by hendrikboom · · Score: 1

    After all, Dover reprints those old relics of math books precisely because they *are* still relevant.

    -- hendrik