Because IT systems are so critical for companies in every industry today, eventually most organizations choose to hire a CIO to set the technical direction and oversee its implementation. Adding any C-level executive role has a major impact on the dynamics of corporate management, so selecting the right CIO is about more than just technical knowledge. CIOs should bring the following key characteristics with them to the business.
CIOs should be able to understand the company's vision for its business and be able to generate an information technology vision that supports the business vision. This requires more than superficial knowledge of the business; there's a need for in-depth knowledge of the domain. Previous work experience in your industry is helpful, but also look for a CIO who shares your passion for growing the company.
New technology is often sold as the answer to all problems, and as far more simple to integrate than it really is. CIOs need to know how to dig beyond the sales pitches to understand what the technology really can do for the business as well as how complex and disruptive it will be. Because technology changes constantly, look for a CIO who demonstrates curiosity and actively seeks to learn about new technology. You need someone you can trust to set your direction in the future, not just make choices about the technologies you hear about today.
CIOs need to be able to effectively communicate with the CEO, their management peers, and more junior managers and staff. Marshaling arguments that persuade a CEO is one thing; convincing the IT team that has to do the hands-on work of a new technology or new process's value is something else. The CIO should be able to discuss the benefits of a technology in nontechnical terms when talking with business management, and also be comfortable using technical language when talking with the tech team.
The main advantage having a CIO can bring to a company is using their business vision, technical understanding, and leadership skills to envision new ways of doing things. Using either the company's existing technical capability or through new technology, the CIO needs to create new ways of satisfying the business's technical needs. Done well, the CIO ensures that new technologies keep the company competitive and support its success.
If the only time you think of using a staffing firm is when you need a hand filling a position, you're not getting the full benefit of their expertise. Partnering with a staffing agency can help companies define and achieve a comprehensive workforce management strategy. Instead of always reacting to the loss of IT talent, companies can work together with the staffing agency to proactively position themselves to attract IT talent.
Provide a View Across the Industry
Because of their industry contacts, staffing agencies know how other organizations are enhancing their benefits and policies to appeal to potential employees. They have insight into job descriptions and how the roles of employees are changing. A staffing agency can work with its client companies to develop or revise HR policies to match industry standards and make the company more appealing to potential hires.
Help You Plan for Flexible Staffing
One of the biggest challenges for companies is finding a way to balance long-term and short-term staffing needs. Having to implement a layoff is painful and costly for companies in multiple ways, but being understaffed is also difficult. A staffing agency can help companies develop strategies for using part-time and temporary staff to meet changing staffing needs, as well as recruit the part-time and temporary employees needed. In addition, working with a staffing agency reduces the time needed to find these employees.
Share Responsibilities for Employees
In some cases, the temporary employees don't become your employee; they are employees of the staffing agency. In this arrangement, the staffing agency – not your business – is responsible for meeting legal obligations such as withholding taxes and making FICA contributions. Another significant legal obligation that belongs to the staffing agency is compliance with ACA regulations. By removing these responsibilities from your company, corporate HR and employee benefit teams can be smaller and more efficient.
IT projects are intense. There's a push for perfection, a drive to meet deadlines, 24/7 systems that crash at 2 a.m. … It's easy for IT employees to get burned out.
Burned out employees aren't productive, aren't creative, and, most importantly, aren't healthy. Here are four strategies to help keep your IT team working and happy about it.
Help your team develop their skills.Find out what your employees want to do, then help them do it. Employees who are working on a project they're interested in are happier and less likely to burn out. For some employees, this may mean learning a new technology and using it in a proof-of-concept side project. For others, it may mean developing non-technical skills and moving up the management ladder.
Share the support responsibility.Rotate the responsibility for production support issues, and stick to the rotation. End users often directly call the person who helped them out the last time instead of calling the support hotline. Let your staff know that it's ok to tell these callers "John's on support this week; I'll let him know about the problem."
Honor your employees' time off.Modern business tends to treat "time off" as a joke; employees are expected to check email unless they're in a destination without Internet. Force yourself to let employees who are on vacation or taking a sick day to truly be away from the office. If the employee were to quit, you'd have to manage without them; this is an opportunity to make sure you have backup knowledge for all their responsibilities.
Praise your team publicly.Most of the rewards people receive for work aren't visible; salaries and bonuses are confidential and promotions are rare. Reward your team by letting them know you value their work in the simplest way possible: tell them. People want to feel their work has meaning, and this is an effective way of reassuring them the work is meaningful to you and to the company.
There are no lemon laws for bad software, but that doesn’t mean bad software doesn't matter. The QA role is one of the last chances to stop from shipping bad software. Contrary to what many think, the fact that it comes near the end of the development process doesn't mean it has little importance; it makes it crucial to producing quality products that boost a company's reputation, as well as its sales.
QA analysts develop test plans, execute tests, and evaluate a product's readiness to ship – but they can do so much more. QA can take on role that goes beyond verifying code quality to perform functions that ensure the product addresses the underlying user needs.
Involve the QA Team During Requirements
This means involving QA during the requirements phase, not waiting to bring them in until coding is complete. Like business analysts, QA staff understand both technology and business needs. They can help address developers' questions when the business isn't available. They also have a comprehensive view of what the application needs to do, keeping in mind some of the less common scenarios business users tend to omit. By reviewing the requirements early in the development process, QA can help ensure that important scenarios are identified prior to testing.
Involve the QA Team to Extend the Testing Process
Although test-driven development relies on developers to keep testing as each piece of functionality is created, QA can build an environment that reduces the likelihood of defects slipping through. Automating the test process and maintaining a library of regression test cases are critical to ensuring that comprehensive testing is performed. QA also brings focus to testing issues that can't be effectively tested without viewing the application as a whole, such as performance and security.
Involve the QA Team to Shape Future Development
QA should also remain involved after testing is complete. The output from the QA testing process shouldn't simply be a signoff that the application is ready to ship. QA should provide feedback to the application owner to help identify issues that extend beyond problems in a single test case. Because they look at the entire application and the business process, QA can identify failings in the development process that are resulting in defects.
Every succeeding generation is more tech savvy than the previous one. The PC hadn't even been invented when baby boomers started working; early boomers had to adapt to PCs with on-the-job training, and even late boomers only encountered them in college.
The latest generation, the millennials, is far more comfortable with technology than its parents and grandparents. Companies that want to attract them, whether as customers or employees, need to use technology in ways that appeal to them.
Companies Need Social Media Savvy
Surveys show that lack of awareness of the business's brand is a major hindrance to recruiting. But companies' talent-branding techniques focus on traditional media. Few of them effectively use the digital media and social media technology that communicates to millennials in other aspects of their lives.
Millennials document their lives on social media, and they expect social media to document a company's life, too. That means the corporate job site needs to be more than just a listing of jobs. It needs to introduce the company culture, through photos and videos of real employees talking about life on the job.
Use every social media channel out there—LinkedIn, Twitter, Facebook, Instagram, Pinterest, and whatever new trending site comes along—to post images that convey the experience of working for you. Normal, everyday activities like team meetings and lunch in the cafeteria should be displayed as well as official corporate special events.
Mobile Tech is Mandatory
Besides using multiple social media channels, companies need to make sure their digital information works well on multiple platforms. Millennials have given up landlines for mobile phones, and most rely on mobile tech for accessing online data. A website that doesn't work well on phones and tablets isn't just ineffective for company recruiting; it's likely to push away candidates you want to attract.
Millennials aren't threatened by technology; they see it as a tool that supports innovation. Companies that use cutting-edge technology and emphasize this to their potential hires will have an advantage in recruiting the best talent of the newly dominant generation.
For most companies, technology isn't a core part of their services. Even for companies that create tech products, running a data center and supporting general-purpose business applications isn't a core competency. Now that cloud computing has made the idea of running business applications off-site acceptable, more businesses are turning to managed service providers (MSPs) to provide basic services like email, backups, and monitoring.
The benefits of using MSPs are several:
• Staff is freed up for more important functions.
Most businesses would prefer IT staff to work on strategic projects rather than housekeeping functions. Offloading that work to an MSP lets internal resources be allocated more efficiently.
• There are cost savings.
Running a data center is expensive. Even just the energy costs for email servers are significant. Using an MSP reduces or eliminates many of these costs. Monthly charges are fixed and not subject to fluctuation that impacts cashflows.
• Information security is enhanced.
MSPs often have more expertise in data security than the company that originates the data. Because they handle these services for numerous customers, they have access to skills and knowledge other companies lack. Because many threats to data security come from internal users, having the physical servers and storage devices off-site and managed by non-employees surprisingly increases physical security.
• Adhering to compliance standards is easier.
Firms have to meet many standards regarding handling sensitive information, especially in financial and health-related businesses. Many MSPs specialize in these areas and have appropriate certifications and processes in place. It's easier for businesses to leverage the MSP’s certified data center than to build their own.
• Super support.
MSPs provide support around the clock. Their staff will be ready to recover systems as soon as an incident is noted. MSPs have advanced monitoring tools in place to detect and alert on any infrastructure problems. Solid backup practices ensure that data can be recovered and business continuity guaranteed even after a systems failure.
• They're ready for the future.
MSPs keep systems up to date with all mandatory patches. They're also aware of upcoming upgrades and technical changes, and can work with a business as a partner to develop a technology strategy. Leveraging expert knowledge may be the best reason companies turn to MSPs.
Most IT employees don't handle money or credit card payments, so it may not seem obvious that you should do a background check before hiring them. But money isn't the only thing of value; your IT workers may have access to sensitive data, including customer information and intellectual property. Choosing the wrong employee puts that information and your company's reputation at risk. Background checks can help you evaluate prospective hires on the following criteria:
• Are they honest?
Many people stretch the facts on their resume, and everyone tries to put the best light on their accomplishments. But it's important that the basics are correct – they really did earn the degrees they claim and they worked for the listed previous employers on the listed dates.
• Will your other employees be safe?
It's your responsibility to provide a safe work environment for all your employees. This means you need to know whether a job candidate has a criminal record. Not all inappropriate behavior shows up in criminal records; a history of sexual harassment or drinking on the job are also relevant when making hiring decisions.
• Are they vulnerable to outside pressures?
Most threats to company security come from insiders, not external agents. Candidates who have financial problems may be more likely to be pressured into taking actions that expose company information.
In most cases, you can find the information you need from public records. Some information isn't public, and – depending on the sensitivity of the position – you may want to go beyond public records to have a thorough investigation conducted. Candidates for senior positions should certainly be fully vetted to avoid embarrassment, if nothing else. For most lower-level positions, public records will be adequate.
Be aware that state laws may dictate which records you are allowed to consider, and whether you are required to get the candidate's permission to conduct the background check. The purpose of a background check is to protect the company; be sure it's conducted properly to avoid endangering the company instead.
You always want new employees to be able to get down to work quickly, especially if they are a temporary worker. If temps aren't able to start contributing the day they show up, their contract may be up before you're able to get value from their presence. Have a plan to onboard them and get them started as soon as possible. Keep these three things in mind when you welcome a temp to your team:
1. Show them around.
Be sure to give your temps a tour of the work environment, both virtual and physical. They need to know where the coffee machines and copy machines are; they also need to know where the source code is. They will probably need to remotely log in to multiple machines, so be prepared with an overview of your hardware configuration and your different environments (development, QA, production). They'll likely need to get an overview of your business domain and the current applications your team is developing or supporting.
2. Give them access.
Knowing where source code and machines are isn't any good if the temp can't access them. There's often bureaucratic overhead to getting access permissions granted, even for something as basic as a company email address, so start the process early. IT workers usually need access to many applications, so it's helpful to do a review and identify a list of everything they'll need to login to: machines, email, databases, shared development environments, bug tracking tools, development and test versions of deployed applications, and anything else you can think of. Get as many of these set up in advance to avoid roadblocks when they're trying to get work done.
3. Know what you want them to do.
Have a plan for what the temp needs to deliver during their stay at your company. While priorities may change and you'll want to remain flexible, there's a cost every time someone shifts focus from one work area to another. With permanent employees, that cost may be outweighed by the knowledge and the experience gained. With temporary employees, the time lost is most likely permanently lost. Be prepared with all the information the temp will need to complete their assigned tasks. As with any new employee, they're likely to have lots of questions, so make sure they know whom to turn to for help.
Even though temporary employees don't stick around long, they can make a big contribution to your project's success – as long as you give them tools, support, and create an environment where they can succeed.
Companies may fantasize about employees who devote their lives to the business, but the reality is that every worker has a life outside of the office. Creating a flexible workplace that balances the needs of the business with the needs of employees can be challenging. Here are five tips to help make it work.
1. Define the boundaries of the flexible work policy.
Flexible work can cover a range of alternatives. Are you permitting telecommuting, flexible hours, or both? If you permit flexible hours, are you allowing the flexibility to work four 10-hour days, or just shifting start and end times five days per week?
2. Define how communication and collaboration will be managed.
Because workers are no longer all working the same hours from the same location, coordinating work activity becomes more challenging. Managers need to make clear how work issues will be raised and resolved when face-to-face meetings can't be called at a moment's notice. Consider using video conferences and other technology to get non-verbal feedback not expressed in email and phone calls.
3. Define how performance will be measured.
When employees aren't on site, managers may have a tougher time assessing performance. Before agreeing to any flexible work arrangement, both the manager and the employee should understand the metrics that will be used to judge performance.
4. Provide the technology needed to work at home.
While most employees probably have adequate Internet and phone service at home, companies should confirm all necessary resources are available. When necessary, companies should consider providing additional hardware and paying for higher network speeds to support at-home productivity. Companies should also make sure at-home computing is conducted securely and protects company resources through the use of VPN and other security tools.
5. Measure the effectiveness of your policy.
As the workforce in general changes, and as your employees change, your flexible work policy may need to change as well. New parents and soon-to-retire individuals may appreciate flexibility but have different needs. Periodically survey your employees to find out what kind of work flexibility, they want. Make sure your flexible work policy is itself flexible, and change it when needed to make sure it provides the flexibility your employees need.
There are many business applications still running on Cobol, but new developers would never base their career solely around learning Cobol. Even for developers who are working with more modern languages and methodologies, specializing in a single technology isn't the best basis for a career.
Besides the fact that technology changes rapidly (Cobol aside!), developers with a skill set across the technology stack are more valuable to their organization. These developers can step up and pitch in wherever help is needed, and their understanding of the challenges of different technologies provides a foundation for working in architecture, project lead, or managerial roles in addition to a varied programming career.
Software ultimately runs on physical facilities, so understanding the limitations of hardware and networks helps engineers make appropriate design decisions. Projects can either take advantage of, or be limited by, the specific operating system they are running on, so understanding this is key. Network configurations raise performance issues and security concerns, especially with growing use of the cloud. Mobile devices offer unique challenges as well. Applications won't succeed unless developers understand these issues and handle them appropriately.
There are fads and trends in programming, so while knowing a specific language is helpful for a while, having a solid foundation in good software engineering practices is more important. Developers need to fully grasp the concepts of object-oriented design in order to write reusable code that speeds projects. Debugging skills are often overlooked, but crucial. So is the ability to reverse engineer and work with existing code, so developers should practice reading and analyzing code they didn't write.
Ultimately, most applications require manipulating data, so developers should be comfortable with a variety of databases. Developers should be able to write SQL queries and work with stored procedures. Although many data-dependent projects will have DBAs to fine-tune the database, developers should be comfortable with the basics of database design and performance tuning. Because "big data" is increasing in importance, developers should learn how to work with very large datasets.
Understand Front Ends
Applications aren't useful until someone uses them, so developers need to understand what makes an effective front end. A designer may polish the look and feel, but developers should understand what works well on different platforms – thick clients still exist, and web applications and mobile apps present different challenges.