Slashdot Mirror


How to Keep Your Job

An anonymous reader submits: "Dave Thomas of "Pragmmatic Programer" fame presents the first in a series of slides based on presentations about how programmers can maintain job security in this time of increased competition, cost cutting, outsourcing, etc. He makes several excellent points about things many programmer may not think about such as the dangers of over-reliance on one company or sector, the importance of diversity of knowledge, the fact that foreign programmers CAN produce quality code, and the fact that time does NOT necesserily equal value (the Everquest Syndrome) when it comes to software engineering. There is a lecture that goes along with the slides, but a great deal can be learned from the slides alone. Worth the read..."

59 comments

  1. How to keep your job by Kalak · · Score: 4, Funny

    Stop hanging out on /. all day! FP != a job.

    --
    I am, and always will be, an idiot. Karma: Coma (mostly effected by .hack)
    1. Re:How to keep your job by leviramsey · · Score: 2, Funny

      Judging by the number of dupes, not reading /. all day seems to be Rob and the gang's method for keeping their jobs...

    2. Re:How to keep your job by Anonymous Coward · · Score: 0

      +1 Insightful? Doesn't anyone have the sense of humor to notice that this *was a FP*? Moderators, this funny, not insightful. Is Irony dead on /.?

  2. CMM? by sporty · · Score: 4, Insightful

    CMM is a tool for identifying process ability, not code quality. i.e.

    Someone at CMM 1 would be totally chaotic. Think waterfall on crack, skipping about back and forth randomly, developers coding on the whim of people.

    At CMM5, there's be a strict set of policies (1 or 2, maybe more) that are repeatable, managed and are being optimized.

    To say that developers across seas bring about CMM 3 or 4 is saying nothing. CMM isn't about one type of people, much less any people. It's about process a group uses to deliver. If they mean consultant companies across seas have higher CMM, maybe, but I'd think the language barrier would slow things down.

    --

    -
    ping -f 255.255.255.255 # if only

    1. Re:CMM? by emag · · Score: 2, Insightful

      Right, this always bugged me when we were getting CMM rammed down our throats. Management kept saying how it would improve the quality of our code and make us competitive. Us grunts pointed out that (aside from wasting quite a bit of time in CMM-related presentations), all it would do is codify the existing process, even if flawed. So if we had a process that produced severely b0rked products currently, getting to CMM level 4 or 5 would just mean we would consistently have b0rked products...

      --
      "The urge to save humanity is almost always a false front for the urge to rule." --H.L. Mencken
    2. Re:CMM? by sporty · · Score: 1

      No, not really. CMM isn't about coding at all. Hell, it doesn't have to be about technology. It's just about doing N steps, from 1-N, in a fashion.

      If your coding process was at level 4 or 5, that means the segment is going for optimization and is highly repeatable (wrote that backwards).

      Saying any individual coder is at CMM 4 only works if one person is the entire process. This doesn't work in the biz world like that. Great, a person capabale of working at CMM 5 will only be brought down to 1 when put in a CMM level 1 company. It's not about individuals, it's about a group, like your grunts, doing something.

      Btw, is "codify" really a word? Automating your process doesn't mean you'd have borked products. Means you do something that works really well and are improving gradually.

      --

      -
      ping -f 255.255.255.255 # if only

    3. Re:CMM? by pmz · · Score: 2, Interesting

      Saying any individual coder is at CMM 4 only works if one person is the entire process.

      I'm pretty convinced that any project with one or only a few developers is CMM Level 1, regardless of what the CEO brags about. The CMM implies bureaucracy, where there really needs to be additional people on staff to handle all the documentation. Other people are needed to enforce the process. There also needs to be extra managers to handle all the new communication overhead. Don't forget the payroll people to handle all the new accounting practices. Oh, and there's the system administration overhead of all those CM tools.

      I'm pretty convinced that the CMM is relevant only to those companies big enough to rival governments in sloth and politics, where some rule of law, essentially, is needed to keep everything moving forward.

    4. Re:CMM? by Copperhead · · Score: 1

      Well, remember that one of the goals of level 5 is the feedback loop, in which you are constantly examing your processes. I agree, though... it's not going to magically fix bad programming procedures.

      --
      Your reality is lies and balderdash and I'm delighted to say that I have no grasp of it whatsoever. - Baron Munchausen
    5. Re:CMM? by sporty · · Score: 1
      I'm pretty convinced that any project with one or only a few developers is CMM Level 1, regardless of what the CEO brags about. The CMM implies bureaucracy, where there really needs to be additional people on staff to handle all the documentation. Other people are needed to enforce the process. There also needs to be extra managers to handle all the new communication overhead. Don't forget the payroll people to handle all the new accounting practices. Oh, and there's the system administration overhead of all those CM tools.

      I'm pretty convinced that the CMM is relevant only to those companies big enough to rival governments in sloth and politics, where some rule of law, essentially, is needed to keep everything moving forward.


      It's relevant to a group, a company usually. If you have 10 people doing a particular job, say.. those people who make cell antannae that look like landscape objects (trees, etc..). If their process is higly repeatable and optimized and are looking to improve, they'd be at 5. If any other factors holding them back aren't there though.

      Your family can be at CMM 5, if you can get your kids out the door, laundry done quickly, etc, and are looking to improve. But usually, family doesn't work like that. It's usually chaotic since family isn't a biz.
      --

      -
      ping -f 255.255.255.255 # if only

    6. Re:CMM? by Surreal_Streaker · · Score: 1
      Btw, is "codify" really a word?

      Yes.

      http://dictionary.reference.com/search?q=codify

    7. Re:CMM? by sporty · · Score: 1

      Damn kids and their ebonics [/kidding]

      --

      -
      ping -f 255.255.255.255 # if only

    8. Re:CMM? by GuyWithLag · · Score: 1

      >If their process is higly repeatable and optimized and are looking to improve, they'd be at 5.

      Erm, do you *want* to work in an environment where your work ("the process") is highly repeatable? Where's the fun in that?

      Seriously tho, these kinds of "process" thingys always give me the impression that they are implemented (and followed) in places where the management hasn't got a clue; in places where management believes that the "workers" don't have a clue; in places where the management believes that an employee cannot possibly *want* or *enjoy* his job, and has to be policed at all times.

      Bah....

    9. Re:CMM? by sporty · · Score: 2, Insightful
      Erm, do you *want* to work in an environment where your work ("the process") is highly repeatable? Where's the fun in that?


      I like having hair colour ;)


      Seriously tho, these kinds of "process" thingys always give me the impression that they are implemented (and followed) in places where the management hasn't got a clue; in places where management believes that the "workers" don't have a clue; in places where the management believes that an employee cannot possibly *want* or *enjoy* his job, and has to be policed at all times.


      Well, it's the difference of having no law, some law and too much law. Then add consistency to it. Process is there to prevent people from shooting themselves in the foot.. /mostly/.

      I rather have management say, ok,it's time for a code freeze, QA gets the code, they do their thing, then another step, then another and then it's live. It makes my margin of error smaller, since things are done in a consistent manner.
      It doesn't stop me from being an architect. It just means there are some laws in place.

      ANd btw, if there's an opportunity to improve something, it doesn't mean i can't recommend it to biz people to include in a project. It's an opportunity a system analyst would include.. if they were smart.
      --

      -
      ping -f 255.255.255.255 # if only

    10. Re:CMM? by pmz · · Score: 1

      Your family can be at CMM 5...

      Officially, only the SEI (or people acting on its behalf, I suppose) can evaluate a company and say they are "CMM Level 5". Getting to this point requires putting forth the proof that a process is repeatable, which for any group of humans, requires bureaucracy to handle the documentation and enforcement of the process. Strong will and discipline is sufficient for organizing a family, but it isn't sufficient for obtaining CMM level 5.

      Also, processes implementing the CMMs are highly company-specific, which add an even higher learning curve and training burden for developers and managers. Imagine, in the family scenario, having peer reviews and QA meetings for each meal served, the greenness of the yard, why isn't Jimmy doing well in Algebra, etc. while keeping written records of it all for accountability and future analysis. For small teams, it is very possible for this sort of process to interfere with getting real work done.

      I feel it is very important to separate the bureaucrats from the developers while imposing as little (or, at least, transparent) process on the developers as possible to satisfy whatever documentation and metrics gathering are needed. This is where bureaucracy can be helpful without being overbearing: developers can develop without needing to worry about formatting meeting minutes, making travel reservations, administering their own bug reporting system, etc. For small groups, however, this bureaucracy is very hard to afford--and the CMM breaks down.

    11. Re:CMM? by sporty · · Score: 1
      Also, processes implementing the CMMs are highly company-specific, which add an even higher learning curve and training burden for developers and managers. Imagine, in the family scenario, having peer reviews and QA meetings for each meal served, the greenness of the yard, why isn't Jimmy doing well in Algebra, etc. while keeping written records of it all for accountability and future analysis. For small teams, it is very possible for this sort of process to interfere with getting real work done.


      Realize, checking Jimmy's homework, everyone eating at a certain time.. that's all bureaucracy. Yes, SEI is the only one who can grant CMM levels, but I'm trying to drive the point, that CMM can apply to any group, even without SEI's blessing. Just the validity of it is what's questioned, eh?


      I feel it is very important to separate the bureaucrats from the developers while imposing as little (or, at least, transparent) process on the developers as possible to satisfy whatever documentation and metrics gathering are needed. This is where bureaucracy can be helpful without being overbearing: developers can develop without needing to worry about formatting meeting minutes, making travel reservations, administering their own bug reporting system, etc. For small groups, however, this bureaucracy is very hard to afford--and the CMM breaks down.


      Ah, but everyone is a bureaucrat in one way or another. If the amount of people are small, you don't need a big process.. but you might need one none the less. Even between two people. Unless they are best friends from childhood, they won't work together like psychics. It might be an inbox, a file cabinet, an email system.. SOMETHING. And if those 2 people can accomplish what a 100 person company can do, both can be at CMM 3,4,5 or 1. Just a matter of how well they work and consistent they are, eh?
      --

      -
      ping -f 255.255.255.255 # if only

    12. Re:CMM? by DuckDuckBOOM! · · Score: 2, Interesting
      So if we had a process that produced severely b0rked products currently, getting to CMM level 4 or 5 would just mean we would consistently have b0rked products...
      [g] Well, not really. This is an interesting statement, though, in light of an e-mail exchange I just had with a colleague whose co. outsourced to an offshore-heavy consulting firm about a year ago. Turning the floor over to her via copy/paste, slighly edited & with names redacted for job-preservation purposes:

      "[Consultant co] claims their offshore operation is CMM 5. You wouldn't notice from here. Project timeliness, quality, and budget targeting aren't noticably better than before, when we were about CMM 1. I think [employer] is realizing some ROI from run of the mill maintenance and such, but for any new work needing a little innovation or [industry] knowledge, forget it. We have to spec practically down to pseudocode to get useable apps back, so all the savings from coding go right back into design.
      "True, once the hand-holding is out of the way they usually deliver as promised. More often than not, anyway. Maybe more often than we could beforehand, but it still isn't a dramatic difference. Cripe, with 60% of the budget going into analysis & design, it's hard NOT to hit late-phase milestones. (We used to feel lucky to get a third of that.)
      "I have to wonder though if the difference is CMM 5, or if it's because they're away from the politics and constant priority juggling, or if they can just afford to throw bodies at the task as necessary. It still seems like a lot of work is late and/or buggy and/or out of spec and/or all but unmaintainable. And guess who gets blamed when that happens!
      "GRRRRR!!! Aren't you glad you asked? :-P "

      --
      Life is like surrealism: if you have to have it explained to you, you can't afford it.
    13. Re:CMM? by Tackhead · · Score: 0
      > Right, this always bugged me when we were getting CMM rammed down our throats.

      Wrong direction. Wrong orifice. *rimshot*

    14. Re:CMM? by ClosedSource · · Score: 1

      All of these process "things" like CMM are really just about having written policies and following them. They have nothing to do with the quality of anything unless you measure quality as conformance to the process (which would be a circular argument).

      Getting SEI certification is about paying the right consultants and having at least a plausible story about meeting a particular CMM level.

      The biggest problem I have with these things is that there really isn't any proof that a standardized approach is helpful. Once you are certified the assumption is made that you are better across the board. So if the Ford corporation is certified, all of Ford's cars are of high quality because they followed the same process.

      I prefer the UL model of quality. Each product has to be individually evaluated for quality no matter what process was used to create it. That is much tougher and more expensive method so it's not popular with companies and the government who are looking for a low cost quality stamp.

    15. Re:CMM? by bergeron76 · · Score: 1

      Does CMM take into account support? I've been hearing _many_ horror stories of companies outsourcing code to overseas (mostly Indian) programming firms (accenture comes to mind). If you're at a company and you hear a name like accenture, run like hell or obfuscate your code has quickly as possible!

      More to the point: These companies are providing "cheap programming"; but their customers are realizing very rapidly that "cheap programming" is shoddily documented (if at all), and the likelihood of getting decent support on it is a crap-shoot at best. This is just "what I've been hearing" type stuff, but I think there is some credence to be lent here.

      --
      Don't think that a small group of dedicated individuals can't change the world. It's the only thing that ever has.
    16. Re:CMM? by sporty · · Score: 1

      Depends on the account you are talking about. It soundslike you are talking about outsourcing to a vendor. CMM takes into account trends in a company, so if you outsource to a vendor that doesn't know what they are doing and you cancel things /w them due to incompetence, well.. taht's one thing. If you integrate working with them into your process..well.. that's another.

      --

      -
      ping -f 255.255.255.255 # if only

  3. Dave Thomas? by frankjr · · Score: 0, Redundant

    The Wendy's guy is a programmer? Wow.

    1. Re:Dave Thomas? by Black+Rabbit · · Score: 1

      I thought Dave Thomas was on SCTV as Doug (or is it Bob) Mackenzie!

    2. Re:Dave Thomas? by Anonymous Coward · · Score: 0

      He quit doing that a long time ago, hoser. Now he has some sort of hamburger chain that he named after his daugther.

    3. Re:Dave Thomas? by Anonymous Coward · · Score: 0

      Take off!

    4. Re:Dave Thomas? by Anonymous Coward · · Score: 0

      You don't really think that they're one and the same, do you?

  4. Must we RTFPPS? by Strange+Ranger · · Score: 4, Funny

    I think


    William Shatner...

    Invented,


    Power

    Point

    --

    Operator, give me the number for 911!
  5. Keep your job? by ptaff · · Score: 3, Redundant

    Focus on cross-platform languages and libraries.
    You may not keep your job anyway, but you'll be flexible.

    The market for programmers slowly moves away from Microsoft. If you code in Visual Basic, you can be sure that only Microsoft-oriented companies will employ you.

    Companies more and more switch to non-Microsoft solutions, meaning that they must switch programmers too. Knowing UNIX is becoming more and more of an asset; you might not know all the intricacies of bash or emacs, but if you code in perl you can be employed by Win/Lin/Mac/UNIX worlds...

    Whenever possible, go for java instead of C#. Go for PHP instead of ASP. Learn to use as little platform-dependant code as possible.

    1. Re:Keep your job? by Radical+Rad · · Score: 1

      Don't forget Delphi instead of VB since it is cross platform now with the release of Kylix.

    2. Re:Keep your job? by pmz · · Score: 3, Insightful

      Focus on cross-platform languages and libraries.
      You may not keep your job anyway, but you'll be flexible.


      An additional benefit is that the concepts behind platform-independent technology are often behind the proprietary stuff as well. For example, if an interviewer asks about ASP, the interviewee can say "well, I'm familiar with JSP and/or PHP, which shares many of the concepts behind ASP, such as session management, ..."

    3. Re:Keep your job? by MeanMF · · Score: 1

      Whenever possible, go for java instead of C#. Go for PHP instead of ASP. Learn to use as little platform-dependant code as possible.

      Doing this while employed for a company that is using C# and ASP is a great way to NOT keep your job.

    4. Re:Keep your job? by MisterFancypants · · Score: 1
      The market for programmers slowly moves away from Microsoft.

      Companies more and more switch to non-Microsoft solutions, meaning that they must switch programmers too. Knowing UNIX is becoming more and more of an asset;

      This is exactly the kind of advice people were giving for job security back in the early to mid 90s -- except reversed.

    5. Re:Keep your job? by thogard · · Score: 2, Interesting

      Whenever possible, go for java instead of C#. Go for PHP instead of ASP.

      If your at the level where this advice makes sense to you, go the local university and enroll in something that isn't programming realted.

      All the best coders I know started with assembly language and not one of them started in a high level language. Real coders can work in machine code if needed because they understand whats going on at the low level.

    6. Re:Keep your job? by User+956 · · Score: 1

      If your at the level where this advice makes sense to you, go the local university and enroll in something that isn't programming realted ... Real coders can work in machine code if needed because they understand whats going on at the low level.

      If you're at the level where this post makes sense to you, go to the local university and enroll in something that will teach you proper grammar and spelling.

      --
      The theory of relativity doesn't work right in Arkansas.
    7. Re:Keep your job? by ptaff · · Score: 1

      The point I was trying to make was that you'd better use a cross-platform language than a proprietary/single platform language.

      There was no question of flaming a language or another. Slashcode shouldn't be written in Logo and kernels shouldn't be written in Fortran. A java programmer is no less a programmer than a hardcore macho coder blaming hexadecimal for oversimplification of binary.

      Know why they invented high-level languages? because maintaining assembly is a time-consuming nightmare. We need it for lots of things, sure, but not everyone needs to write a driver or a real-time-every-NOP-counts.

      Of course learning assembly first will show you low-level candy that you can re-use afterwards, but can bring such bad habits (JMP for GOTOs, pointer arithmetic, ...)

      It is _very_ important to understand what's going on under the hood, I get the point. But knowing 8088 assembly wouldn't lead you anywhere today; C would.

    8. Re:Keep your job? by TheShadow · · Score: 1

      Bull. Real "coders" can learn any language because they realize it's not the language that's hard. It's the algorithms, data structures, design trade-offs, etc that are hard.

      Anyone who cannot pick up a new language in a week is a beginner.

      --

      --
      "What do you want me to do? Whack a guy? Off a guy? Whack off a guy? Cause I'm married."
    9. Re:Keep your job? by drunk_as_in_beer · · Score: 1

      Doing this while employed for a company that is using C# and ASP is a great way to NOT keep your job.

      Not if you're doing it on your own time. Though, yeah, a lot of us don't have enough free time to be coding outside of work (too busy getting drunk). But when I looked for jobs, I turned down the companies who were focused on Microsoft-based solutions, and went for the companies that were using cross-platform solutions; and I'm glad I did it; even with lesser pay the experience is so much more valuable. But, yeah, some people gotta eat and should take whatever work they can. But if you're stuck working with MS tools, keep learning the other stuff, otherwise you'll get stuck in a rut and you'll find yourself obsolete in a few years. Maybe you don't want to keep that job using C#/ASP...

      --
      --Drunk as in Beer
  6. Slides 41+42 by dmorin · · Score: 5, Insightful
    Pretty much sum up a huge portion of the slashdot audience, I think. I consider myself a good programmer who loves a challenge and wants to stay technical. Therefore I should look for technologies that will not be outsourced, teach myself those technologies via open source, and write articles / speak/ otherwise become recognized expert in that area.

    In general I think the first half of the presentation just says why things are bad and why stuff like "rely on government to fix the h1 problem" won't work, so it's only really the second half that has the advice.

    I think it's a little ambiguous that in the beginning it says the half life for typical technology is 7-2.5 years, but in the end suggests planning for the future 5-10 years out. That's pretty hard.

    Or that specific skills, like "I'm a java programmer", are bad. Sure, all programmers *want* to use the line "A good programmer can pick up any language easily" but in THIS job market? Are ya kidding? Sure, 3 years ago we were desperate enough that we took C++ or Smalltalk people when we wanted Java. But in today's market do I really expect that people who want C# are going to take me the Java geek and say "Oh, sure, he can pick up C# no sweat?" When there are 500 other guys applying for the same job that already have C# and couldn't hack Java to save their lives?

    I'd like to recommend the "write articles" approach, by the way. Quite a fun way to learn a new technology when you don't have a boss who is making you learn it but still need the motivation. The two problems are that a) there are so many people doing this that many magazines don't pay $$ anymore, just "recognition", and b) I've had recruiters chop the "Publications" section out of my resume because they claim that it's never the thing that gets you the interview (although you can certainly talk about it once you do get the interview).

    Lastly, sometimes bad things happen to companies and a whole geographic region goes away. Don't blame yourself. My boss once told me that I was part of his baseline for the team and I was leaving that meant the team was gone. Well, the team is being dissolved, therefore I'm gone. But I can't have any hard feelings or say "Damnit I wish I'd learned technology X." I can only look forward toward my next job, whatever it may be.

  7. Another Slide by chemstar · · Score: 2, Insightful

    Build a professional friendship with your boss.

  8. Do not document your code by Anonymous Coward · · Score: 0

    Missing, unreadable, or best yet incorrect, comments in your code go a long way to assure job security. Don't make it too easy for them to replace you.

    1. Re:Do not document your code by sporty · · Score: 1

      Making it too difficult to be replaced is an easy way to be replaced.

      --

      -
      ping -f 255.255.255.255 # if only

    2. Re:Do not document your code by cant_get_a_good_nick · · Score: 1

      How to write unmaintainable code is written tongue in cheek, as what NOT to do with your code. Though targetted for Java, many of these "rules" can be applied everywhere.

      Remember, if you can't be replaced, you also can't be promoted.

    3. Re:Do not document your code by damien_kane · · Score: 2, Insightful

      Missing, unreadable, or best yet incorrect, comments in your code go a long way to assure job security. Don't make it too easy for them to replace you.

      Alternatively, do what I do.
      Although my code is not very well documented, I keep my bosses very close in the loop, moreso towards the end of develpment of a module, but still close enough that they know exactly what the code does and how long it took me to write it.
      I do this at a high level, of course, but I make sure they understand my logic in solving a given problem.
      This way they know that I can write code that's far cleaner and more efficient than anything they can write in less time than and equivalent would take them to write.
      In this way, they are very happy with me (as I have redeveloped many of their processes in favor of efficiency), as well they have time to deal with the many clients.
      Personally I don't think I have much to worry about in terms of job security.

  9. Ignore the statistics by MobyDisk · · Score: 1

    If you read the article, ignore the stats. They are over-simplified and there is no text to qualify them. Example:
    CMM level 4
    USA: 41%
    Overseas: 59%

    What does this mean? 41% of all us companies are CMM level 4? level 4 or above? Or does it mean all CMM level 4 companies are in the US and 59% are overseas?

    (These are rhetorical questions - the answer is irrelevant, the point is that it isn't clarified in the paper so don't even pay attention to them)

    1. Re:Ignore the statistics by thogard · · Score: 1

      It's 59% of all CCM level 4 compaines are overseas. CCM level 4 is more importaint for overseas companines because they use it to try to win business.

      I work for a company that went through the ISO-9002 process. It was good for the company and the audit showed where some of the processses were weak. It turns out that not one of our customers cared that we were iso-9002 certifed and it costs a fortune for a small company so it dumped.

    2. Re:Ignore the statistics by Anonymous Coward · · Score: 0

      If you can't understand that faily simple graph, you should watch your job very close.

  10. CMM level matters to employment? by Anonymous Coward · · Score: 0

    why does he assume CMM level has to do with your job.
    in fact wouldn't a lower CMM level probably require more employees then a CMM level 5 company?

  11. Times Changes by tds · · Score: 3, Insightful

    It's an interest presentation but it reminds me of one of those self help books! But it raised some very interesting points.

    The discussion points mainly revolve around off-shore development, technology life cycles and bad economic conditions.

    From experience off-shore development is not simple a matter of taking code off shore, it includes other large components of management, processes, extended organizational structures, cultural considerations and creativity. Which are often under estimated or completely misunderstood. In addition some activities are not a good fit for out-sourcing but are out sourced any way, by managers sacrificing long term success against short term needs.

    I would draw the conclusion that there is a real trend out there for out-sourcing but there are real opportunities for people to fill the high value areas that I have out lined above. Most of all I think that creativity and innovation are very important factors and will always be in demand.

    Technology life cycles are a fact of life for everyone involved in technology, the good news is that it creates an even playing field; the bad news is that it drives intense competition and disruptive change. The bottom line is if you want to stay in the business you have to make a commitment to constantly learning and keeping your skills up date.

    The current economic environment may well be driving change in our industry, some of us may view as negative. But looking forward demand will return and we have a stronger base to build on as people and companies that get through this will be stronger and more competitive.

    After all this is what we do...

  12. Re:Dave Thomas? Keep your job? by Anonymous Coward · · Score: 0

    ok, he's dead. The first joke was funny. This is just ignorant / redundant.

  13. Code Reuse & Value Add by t482 · · Score: 2, Informative

    The main thing to focus on is value added. If most of your code is reused open source stuff you don't need to worry as much.

    From an article I wrote:
    http://xminc.com/linux/hottest_it_skills.h tml

    Focus on Value Add

    Value-add is mostly common sense - but common sense many IT professionals miss as their vision is clouded by technical details. How can you add the most value to your customer ? i.e. " What is my current/future customer/employer's biggest problem - and what can I do to fix it most efficiently and effectively in the long term ?".

    Try to learn skills in areas that are "must have's" - a litmus test is " If the service was unavailable for 1-7 days could the company continue to function like normal ? ".

    Many people focus on the value add marketed by vendors. For example a major corporation I know was thinking of moving their desktops from Windows 2000 to Windows XP. The true value add in this case is questionable. In general it is wise to question all claims from vendors for materials particluarly if they include the terms "legacy" and "upgrade".

    Skills with Open Source software immediately make you of value. You can implement a File server for 500 users for only the cost of the hardware and consulting time ? A firewall/proxy server on a reused server ? Cost to the client = Nothing + Cost of your labor = a real win.

    For programmers it is good to focus on learning environments that allow you to more rapidly produce useful quality code. Open source gives you access to tons of tested libraries that can speed your development time. Using dynamically typed and interpreted programming languages such as Python, Perl or LISP will reduce the number of lines of code you have to write and debug, and speed the code-compile-debug cycle, which can cut the cost of development(1).

    Open Source tools give you access to the guts of the application - which allow you add more value to the customer. In tradional proprietary software solutions such as MS SQL Server if you have problems you need to pay a lot of money to call the vendor to get access to some hidden debug parameters that you can then apply to the application. You then try to interpret the debugging information, submit it to the vendor and then wait for a patch. This is much like trying to fix a car when you can't open the hood. Save the $20,000 part of the service contract and do it yourself. Often times this takes a mixture of system administration and programming talent.

    Recognize most people adapt very slowly and typically resist technological change. For example replacing Microsoft Office with Open Office on 1,000 desktops may sound great in terms of reducing total cost of ownership. However, the truth is that the amount of time for retraining and resistance from the user community would probably make this project fail. Lock-in to proprietary systems is the athema to value-add.

    Try to understand the economics of technlogical change(2), understand how to do a business proposal, and how to sell software projects. If you do - you are more likely to get " what you love " accepted as a corporate solution. Typically with sales of software solutions you sell to the business decision makers - not necessarily IT. Get the product or solution in their hands so they can evalgalize it and make sure you sell at multiple levels in the organization - have multiple people "going to bat " for you and your solution.

    Avoid monoplies if possible. Software vendors can reduce the value add of the "total solution" that you are working on by arbitrarily changing licensing agreements and increasing prices. By using open standard or open source software that is not controlled by one company you ensure that you solution will have longer term value. Open software generally has a longer staying power than propretary solutions. Witness the staying power of ANSI C programming environment or the X86 hardware platform(3).

    Different operating systems allow you to add different amounts of

    1. Re:Code Reuse & Value Add by Anonymous Coward · · Score: 0

      >Skills with Open Source software immediately make you of value. You can implement a File server for 500 users for only the cost of the hardware and consulting time.

      unfortunately, a lot of the pinhead managers in the IT field are mainly concerned with empire building, as such, they go after the largest budget possible. attempting to sell those type of people on cost savings does not work. they PREFER the expensive shiney things of dubious value.

  14. Our best overseas defense� by (H)elix1 · · Score: 1

    ...Is management not improving. The same things that make my life as a developer in the US lousy - vision/requirements/clue/ (I'll just stop now) - tend to have catastrophic results when shipped overseas. Capable business can actually pull this off, but most of the time the n00bs that (biting tongue again) could not communicate effectively enough to leverage low expense labor.

    Don't train the (deep breath) managers - just encourage their involvement in those 'high profile, cost effective' projects. Hell, might even get two birds with one stone if you are lucky.

  15. EASY! by Anonymous Coward · · Score: 0

    1) Be Indian

    2) Work for $5 a day

    3) Whatever qualifications you lack, make up

    1. Re:EASY! by Anonymous Coward · · Score: 0

      You forgot the critical step...

      4) Profit!!!*

      * For the Indian - now he can buy a cow to worship or something; for the company - now the CEO can buy another Rolls; so what if the locals are out of work and because of that the local economy tanks? It's all about short-term gain for the rich white people (and the poor brown people)....

  16. A great way to keep your job is... by bergeron76 · · Score: 1
    --
    Don't think that a small group of dedicated individuals can't change the world. It's the only thing that ever has.
  17. Wendys? by CheesyMoo · · Score: 0

    From chicken sandwiches to software programming.

  18. Friendship? by phorm · · Score: 1

    Nah... just do what our mentor does. Snitch a few special emails, maybe plant a few webcams...

    I wonder if there are actually any admins out there who get away for BOFH-like power?

  19. Assembly is a niche these days by GCP · · Score: 1

    I'm a "real coder" who started in assembly years ago, and there's no way I would start my son that way now.

    Assembly used to be for general purpose programming. Today it is a small niche tool. Back when it was for general purpose programming, higher-level languages could often reasonably be thought of as shortcuts for writing assembly. The shortcuts weren't as good as the real thing, but they were quicker and often good enough. Still, it made sense to keep in mind the assembly that you were "really writing", to make sure it was what you wanted.

    Today that is a very poor programming practice because the constraints and tools have changed so much.

    These days it makes sense to direct most of your attention to a higher level of abstraction and to treat lower levels as advanced topics, not as fundamentals on which to build.

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
    1. Re:Assembly is a niche these days by fgb · · Score: 1

      While I agree that assembly is very rarely required these days, a programmer who has a strong understanding of assembly language still has an advantage over one who has never been exposed to it. I have been programming for 23 years (20 professionally) and I always find the best HLL coders are the ones who know assembly and understand the strengths and limitations of the underlying machine architecture.