A new source of information for programmers looking for jobs.
I started a new blog this week called software++ that is focused on improving the overall software development process both in terms of management and programming issues, with a slight preference for the management side. If you are a programmer who would like to peek inside your boss' head or a manager who wants to collaborate on best practices, I think that you'll find it really useful.
I've been posting a series called "The Programmer's Guide to Getting Hired" this week which is intended to help job seekers take advantage of some tips I have to offer from the other side of the interview table.
Recent articles in the series:
- Your resume, it's the little things that hurt.
- The Code Sample
- Combating Age Discrimination (coming soon)
- Do you need a cover letter, and what should it contain? (planned)
- Choosing a college major (planned)
- Be careful where you post your resume online (planned)
I am just starting out on blogging and I'd love any feedback you guys can offer on my efforts so far.


Comments
Interesting thoughts. I
Interesting thoughts. I checked your resume hints vs. my own and didn't see anything that jumped out at me, which is a good thing I guess.
I also pretty much agree with you on code samples. I've got some that I've made up specifically for that purpose. My only complaint is when an employer gives a specific assignment that is something more than a few hours work. I can understand what the motivations from their side might be, but for those of us who are working, we may not have several days to spare, and even for those who are out of work, it could get in the way of other interviews and commitments. Thankfully this has only happened to me a couple of times, and generally it was the "last straw" in making me lose interest in pursuing the position.
I will be interested in seeing what you've got to say about age discrimination, as its something as an old geezer (in this business that means anyone over 35) I deal with increasingly.
Do you have your resume
Do you have your resume hints published online somewhere? I'd like to read them, especially if they are geared towards programming in particular.
Also, interesting take on the excessive code sample request. I'll add that to my notes for a possible follow up article to the code sample one.
Thanks for the feedback!
I phrased my reply badly...
I phrased my reply badly... I don't have anything written as far as resume hints go. What I meant to say was that I reviewed my resume using your resume hints and didn't find that I was doing any of your no-nos.
As for the code sample request, I've had a couple of hiring managers give me requirements for something that looked like a multi-day project. Now that sure is a way to see if someone can walk the way, but it starts looking like asking someone to work for free really quickly...
If an old geezer is anyone
If an old geezer is anyone over 35, what would you call someone who is 60?
Does "Antiques Road Show"
Does "Antiques Road Show" ring a bell?
William W. (Woody) Williams
Senior Project Manager
Software Development, PMO, IT Governance
My door64 Blog
enweave
Actually, calling someone
Actually, calling someone over 35 a "geezer" might actually lack perspective.
I don't consider myself "old" or a "geezer" or "over the hill." However, I prefer "well seasoned" (or even "spicy") to "Antiques Road Show."
"highly
"highly experienced"
"high-value resource"
William W. (Woody) Williams
Senior Project Manager
Software Development, PMO, IT Governance
My door64 Blog
enweave
"Some" might dispute that.
"Some" might dispute that.
If only. The assumption
If only. The assumption amongst PHBs is that techies over 35 are too expensive, unwilling to work lots of overtime for free, and too invested in "obsolete" technologies and unwilling or unable to learn anything new. Worse than that, few technical managers will ever consider hiring techies older than themselves because they are worried that they want their jobs.
Age discrimination in this business is rampant.
If you were a software
If you were a software engineer the word would probably be "unemployed".
Edit to add - this is in regards to the 60 year old comment.
If I was still a software
If I was still a software engineer at the age of 60, I'd deserve to be unemployed. Because that would mean that I hadn't progressed, or learned anything in my 35+ years as a software engineer.
No one is too old too learn something new. No one is too old to adapt to new things. Inability to learn or to adapt is more of a state of mind than it is a symptom of "onset Alzheimers."
My Chief Engineer, who is now 74 years old, has a EE, two Masters Degrees, started his career as a design and test engineer, later became a Systems/Software Requirements Analyst, was then Software Program Manager on a major military contract, also became Manager of Business Development and "retired" 18 years ago with an early buy-out before a merger as the Director of Advanced Systems. Importantly to me, he showed his diverse background and capabilities as my technical lead on my first government contract. If that wasn't enough, he teaches 6 hours a week at the engineering school at Stony Brook.
One of my closet friends and advisors served at the most senior levels of the Intelligence community in a technical capacity and supposedly "retired" but continued to work in a Technical Advisory capacity (meaning not full-time in the IT world), but is now working full-time again on a leading edge project in the Information Sharing Environment. And oh! He's 75.
There are other examples of people over 60 who have continued to learn and expand their horizons...to learn and to contribute in areas outside of the scopes of their original jobs.
Well, I have to disagree...
Well, I have to disagree... I think that a person could still be productive as a software engineer at 60, and they might be perfectly happy staying in that role.
Sure, there are the old mainframe heads who refuse to learn anything but COBOL and they really do get obsolete (not that there isn't still a certain amount of demand for people to do that sort of work). Frankly, it generally takes a lot of continuous learning to keep up in software engineering even if you choose never to move into other roles. The problem is that employers seem to assume that people over 35 are no longer willing or able to learn any new technologies, techniques or methodologies. While some can't/won't, the stereotype isn't really fair to those who can and will if given the chance.
Please understand that you are an atypical CEO/manager. You are giving people chances that a lot of others probably wouldn't. A lot of 20 or 30 something managers would see the people you value as dried up and worn out or be intimidated by them.
Being "perfectly happy to
Being "perfectly happy to stay in that role" (as a 60 year old software engineer) is a sign of complacency.
The type of people who will join our team will be flexible, capable, hungry to learn new things and faultless in the execution of their roles. A complacent person would have no place on the team, and wouldn't be likely to get past the first interview.
As I've already been identified as an "over-the-hills" 60 year old, I don't see myself as giving people chances that others wouldn't. I'm attracting the best available talent to fill key roles on a team that is still formulating. I couldn't care less about someone's age. Its all about attitude. Since getting involved with door64 48 weeks and 1 day ago I've encountered a number of people who I'd consider as expansion hopefully occurs.
I don't agree that choosing
I don't agree that choosing a technical path over a management one is necessarily a sign of complacency. That kind of thinking is what prematurely kills the careers of techies who otherwise could be productive in their 40s, 50s, 60s or even 70s.
I should probably clarify...
I should probably clarify... I think that a 60 year old could still be productive in a software engineering role and that choosing not to move into other roles (like management) should not be taken to assume laziness.
One of the problems with the IT industry is that there is often a ceiling on career paths unless a person wants to move into management. Some people are not cut out for management and some people just don't like it.
And don't take what I say to mean I think that its right that people over 35 are considered "over the hill" in technical careers... that's exactly the opposite. I've worked with a lot of people in their 50s and 60s who I learned a lot from. Unfortunately I've also seen a lot of those people get drummed out of the business unfairly. I've seen them targeted by younger managers who saw them as a threat or that just couldn't relate to someone not in their age group. I've seen them pushed out under the assumption that they couldn't or wouldn't be able to learn a new language or system, even when they expressed desire to be given the opportunity.
The 60 year old that you
The 60 year old that you decribe, while maybe productive, still hasn't grown.
That is not necessarily
That is not necessarily correct. They may have grown in their abilities as a software engineer, learned new technologies, new industries or businesses and still stayed in a software engineering role.
If someone was a mechanical engineer or a chemical engineer, nobody would be saying that a 60 year old was lazy or complacent if they chose to stay in that role. The fact that someone would say that about a software engineer shows how screwed up the perceptions in this industry are.
Actually, it probably shows
Actually, it probably shows how little I know about software except how to use my Microsoft Office and a few other pre-packaged applications.
Well, I don't blame you for
Well, I don't blame you for that... unfortunately your lack of knowledge in this area isn't uncommon -- not even for people who are managing technical workers. Which is part of the reason why so many techies find their careers dead once they pass a certain age. We are often judged based on things that are more appropriate for people in business or management roles.
It goes to one of the central themes for much of my blogging around here -- as an industry wide epidemic we are not taking full advantage of all of the education, skills and experience that is already available out there in the worker pool. Too much potential is being wasted because a lot of people aren't given the chances because of arbitrary stereotypes or outright discriminatory (such as ageism) reasons.
Anyway, one way to look at it is that you shouldn't judge people by how many hats they've worn, but by how well they've worn the hats they've had.
Actually, I will likely
Actually, I will likely judge people on what they bring to the table. That includes skills (and how well those skills fit the needs as they are defined by my engineer), their experiences, and perhaps overriding all of that, attitude. Given that if we actually succeed (and we have not succeeded yet), we will remain a small team, attitude and team players will be needed. As for the number of hats...maybe different than others, I will want someone with multiple talents, and not someone with narrow skills. But that it is the nature of maintaining a small core team that might be supplemented by specialists.
Your company's needs and the
Your company's needs and the way you run it seem to be rather unusual. Most companies these days definitely do not want "jack of all trades" types, they want deeply and narrowly specialized people, at least for technical roles. Look at job postings these days and that becomes readily apparent.
Aside from the fact that my
Aside from the fact that my company is not an IT company, but has IT needs, our view is that the company is very "new age." Lean and flexible and will eventually require very special people to fill its positions. Either that, or we will fall short of the goal.
"Most companies these days
"Most companies these days definitely do not want "jack of all trades" types, they want deeply and narrowly specialized people, at least for technical roles."
I think you might be overgeneralizing. Large companies more often have the luxury of specialized talent and also disproportionately have more job openings. I think the need for "jack of all trades" technical people is very common in smaller companies and startups.
Entrepreneurs are a
Entrepreneurs are a different breed (especially in smaller companies or so-called "start-ups"), and they require a different type of thinking in their people. As I've been writing, flexibility, multi-talented, ability to create and ideate, and yet still able to hunker down and do a specific task. At least in my little, and still struggling company, the team is used to what I've described as a 24/7/365 brainstroming session. All contribute to the solution by bringing unique skill sets and backgrounds to the table. Not everyone is cut out for that type of environment.
I've done six start ups.
I've done six start ups. When I look at new ones I look for people like you. They are a sign of sure death for the start up.
Master Sun Tzu once wrote:
Master Sun Tzu once wrote: "If ignorant both of your enemy and yourself, you are certain to be in peril."
Please substitute "opponent" or "opposite" for "enemy."
Another: "If you know the enemy and know yourself, you need not fear the result of a hundred battles. If you know yourself but not the enemy, for every victory gained you will also suffer a defeat. If you know neither the enemy nor yourself, you will succumb in every battle."
"Grasshopper," there is much to learn...patience is but one virtue...assessing the strengths of your opposite is still another.
You are one sick arrogant
You are one sick arrogant bastard.
Yeah, I am being rude and confrontational. You admit you know nothing about the field, don't even know much about using a computer, but you dare to spew your arrogant ignorance at those who do.
@stonewolf: Who are you
@stonewolf: Who are you talking to? It's not clear.
Please tone it down; I realize something in the above conversation pushed one or more buttons, but let's carry on a conversation here without a flame war.
Some great material for my
Some great material for my article in this thread. Actually, one of the topics I was going to cover was the fallacious (in my opinion) idea that if you don't become a manager then you haven't progressed in your career. As someone who has made the transition, I can tell you that it is simply a different type of work, not a better or more important one.
I have more respect for a programmer who has spent years refining their craft, learned new languages, become a mentor to peers, etc. than someone who jumped into management out of a sense of duty or chasing a paycheck.
Thanks for saying that.
Thanks for saying that. That is what I've been trying to say, better than I seem to be able to say it.
Choices made are not only a
Choices made are not only a product of our circumstances but, even more, a product of who we are. Circumstances, for many, are easier to modify and improve than the inner self -- a new or advanced degree, a certification, relocation for the coveted "dream job" -- all are quantifiable, physical things capable of being procured through saving, studying, or taking other action. The propensity within a given individual to take those actions -- or others -- in their career is a more complex and quite different topic of discussion.
In the area of career progression or advancement, "value" drives the discussion. That is: Value in the business sense.
The value of an employee to the organization is quantifiable, not a matter of perception. Stating it so bluntly may ignite a firestorm of protest but, even though different organizations may calculate value in different ways, all do and everyone's job depends on providing it in ever increasing quantities.
Two examples: Both are qualified, experienced, hands-on programmers with similar qualifications, coding skills, and tenure within the organization.
One is totally committed to remaining a hands-on coder; has a genuine love and passion for what they do and an overwhelming desire to continue doing it. They are vocal in their desire to remain where they are; doing what they are doing. They are often dismissive of the skills, value, and presence of management including those who choose to move on to a management position rather than continue coding.
The other: In addition to being an excellent hands-on coder with a true love of programming, the other is a great mentor and skilled teacher, always taking new recruits under their wing and offering assistance in ways calculated to ensure their success; encouraging them to move on in their career. Co-workers can always depend on them for quick, accurate, no-strings-attached answers to their questions. They have a real passion for positive interaction with others, great written and verbal communication skills -- they are the "go to" person when management comes around asking questions. They understand and offer improvements to process and procedure in a positive way, working with managers to help make everyone's job easier; doing so appropriately and on a volunteer basis.
It is obvious, from the point of view of the organization, who provides the most present and future value. This becomes obvious on their resume over time and their respective references only enhance the differences. As they both progress, the distance between them in terms of career progression becomes ever greater.
Value, in this sense, isn't just performing to a job description. There's a drive and passion in certain individuals to continue creating greater and greater value. There's a drive in organizations to move all employees towards continually creating greater and greater value.
The value of a single hands-on coder who desires no more than that is no greater than the lines of code and applications produced. The value of a former hands-on coder turned manager, driven by a desire to continually create greater value, provide positive leadership to ever larger groups of co-workers, and committed to the strategic success of the entire organization is almost without limit.
It is not about defining a "different type of work," it is about the differences between individuals and their individual capacity or potential to continually drive positive change in the organization. One individual is no better than any other in terms of human value but some are much more valuable in terms of return to the organization... and, that's what we're paid for; why we're hired and sometimes fired.
There is a tendency for hiring managers to view applicants beyond a certain point in their career who lack a history of progressive advancement as less likely to provide leadership, increasing value, and positive change within the organization. When the candidate pool contains multiple choices among applicants who do, those are the ones typically selected for interviews. They are, more often than not, correct in doing so.
This is not age discrimination, it is the normal selection process driven by an ordinary business need to bring value on board. It isn't the number of years experience, it is the progressive assumption of responsibility and continuous creation of greater value to the organization that matters.
William W. (Woody) Williams
Senior Project Manager
Software Development, PMO, IT Governance
My door64 Blog
enweave
Its a "natural selection"
Its a "natural selection" process, you're right. When it comes down to it, if provide two people of comparable technical skills, one with the teamwork attitude and orientation with a "can do" attitude, that is the person that would selected. A small high tech company cannot afford the time to "re-culturize" someone. Alot of it is subjective. But I "know" pretty soon when I meet someone if he/she has the ability to work on the fly without supervision and the ability to "buy into" the Corporate vision.
My "new guy" already clearly knows his role and function, and accepts it fully. Some day I'm going to do a presentation (I've been asked but it hasn't been scheduled) on how we managed a multi-headed beast of a program that had 6 subcontractors and a 2000 mile separation between the program and technical management components.
You seem to be trying
You seem to be trying awfully hard to discount age discrimination. So you are saying it just never happens? Older workers should all just walk off a cliff if they hit 35 and haven't become a manager because they have no value anymore?
I'd say it isn't so easy or cut and dried as you would make it out as far as categorizing different older workers. And I am not being dismissive of people who choose to take on a management role, I'm just saying I find that being dismissive of people who don't rather offensive. I'd be glad to take on a management role myself and have in the past but because of largely cosmetic issues I generally don't get the chance.
Frankly, for people on a technical career path, there just isn't going to be "progressive advancement" or "progressive assumption of responsibility" beyond a certain point. Once a software engineer gets to the "architect" level, that is it. A lot of talented people are going to make it to that level by the time they are 35. If they want to move up then they have to move to a non-technical path. So does that mean that everyone who is successful in a technical role that chooses not to move into management is a failure, and suddenly unemployable? What about the people who are unfortunate enough to get knocked down by a layoff and have to start over at a lower level and work their way back up? By the tone of your response, one might believe that you think those people are deserving of having their career permanently damaged.
The problem with a lot of your straw man argument is all too often that NEITHER of the two artificial candidate profiles you suggest would even get a call back or chance to interview, because both would be dismissed as "overqualified". Candidates with only 8-10 years experience who are perceived to be cheaper or "more up to date", "more energetic" or "a better cultural fit" would be selected. And selected without ever even giving them a chance to state their case.
As far as "the other" type you mention? Well, I can tell you from experience what all too often happens to those people. They get laid off because they are the highest paid people on the team. Well, at least I've seen that happen multiple times at my last few employers. What you are saying is all great in a theoretically perfect world, but I can tell you that in the real world a lot of hiring managers make bad hiring and firing decisions. If everything worked the way you say, no company would ever fail, and this time in history should teach us something about that. And as far as it goes, some of the best managers I've ever had didn't rise up from technical roles at all. Some of the worst managers I ever had were failures in technical roles but managed to claw their way into management anyway.
At any rate I've actually striven to be "the other" type, and I'm down to being the last US citizen software engineer where I work. I'm not arrogant enough to claim I've always been successful at it, but I've always tried to do all the things you've laid out. So it has maybe kept me from getting fired, but it sure isn't getting me ahead very quickly either.
I am not discounting age
I am not discounting age discrimination. If I had to go and get a job working for a company, I know that my options would be limited, even though my experiences are varied and valuable to some. But you spend alot of time...[judgmental statement deleted]. Some people see a wall, and they turn away; others see a wall and try to go over or around it; others "simply" break through it.
I'm the latter (or is that, "ladder")
There is nothing personal
There is nothing personal intended and no "real" person in mind in the models used; they are drawn from composites and used as examples to make a point. Nothing further intended.
Discrimination exists -- that point was made; not discounted. However, there are forces at work in the market beyond age discrimination or sex discrimination... or discrimination of any kind and workers ignore those other forces at great peril. Some people are prejudiced; prone to stereotype. But that's not the entire story. There are examples of age discrimination and there are examples of something else entirely at work.
Assume, for example, the age of the two models is 28. Age was not a part of the original comparison (because age wasn't the point) but we can add it. From the point of view of the organization or hiring manager, the same outcome is predicted. "It is obvious, from the point of view of the organization, who provides the most present and future value." There is neither difference nor distinction when the age (28) is added.
There are many variables in hiring, firing, and promotional decisions including subjective ones mentioned by Jay Fraser. There are more discriminatory, and perception-based factors in play as well. The examples, or models, used are not intended to integrate all possible variables; only one dimension, a uniquely personal and critically important one.
"There's a drive and passion in certain individuals to continue creating greater and greater value. There's a drive in organizations to move all employees towards continually creating greater and greater value."
People with this "passion" continually drive positive change in the organization... they are incapable of doing less. These people -- this type of person is more likely to be promoted, hired, and, perhaps, avoided in a lay-off.
That "perhaps" is there because very often layoffs are unrelated to any particular employees' value or potential value (e.g. "across the board cuts").
"More likely" is emphasized because it does not mean every time, every day, everywhere with any and all hiring managers or organizations. "There is a tendency for hiring managers..." is how this is phrased in the previous post: A tendency.
That "tendency" can work in the favor of an employee or candidate, or it can work against them. Those who continually driving positive change in the organization have the advantage at any age.
William W. (Woody) Williams
Senior Project Manager
Software Development, PMO, IT Governance
My door64 Blog
enweave