So often many of us who have been in IT for a number of years think of software services as something getting done off shore by a large staff focused on their screens with their ‘blinders’ on. This could not be further from the truth. We have many extraordinary software development experts today focused primarily on the customer experience while using the ever improving technologies that make sure customers are no longer frustrated with websites being down, product availability advertised being untrue, or any number of issues we all encounter that causes our blood pressure to rise.
It’s that time of year so many of us look forward to; celebrating with our family and friends around the dinner table, and thinking through how to hide those presents we’ll be giving out soon. It’s also that time when I look back and reflect on how Bridge360 became 16 years old last month.
“Java is Dead”, “Java is Dying”, “Java is Obsolete” and other variations on the meme of Java mortality appear frequently on line in the IT “press”. These are click-bait, intended to draw your attention to a headline, or get some cheap SEO. For the more complex and nuanced truth about trends in Java usage – look beyond opinions for evidence.
In most tech companies, it has become commonplace to have VPN access to allow for working remotely. This can allow for greater productivity and flexibility for employees should they need to work from home or during business trips. It can also lead to some drawbacks. If you are not careful you could see a lot of your time-off spent doing work to the point that it feels like you never left the office. This can be especially difficult for workaholics and people with mindsets that can’t leave things unfinished.
About two years ago, I was working on a project written in the Go language. Go was originally developed by Google in 2007 for internal use, but was later released (open source) for general use. The project I was on was a large enterprise-wide service that collected large amounts of data (and did it well). This article introduces some of the interesting aspects of the language that might entice you to consider it for your own use, while pointing out a few things of which to be aware if you do.
by Karel Gonzalez, Senior Software Engineer
A few weeks ago, I had the opportunity to attend the Lonestar Application Security Conference here in Austin. Security is something I have always been mindful of during my development, but I still felt a sense of futility about it. I ask myself on a fairly regular basis “I’m doing something, but am I doing enough?” Continue reading
by Phil Smith, Vice President Client Services
There is a large volume of material circulating on the Internet, providing philosophical approaches to lifelong learning for individuals. The concept of “continuous learning”, as it applies to the workplace, tends to revolve around these two generally accepted definitions:
- “Ongoing learning process that seeks to incorporate the lessons learnt (from the results of already implemented changes) into a continuous improvement program” (http://www.businessdictionary.com/definition/continuous-learning-activity.html), and…
- “Total quality philosophy in which every process and system in a firm is subject to constant scrutiny to (1) eliminate waste, (2) reduce response time, and (3) simplify process or product design” (http://www.businessdictionary.com/definition/continuous-improvement-program.html).
These links will take you back to the core concept that organizations must base their manufacturing and/or services on processes, and that once established, processes must always be under formal measurement, scrutiny, and improvement. If you are in a knowledge-based industry, such as software engineering and quality, then you have to extend the concept into your training program. Training must be viewed as a process and must always be improving. This applies to your own skill set as well—it’s not just about process capability, but also about people capability.
There is some overlap with workplace continuous learning (employer sponsored improvement) and self-improvement (individual sponsored improvement) in a few articles that I recently stumbled onto where the authors were clearly unhappy with current or past employers’ training programs. I’m not providing links because in many cases it was obvious which employer had caused enough emotion to ignite a blog. However, these articles do raise interesting points, specifically, who is responsible for an employee remaining current with their technical skills: the employee, or the employer?
I’m referring to widely accepted workplace concepts related to improvement; not just improvement of the product or service, but also improvement of the human capital used to deliver. I’ll state my opinion clearly right here: the employer is responsible. Organizations that rely on people’s knowledge, skills, and efficiencies have a significant responsibility and market incentive to keep their workforce as far ahead of the competition’s workforce as possible. These organizations have a social and economic responsibility to provide formal plans for training and they need to execute those plans with relevant material. The results and methods the training uses must be measured and improved over time.
I use the term “economic responsibility” because training is actually a pursuit of efficiency and improvement. Without these investments, companies lose ground to competition and ownership value erodes. Additionally, leaving training solely in the hands of employees will result in poor alignment with company objectives and unpredictable results.
I use the term “social responsibility” because the software industry typically keeps people so busy working billable hours that we don’t make time for training programs. We create them; we just don’t execute them. Cost pressure from offshore providers has left US-based resources in a predicament, because training costs are no longer easily hidden inside billing rates. Therefore training programs get sorted to the bottom of the priority list and do not receive attention. In some cases, recent graduates end up more qualified in relevant technologies than long-term industry experts. Technologists who do not take it upon themselves to learn relevant technologies may end up on the wrong side of the cost benefit curve, which certainly feels unfair to the many who work long billable hours to make their company successful.
Other industries such as health and legal, which are knowledge based, require that people be licensed, and that licenses be maintained over time on the basis of formal, ongoing education. We’ve missed this concept in the software industry, which has been convenient in that it allows us to be informal with our staffing decisions and enables us to exchange hours that should be dedicated to training and certification for more billable hours.
On the flip side, you can’t argue with free market economics. Graduating students will always have some advantages that may or may not outweigh their lack of experience, and offshore resources will always have some cost advantage that may or may not outweigh distance and other factors. Employers will always have challenges with cost and commitments, resulting in pressure for more billable hours. In the end, the only person that can be held responsible for a person’s career plan, training, and marketability is the person. Life just works that way. Making sure you are marketable is basically the same as being a gazelle out on the plains. Fast and capable is essential. With that in mind, if I could personally meet the people whose blogs read like, “it’s not my fault,” I think I’d have difficulty finding sympathy.
So, is the employer responsible for training, or is it the employee? Yes.
by Brenda Hall, CEO
I’ve often been asked, “How hard was it to start your company?” My answer continues to be, “It’s not hard to start a company; it’s hard to grow it!” Simply said, anyone can start a company as long as they desire to. It takes someone willing to take risk, believes they have something someone else is willing to buy, and believes passionately enough in their idea to push other, more ‘stable’ options aside such as working for someone else for a paycheck. Getting started isn’t difficult. There are endless examples of people baking their products at home and selling them through local outlets. Or, perhaps you know someone who has exceptional knowledge in a specific area (think software development) who is keen to develop that perfect app for our phones. A short cruise across the internet can provide the applications to fill out for the Secretary of State for your local state, open a business account at your bank, and without much more ado…you’re in business.
Growth, however, requires tenacity, dedication, gathering smart people around you and hard work day-in and day-out. There will be times when mistakes are made, and standing up to them to preserve your reputation while ensuring your clients don’t pay for them is paramount. You will never grow if you don’t have delighted clients. Here are a few, key lessons I’ve learned that will help any entrepreneur get off on the right foot.
- Make sure your company values are visible to all of your employees. Even more, try to hire employees who SHARE your values. Values are important because people need to work with other like-minded people. For example, you want people who not only respect your leadership and believe in the mission of your company, but also people who ACT on those same values especially when challenges enter the picture. Not every effort or client engagement will go smoothly or perfectly. You need to have people who will quickly work to fix errors and repair relationships. You need people you can count on to Do The Right Thing.
- Speaking of employees, I’ve learned it’s critical to hire well. Take your time to find the right person. It’s not always about whether you like someone, or assume someone is a good fit because they worked at a major company before landing in a chair in front of you for a job. WAIT…do your due diligence. Make sure you investigate their background thoroughly. Talk to people they worked with. Check them out on LinkedIn. Check them out on Facebook. I learned from a dear man who utilized LinkedIn to garner as much ‘intelligence’ about a potential employee he was planning to hire. Then, he went to Facebook to find out what kind of person he was planning to hire. Good advice.
- Surround yourself with people smarter than you. This is extremely important, and there is no room for ego to get in the way. Networking is essential in order to meet the kinds of people you would hire if you could…but necessarily can’t. For example, I’ve met several, extraordinary people through the years who have become trusted friends and mentors. They’ve guided me through tricky decisions, helped me sort through the noise and chatter to achieve specific goals, and continue to support my company’s growth in a way that brings efficiency as well as success.
- Listen, listen, listen to your clients. For me, the sales process is very personal. I’ve no professional sales experience, but I learned a long time ago that sales is truly about listening and keeping the lines of communication open and active. Once you make a ‘sale’…don’t forget that sale involved someone trusting you to deliver the goods. Make sure you deliver them. Make sure you follow through with your client to see if they have any questions. The world is ripe with people who feel let down after a sale was made. Don’t let that happen. If you want your company to grow, you’ll need strong referrals, testimonials and REPEAT business because you did well the first time around. You LISTENED to your client, you did what you said you were going to do for them, and you made sure they were delighted throughout the experience. This is a formula that should NEVER change.
- Enjoy the journey. This isn’t about how big, how much, how well known your company becomes. This is about making sure you recognize the achievements of your people, the successes they’ve brought with each client effort, and how well they’ve made your life — and kept the breath of life in your company. I don’t believe anyone gets very far on only the leadership of a few people at the top; it takes a team. I once went to the top of the mountain to visit Neuschwanstein Castle in Bavaria, Germany. The road is very steep and the wagons we rode were pulled by a team of strong (and beautiful) draft horses. I thoroughly enjoyed the journey, but I’ll also never forget the hard work those horses had to give to provide me that enjoyment. Enjoy the journey, but don’t forget your team that brings you success.
There is so much more to share, but I believe if you adhere to these 5 guidelines, you’re well on the way to building the solid foundation that gives your company all the growth potential you will need through the years.
by Justin Hall, CIO
This story begins in the very early days of the space program, when NASA and its vendors IBM, Grumman and others were looking to hire staff to work at Cape Canaveral. The advertisement was simple: they were “looking for many good people.” Interviews and hiring were conducted at a very fast pace, and the competition to get good people was at a then all-time high. I went to work at IBM, which had the mission to build and manage the Instrument Unit (IU), the “brains” for each of the Saturn Vehicles (which we all referred to as “birds”).
Those of us (about 25) who were starting with IBM were being temporarily housed in a very large NASA building several miles from the Saturn rocket Launch Pad. In the corner of several of the conference rooms in this building were racks of schematic diagrams for each of the major systems that IBM would be responsible for: Guidance Computer, Stable Table, RCA 110 computers, Ground Network, Power Systems, AGCS Network etc.) Each person was assigned to the area in which they would be working.
The management team instructed us to remain in the conference rooms except at lunchtime. Those were the only instructions we were given. No one mentioned or even looked at the schematic diagrams lying in plain sight. We could do whatever we wanted, (read magazines, newspapers, play cards, etc.) We were going to be in the room between four to six weeks; by the end of the first day, the schematics remained unnoticed. By the second day, one other employee and I picked them up and learned that they covered all the systems for which IBM would be responsible. We at once began tracing circuits and drawing simplified diagrams. By the end of the fourth week, we knew how all the systems were interconnected and how they worked. The two of us continued working while the other new hires waited for instructions.
At the end of the waiting period, our new team moved to the launch facility to assist in verification procedures for the operation of the ground support equipment. We did not yet have a bird on the pad. About the time we finished verification on the ground support equipment, the various pieces of the Launch Vehicle “bird” arrived. The first and second stages of the vehicle were stacked, mated and connected, and then the Instrument Unit mounted on top of the second stage. Now it was time to ‘power up’. Both my friend and I were assigned to networks, and we weren’t happy because we drew Block House assignments instead of getting in the AGCS area (computer room under the Launch Vehicle) where all the cool equipment was housed.
Two days later, IBM had all stations manned for the initial power up of the IU. Picture twelve IBM systems engineers sitting at their consoles, a NASA Test Supervisor and an IBM Manager ready to get started. The NASA Test Supervisor said to the IBM Manager, “Power up the IU,” and guess what happened? The IBM Manager did not have a power up procedure. Imagine the pregnant pause and embarrassment! I then noticed a brown inter-communications envelope lying on the console next to me. On the back I wrote the twelve steps my new colleague and I had formulated in procedure format and quietly handed it to the IBM Manager. He read off the steps and the IU and all systems successfully powered up. The test was officially recorded as being successful.
If you want to “gain your fame,” look around and see what needs doing and offer to do it. If your skills don’t match what the task requires, consider getting those skills. There are people out there who wait to be told what to do, and there are people out there who do what they think is necessary to get the job done. Here at Bridge360 we strive to fill our teams with the latter, because that’s what we think is best for our clients. We look for people who take the initiative, like to solve puzzles, come up with ideas and become immersed in our clients’ business… always looking for better ways to do things.