26
Thu, Dec
0 New Articles

How to Lead, Manage, and Motivate Corporate Programmers

General
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

In my 43-year programming career, I've been lucky enough to work with some very fine managers. Unfortunately, however, only a few of the hundreds I've seen in action could be deemed excellent or great. Most of the rest were competent enough, but they routinely failed to take advantage of the training and productivity tools that would have made their IT departments vastly better. And some managers I've had were, I regret to say, simply clueless.

All of the managers whom I'd call great have shared similar leadership attributes and management styles. All enjoyed working with people, encouraged open communication, believed in giving positive feedback, acquired the latest productivity tools for their staffers, devised programming standards, and encouraged their programmers to attend seminars and take new courses. And all of them honed their management skills through study and schooling.

For most of my 43 years in the field, I've been a corporate programmer and consultant--first at IBM and then at scores of other firms. But I've done time as a manager, too--as vice president of the software firm I co-founded and as the president of my own software companies. After four decades of experience as both programmer and manager, I've formed several conclusions as to what makes a good manager, what managers regularly do well, and what they too often do wrong. Here's what I believe corporate programming managers need to do to become the best managers they can be:

Be Prepared

The problem for managers these days--especially the new manager promoted into his or her job from a technical programming position--is that unless the company is a Fortune 100 company, with formal, mandatory management training programs, first-time managers normally get on-the-job training--which means no management training. But management requires different skills and goals than does technical programming. How can you, a manager with no training--and no consciousness that you even need any training--possibly succeed?

The answer is, you can't--and won't. Without training and study, you will spend your working career continually making the same mistakes with staffers and overlooking opportunities to make your IT department more productive. The key to the effective management and motivation of corporate programmers is proper preparation.

Fortunately, this is not hard to achieve. Many great managers have written books that unveil the secrets of successful management to those ready to absorb them. And--perhaps surprisingly--reading these books may also help programmers acquire the skills they need to excel in their jobs.

If you're a new (or doing-the-job-by-your-gut) manager, I believe you should immediately buy and read several books that will provide you with the basic mind-set all successful managers show. I suggest these books: The Success Principles (2004, Collins), which shows you how to set ambitious goals and how to treat people and events, and The One-Minute Manager (1982, William Morrow & Company), which shows you how to actually manage a team. A third suggestion is They Made America, (2004, Little, Brown), a book about how the great inventors and innovators accomplished what was thought to be impossible, overcoming huge obstacles and succeeding by asking "Why can't I?" These books will inspire you and help prepare you to be an effective manager. Put these books in your IT reference library and suggest that every member of your team, including your programmers, read them all to see how significant success is attained.

One of your first tasks should be to find out what your management expects of you and your team and inventory the resources, documentation, and budget available to you. Write down your goals and brainstorm how you and your team might accomplish them. If your successful predecessor is still available, ask him or her for advice and guidance on how you can succeed and avoid failure.

Train Every Programmer to Become an Expert

I was recently a consultant at a very large, worldwide pharmaceutical company when a senior programmer unexpectedly resigned. She had eight years of experience in key business applications. However, virtually none of the knowledge and expertise that she had developed had been documented and captured as a valuable company asset, an asset possibly worth hundreds of thousands of dollars.

A manager with foresight would have captured her knowledge in print or on CD or DVD. No employee's departure should leave any other programmer in the dark about how to do any part of the departing programmer's job. Too often, I have seen IT departments devastated by the decampment of one or two employees. This managerial blind spot is all too common.

You should implement a formal knowledge-capture and knowledge-transfer system. Document, record, and make available the skill, techniques, expertise, and application knowledge of the best team member in every functional area, including every technique, programming standard, model production program selected as the prototype for a programming technique, and, particularly, the application business logic flow of every application that you now support. I believe that in-house-produced DVD or CD presentations are the very best way to accomplish this permanent knowledge capture. Knowledge transfer is then simply making the IT reference library of DVDs available to all programmers and requesting that they all fully utilize that new and incredibly valuable resource.

Implementing the knowledge-capture-and-transfer DVD library will allow you, the manager, to understand all of the critical business applications for which you and your team are responsible. This process will also help you understand just how your technical team actually operates. Like you, new technical members to your team and new programming consultants have no knowledge of how to program in your environment or in your specific business applications. Knowledge- transfer DVDs illustrating and orienting exactly how a new programming-team member should operate and how your business operates will save literally weeks of time for your new programmers. Indeed, this savvy management technique will save you time over and over again. Using it will reap more productive, higher-quality output in your shop, give your new programmers a feeling of confidence, and trigger their respect for a manager who is clearly effective and cares about their success.

Keep it simple and focus on the business needs. Your smartest, most talented, most sophisticated, most knowledgeable programmer will eventually leave. You are responsible for making sure that other programmers can pick up all your team's responsibilities. My experience has always been that the best way to achieve consistency, increased productivity, and excellence in programming is by implementing reasonable and understandable programming standards and using actual production programs to illustrate the implementation of those standards.

Provide easily available technical second-level support (mentoring) when a team member can't solve or understand some issue. I have personally wasted days of expensive consulting time trying to ferret out some obscure technique or in-house-developed function or application that was undocumented, because there was no one available to whom I could ask the question "How do I...?"

Provide Your Team with the Best Productivity Tools

Giving your programmers the best productivity tools and techniques available can easily double or triple their capability and productivity. Unless you and senior management provide those tools, your company, you, and your team members will not be able to compete with companies that do provide those tools or with expert SEI level 5 offshore software companies.

If you want to run a successful department, you need to be an advocate for your team members, actively lobbying to provide them these tools:

  • Current, blindly fast computing capability. Computer hardware is about 1 billion times faster than it was when I wrote my first program on the IBM 650 at Drexel Institute in 1960, and over the next 50 years, computers will become about another billion times faster than they are now. Having a fast computer multiplies your productivity and your capability more than any other factor except education.
  • Current and complete computer operating system software.
  • Vendor-purchased packages that are current and on maintenance.
  • Current productivity tools that can multiply your programmers' efficiency. A typical large corporation will have at least 10 key vendor-supplied software productivity tools. You and your team should be proactive in finding them, implementing them, and encouraging their use.
  • A comprehensive program change management system. Promotion to the production environment is to be accomplished only by IT management (who have not performed the change). This is a Sarbanes-Oxley requirement.
  • Full file journaling on all production and test libraries. This is or will be a comprehensive external IT audit item, providing not only a wealth of auditing information but also recovery capability.
  • A full test environment for every production environment. The production environment must be secured from access by all programmers. This is a Sarbanes-Oxley requirement. The programmer works only in the test environment, although production data files may be copied into the test environment.
  • A comprehensive Electronic Support Desk, including complete data for projects, tasks, ticket tracking and reporting, and attached tests.
  • A formal electronic programming task document that clearly states the request and contains an electronic attachment with the specifics of the task (report, menu option, program name, with the screen or report included). When estimating the hours it should take to complete the task, you should include testing, documenting, getting user approval, and implementing this task. Require that the person estimating the hours include a paragraph on how he or she envisions this task being accomplished (the basis of the time estimate). This gives the programmer a clue as to how management anticipates the task will be accomplished. The person estimating the time and method to accomplish the task must reference previous electronically documented tasks that are the same as or very similar to this new task. The tenth Excel spreadsheet upload to the Fixed Asset file should be a snap--quick, low-risk, and easily accomplished--rather than a high-risk, completely new work, even for a new programmer unfamiliar with that technique.
  • A complete, comprehensive, and prominently displayed IT reference library that contains technical books, DVDs, and reference manuals on every technical discipline, vendor product, and business process installed at your company. Include additional books on important aspects of programmer and management success, including project management.

Encourage Regular Two-Way Communication with Your Team

Your success as a manager is based on the success of your team, the success of your customers, and particularly on the way senior management perceives you and your team.

The excellent managers I've worked with all had an open-door policy; they encouraged questions, required progress reports, and expected no surprises. I had the good luck to have these communicative managers at the beginning of my career, when I worked for IBM. The worst managers were the ones who made it clear that we programmers were not to bother them. The sense of isolation and the wasted time that were engendered by these poor managers were for me terrifying; I understood that difficult times were ahead and that I had to move on.

If you're not comfortable with this sort of interaction with your staff, take a look at The One-Minute Manager, which offers outstanding techniques for achieving daily (or at least weekly) face-to-face contact and communication with and feedback from your team.

Here are my suggestions for good communication with your employees, based on being on both sides of the manager and programmer relationship and on observing what is successful and what leads to failure:

  • Make yourself proactively available to each team member every day. As appropriate, ask team members these questions: How can I help you? What do you need to be successful today? What is the most difficult and frustrating thing for you now? How can we do things better?
  • Meet with your team weekly as a group, perhaps even over lunch, and ask the same questions. Ask for direct feedback, communicate directly with them about what you want them to know, and listen to what they want you to know and act on.
  • Weekly, meet individually with every team member for perhaps a 10-minute review and summary of the week. Have each team member write a weekly electronic activity summary of his or her accomplishments, issues, and suggestions, and address issues needing your resolution. Ask the same questions as above and encourage team members to write them on their weekly activity summaries. This information and feedback is critical to you as input you'll need when you meet and communicate with your management. Proactively discuss these topics with each member: continuing professional development, opportunities and skills needed for promotion, customer and management feedback, and particularly whatever else the member wants to communicate to you.
  • Periodically conduct an informal team brainstorming session where almost anything goes, where staffers can venture opinions about how really significant advancements can be accomplished. The book illustrating how the great inventions were conceived and accomplished, They Made America, makes clear that many (perhaps most) inventors and innovators get started on their path because they ask themselves, "Why can't I...?" That question is the starting point for all the great things that your team will accomplish. There are valuable techniques and inventions waiting to be created inside and outside your company when someone with passion and persistence asks, "Why can't I...?"
  • Ask your team members to focus on what your customers really want and who your customers are. Communicate that your team's customers include all levels of corporate management and every level of user, and that none of your customers (from the CEO on down) knows about or cares about IT internal programming techniques, since they see only the cost or value of the finished IT product and the interaction they experience with IT.
  • Develop education, professional development, and promotion plans for each member, with the input and support of the member. Work toward developing and promoting team members wherever their skills and opportunities may take them.
  • Delegate the technical work rather than doing it yourself, even if you can do it better and faster. Your goal is to develop your team members to be able to do technical work better than you could ever do by providing them with the knowledge, tools, training, direction, support, and appreciation that perhaps you never had the luxury of having.

Reward Your Team Members

To succeed, you and your programmers must embrace significant change, focus on education, develop personally, increase your knowledge, strengthen your interpersonal skills, and raise your goals.

My years in programming and management have taught me that showing team members that you appreciate their efforts is vital to a programming department's success. Take a positive approach with your programmers every day.

The Success Principles backs me up: The author declares that for employees, appreciation is the single most important and powerful desired result from management--more powerful even than compensation and all other tangible possibilities.

Demonstrate your sincere appreciation to each team member and to the team as a group for their extra efforts and focus on increased success.

Be sure to tell your management that your success is based on your team's efforts, and ask them to recognize and reward outstanding performance and accomplishment by your team.

Show your appreciation by providing tangible financial benefits to those who have done their work well, beyond the expectations of your customers.

Reward your team as a group and individually. IBM was a master at recognizing and rewarding us for exceptional efforts, both as a group and especially individually. This positive reinforcement worked wonders in spurring me on toward even more extraordinary efforts. I still treasure my IBM awards and the IBM award symposiums I attended; I have happy memories of my years of working with wonderfully dedicated and motivated people, all employed by the greatest American corporation of the 1970s. IBM gave me the opportunity to splash in the Fontainebleau Hotel pool in Miami on a fabulous three-day recognition experience and to meet with top IBM executive management because they considered my work exceptional. That recognition drove me to ever greater efforts to help IBM achieve success. If you effectively communicate to your company's top managers that you believe that exceptional effort should be rewarded, you will produce similar dedication in your programmers.

So my counsel is this: Inspire and motivate your successful team members by sending them to off-site conferences, schools, and seminars for their professional development. The semi-annual COMMON Conferences can be a refreshing and motivating experience for your technical staff and IT management members. If your company can't afford the expense and time away for personnel for a full week of COMMON, then send them just Sunday through Tuesday to attend the first two days of the sessions, the keynote speeches, and the exhibitors' Expo.

Be a trusted mentor to your team members. Nothing that you can do will ultimately prevent your best and brightest members from moving on when it is their time to do so. Open and honest communication and a sincere concern for their future will help you retain team members, rather than unexpectedly lose them.

Never be satisfied with and complacent about your own performance or your position. Your significant and recognized success at your current management position means that you are a candidate for more senior management positions everywhere.

Like the great inventors and innovators, ask "Why can't I...?" Then, relentlessly and resolutely pursue your path to success and great accomplishment.

Relish your shared success. You and your team deserve it and have earned it, so you have a right to enjoy it and prosper from it.

Paul H. Harkins is president and CTO of Harkins Audit Software. Inc. He has worked in corporate IT for 43 years, starting with more than 21 years at IBM, where he was a Senior System Engineer and where he authored several IBM software products. Paul holds U.S. and international software patents and is the author of How to Become a Highly Paid Corporate Programmer. You can reach him at This email address is being protected from spambots. You need JavaScript enabled to view it..


BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: