Guest Author - Julie L Baumler
I've been involved in a lot of conversations about how we as computer professionals (or some sub-group such as system administrators, developers, or programmers) should behave as professionals. There is much less discussion about the other side of the coin, what kind of treatment should we as professionals expect. A few things are fairly easy to agree on. We should not be expected to break the code of ethics for any relevant professional organizations or certifications that we hold or aspire towards. (For instance the ISACA, SAGE, SANS...) We shouldn't be expected to break the law or encourage others to break the law. The later sounds simple until you realize that following the law includes employment law. This means we should be taking our legally required breaks, and more importantly, not encouraging a culture of overwork, unpaid overtime, and never taking breaks. Not only is this likely to be inefficient and lead to burnout and poor employee retention in the long run, it is also often illegal. Even if you are an exempt employee (legally exempt from overtime), there may be more junior employees in your organization who are not.
Additionally, as professionals, we should be treated as professionals. Our opinions, within our areas of expertise, should be taken seriously and treated with respect. We, ourselves should be treated with respect and not belittled. We should be given sufficient time to do our work. When others both within and outside our company hand work products over to us, they should give us professional quality products. This doesn't mean that everything should be perfect, but it does mean that it should include sufficient documentation, either in written form or in the form of timely access to someone to answer our questions depending on the formality of the item and organization. We should be given sufficient direction to do our jobs, without micromanaging us. This means that unless we are in training, we should get specifications for tasks, not step by step instructions. This can be in the form of standing orders and policies for regular and expected tasks, but projects and changes from the norm (for instance, a special one time data export to be added to the backups or a piece of software that needs to be included in a non-standard manner) should include specific specifications or directions as needed. When we don't get these things, we should be able to count on our managers to stand up for us so that we do get them.
What other expectations do you think we should have as professionals both of our work environment and of ourselves? I think this is an area where we need to start making changes, both in mindset and in action.
Note: Since I wrote this article, I have started reading the excellent, recent book by Robert "Uncle Bob" Martin (@unclebobmartin), The Clean Coder: A Code of Conduct for Professional Programmers\. This has changed some of my ideas about why we, as computer professionals, don't get professional treatment in the workplace, but I still feel the issues I've presented are a starting point for discussion.