How to Keep Your Job 59
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..."
How to keep your job (Score:5, Funny)
Re:How to keep your job (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...
CMM? (Score:5, Insightful)
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.
Re:CMM? (Score:3, Insightful)
Re:CMM? (Score:2)
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 pu
Re:CMM? (Score:3, Interesting)
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 han
Re:CMM? (Score:2)
Re:CMM? (Score:1)
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 a
Re:CMM? (Score:3, Insightful)
I like having hair colour ;)
Re:CMM? (Score:2)
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
Re:CMM? (Score:2)
Realize,
Re:CMM? (Score:1)
Yes.
http://dictionary.reference.com/search?q=codify
Re:CMM? (Score:2)
Re:CMM? (Score:2)
Re:CMM? (Score:3, Interesting)
[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 thei
Re:CMM? (Score:2)
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 helpf
Re:CMM? (Score:2)
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
Re:CMM? (Score:2)
Re:Dave Thomas? (Score:1)
Must we RTFPPS? (Score:5, Funny)
William Shatner...
Invented,
Power
Point
Keep your job? (Score:4, Redundant)
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.
Re:Keep your job? (Score:2)
Re:Keep your job? (Score:4, Insightful)
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,
Re:Keep your job? (Score:2)
Doing this while employed for a company that is using C# and ASP is a great way to NOT keep your job.
Re:Keep your job? (Score:1)
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.
Re:Keep your job? (Score:2)
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.
Re:Keep your job? (Score:3, Interesting)
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.
Re:Keep your job? (Score:2)
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.
Re:Keep your job? (Score:2)
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 fo
Re:Keep your job? (Score:2)
Anyone who cannot pick up a new language in a week is a beginner.
Assembly is a niche these days (Score:2)
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"
Re:Assembly is a niche these days (Score:1)
Slides 41+42 (Score:5, Insightful)
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.
Another Slide (Score:2, Insightful)
Friendship? (Score:2)
I wonder if there are actually any admins out there who get away for BOFH-like power?
Re:Do not document your code (Score:2)
Re:Do not document your code (Score:2)
Remember, if you can't be replaced, you also can't be promoted.
Re:Do not document your code (Score:2, Insightful)
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
Ignore the statistics (Score:1)
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)
Re:Ignore the statistics (Score:1)
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.
Times Changes (Score:3, Insightful)
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...
Code Reuse & Value Add (Score:2, Informative)
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
Our best overseas defense… (Score:2)
Don't train the (deep breath) managers - just encourage their involvement in those 'high profile, cost effective' projects. Hell,
A great way to keep your job is... (Score:2)