Tag - Software

Note from the Author : This post is based on a paper that was presented at the International Research Conference on Management and Finance 2011. I had the privilege of co-authoring this paper with Prof. Gamini de Alwis and Dr. R. Senathirajah from the Faculty of Management and Finance, University of Colombo. The references in this post may seem dated as the research was conducted nearly two years ago. However, the underlying observations and the derived conclusions are still relevant today.

As we showed in Part 1 of this article, the general tendency among Sri Lankan software professionals is to shy away from entrepreneurship. We presented our research findings on how wealth or industry expertise alone, would not influence this mindset. We also discussed how they prefer not risk failure by experimenting in entrepreneurship, and stick to their jobs where they feel comfortable.

A brief note about our data analysis…

In our last post, we explained why wealth, is theoretically considered a positive influence towards entrepreneurship. On the other hand, considering the earning potential, we expected to see a professionals be more reluctant to leave their jobs as they accumulate more and more industry expertise. However, we did not observe either in our research.

Since this was a dead-end, we moved on to scanning our data for interesting patterns. Before, we go in to the details, let’s establish the definitions.

Wealth is the total value of the person’s property, savings, etc.

Industry Expertise(or the Professional Human Capital) is a measure of the professional’s skills and competencies. The measure includes academic qualifications and the years of experience.

Entrepreneurial Intent (EI) is a measure of the desire the professional has in setting up his/her own business within the foreseeable future.

“Twenty years from now you will be more disappointed by the things that you didn’t do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore. Dream. Discover.”-Mark Twain

Depending on whether a person scored high or low on each of the 3 variables, we grouped the sample in to 8 segments. We’ll ignore the segments that scored low on EI and concentrate on those who have at least a slight interest towards entrepreneurship.

We also had to leave out the Low Wealth / Low Expertise group as the size of that segment was too small for analysis. So, we ended up looking at the following segments in depth:

Superstars : High wealth, high expertise

Hesitants: Low wealth, high expertise

Fanatics: High wealth, low expertise

Fanatics group was made up of fresh graduates who came from wealthy backgrounds. We felt that their willingness to get in to business was too premature. We believe that they should remain as professionals until they have the expertise to launch a high tech business with a high growth potential. Premature entrepreneurs are very likely to create unsuccessful ventures. And when those fail, they leave behind a popular belief that Sri Lanka is a hostile environment for tech startups.

Professionals that fell in to the Hesitantcategory, had both the industry expertise as well as the financial motivation to start a business. Some even felt that there was only a slim potential for further career growth. Most of them had done some freelance work on the side but, had not taken any concrete steps towards full-time entrepreneurship. From the common patterns emerging from their responses, we believed that these individuals had the most desire to become entrepreneurs. The fear of failure and the lack of financial strength may have been holding them back.

The Superstars, on the other hand, consisted of experienced and top ranking professionals; majority being over 30 years of age. With the high level of industry expertise and the higher tolerance for financial risk, this group had the highest potential to set up high-tech, high growth businesses. Majority of the group, however would consider setting up a business in the next 5 to 10 years. This again, demonstrates that despite being indifferent to the financial risk, they were unwilling face the risk of failure. They would consider entrepreneurship as a retirement plan, not a career choice.

So, what would it take to break this barrier? We’ve established that the possible financial/social consequences of failing are the reasons holding you back from starting a business. So, would you start a business if we give you:

The ability to share your risk?

Peer recognition and validation at the onset of the business?

The result was a near 30% increase across all segments on the likelihood of starting a business. Surprisingly, this increase was even higher (33%) among the low-EI/high-wealth/high-expertise group. We had initially labeled them as the “Carefree” as they seemed to be looking forward to retirement without any interest in complicating their lives with entrepreneurship activity.

The twist in this is that, we didn’t really ask the above question. What we did ask was, whether they’ll set up a business if they can have a co-founder for their startup. Let’s see how this question translates in to the above.

A partnership is an opportunity to share the financial risk of the business. You are no longer the only person liable for the losses. Maybe, your co-founder can bring the capital while you contribute the expertise to the business. Not only that, it may even be possible for the partners to tag-team in running the business so that initially, both can minimize the career risk by staying employed at lease on a part-time basis.

Either way, the “peer recognition” aspect is the most interesting part of the question.

By agreeing to come onboard, a fellow professional is taking an equally risky career choice. In order to accept he/she must evaluate and recognize the validity of your business case. This validation and the sense of social acceptance, is a great motivator for the entrepreneur and adds momentum to the startup effort.

“Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma – which is living with the results of other people’s thinking. Don’t let the noise of other’s opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.”- Steve Jobs

How do we translate this in to action?

So, sparking entrepreneurship among software professionals isn’t really an expensive problem. It’s not a problem of building infrastructure, setting up seed funds or affecting policy reform. It’s a matter of bringing likeminded people together and nurturing collaboration towards setting up businesses. The obvious challenge is creating an environment of trust, in which they feel confident about sharing ideas and strategies. Existing startup incubators can take the lead on such an initiative as they have the means to support the partnership from the immediate next steps in the process.

Alternatively, a great initiative would be to rally up high wealth / high expertise segments in to Angel Networks. As Angel Investors, these professionals will have the opportunity to gain the benefits of business-ownership, while being able to distribute the risk of failing across several companies and co-owners. Such Angels will motivate Hesitantsto take up more responsibility in the operational side of running the business; all of which would speed up the cycle of new businesses getting off the ground.

Crippling emotions

As we’ve found out in this research, we have only ourselves to blame for the lack of entrepreneurship among our software professionals. Yes, ourselves; not the lack of infrastructure, lack of funding, or messy political landscape. The problem and the solution aren’t financial; they are emotional. It’s unreasonable for us to demand that people change and get over their fear of failure and the fear of being criticized for failure. Therefore, we’ve conceptualized a strategy to build emotional support to take this first step, by identifying the critical role a co-founder could play. We hope that what’s presented here, lead to a healthy discussion on enhancing collaboration among workforce segments and eventually lead to a vibrant startup culture.

C++ is a statically typed language by design. In other words, you have to specify which data type your dear variable is supposed to be. If you declare myCoolVar to be an integer, you can’t let him play with his string friends. Type checking is done at the compile time. So myCoolVar will soon be caught red-handed if it goes matchmaking with a string or a vector.

This is contrast to the radical kids in the block like Python and Ruby who don’t care whom their variables play with. They call themselves dynamically-typed. A washed up floating point might become a variable with a character in a few moments.

Cool as it may sound, dynamic typing is not for everyone. C++ is mostly used where performance and reliability are key factors. Thus the C++ standard has always insisted on strong, static typing. But even if you haven’t been programming since the dinosaurs roamed the earth, you may know that it’s not always easy to remember and explicitly declare the correct variable type. The new C++ standard, or C++11 as it’s known, aims to change this.

C++11 isn’t exactly new to the city. Most compilers around, including gcc and Microsoft C++ compilers, now include support for C++11. Among the dozens of improvements it has brought, let’s have a look at the auto keyword.

Suppose you want to take the length of a C++ string called myStr. Easy-peasy. myStr.length() is the way to go. But wait. The return value of the length() function is string::size_t. Besides from being hard to type in, it’s not easy to remember all these return types either. That’s when the auto keyword comes handy. Instead of,

[code language=”cpp”]string::size_t len = myStr.length();[/code]

you can simply write

[code language=”cpp”]auto len = myStr.length();[/code]

The compiler detects the return type of myStr.length() and makes len a variable of that type. So very convenient.

Not convinced? Suppose you have a map of objects that you need to iterate. How do you initialize the iterator?

Ugh. That isn’t the nicest code snippet you’ve written. But hey, we have our friend auto:

[code language=”cpp”]auto it = myMap.begin();[/code]

Skadoosh! Auto has automagically made it an std::map<char,int>::iterator, because that’s the return type of myMap.begin()! Now that doeslook nice.

What if I want to declare a variable with a default value?

Suppose you want to declare a variable that holds the length of a string. But you first need to set it to zero.

[code language=”cpp”]auto len = 0;[/code]

Ha! That is wrong! This would make len an int, not string::size_t. But C++11 has an answer for that as well. You can use the decltype keyword like this:

[code language=”cpp”]decltype(myStr.size()) len = 0;[/code]

This declares len as a variable of type returned by myStr.size(), but still initializes it to zero.

Is this dynamic typing?

No, not really. Even though it appears as if auto changes a variable’s type dynamically, it actually happens during the compile time. It’s just that you don’t have to explicitly code the type of the variable, the compiler does that for yourself. Which is mighty sweet of C++11.

Is it safe to use auto?

Isn’t letting your variables roam free considered as bad parenting? No. Not only is it safe to use auto in your C++ code, it’s even recommended that you use it wherever possible. Bjarne Stroustrup, the creator of the C++ language himself, advocates its use. Just make sure that your compiler is updated to support C++11.

Note from the Author : This post is based on a paper presented at the International Research Conference on Management and Finance 2011. I had the privilege of co-authoring this paper with Prof. Gamini de Alwis and Dr. R. Senathirajah from the Faculty of Management and Finance, University of Colombo. This post was written exclusively in the hope that this would be useful to the TechWire.lk readers.

The global Tech Industry has it’s share of success stories of wealthy and powerful companies that grew out of garage-office start-ups. You’ve no doubt heard of the early days of Apple and Microsoft, Facebook’s humble beginnings from Zukerberg’s dorm room, and of the billion dollar cash-ins of Instagram and Tumblr. At a glance, Tech Industry seem to be the best place to be if you are a startup. But, if that’s the case, why does the Sri Lankan tech-startup landscape look so depressingly flat?

Entrepreneurship has always been a hot research topic in Sri Lanka. But, the focus has always been on assisting the unemployed and underprivileged to be self-employed. So, there’s a wealth of research data on low-tech/low-income industries and almost none on high-tech industries. This lack of insight and the burning question highlighted above, lead us to the research that’s presented here.

Why do we need to care about entrepreneurship in the Software Industry?

Entrepreneurs and professionals carry out two distinct and vital functions in an economy. Entrepreneurs push the technology boundaries of a nation through product or process innovation. Professionals turn these innovations in to implementations that deliver actual economic benefit. Therefore, the ratio of entrepreneurs to professionals, is a key factor for the growth rate of an economy. When there’s a high percentage of entrepreneurs, the rate of innovation is expected to be high. This generates high demand for professionals which leads to higher salaries that attract more and more people to these professions. The excess supply of professionals causes the salaries to drop, encouraging some professionals to switch to entrepreneurship in search of better income. As the economy would now be consolidating, these new entrepreneurs will be forced to innovate even more aggressively. This cycle will eventually stabilize once the optimum ratio of entrepreneurs to professionals is reached [1].

This is where the IT Outsourcing Industry hurt us the most. We did not innovate locally and allow the cycle to run its course. Instead, we “rented” out our professionals’ to foreign entrepreneurs. Much like the Garment Industry and the Rubber Industry before that, the Software Industry exported professional skills and competencies on a Time and Materials basis. As the supply of professionals kept growing, the industry worked tirelessly to bring more outsourcing jobs. Until the day a cheaper outsourcing destination pops up and steal our jobs, this model is likely to continue.

Professionals vs. Entrepreneurs

Researchers Hurst and Lusardi [2], found that for the general public, a person’s wealth had almost no impact on whether that person desired to become an entrepreneur. However, they found that this was not the case for professionals whose entrepreneurial aspirations increased with wealth. The researchers believed that as professionals became more affluent, they saw “business ownership” as a way to gain flexible work schedules and freedom in decision making. To them business ownership was also a “luxury good” that symbolizes success and power.

This is a very interesting argument. Would the same hold true for Sri Lankan software professionals? If so, we can identify the ideal period in their careers where they’ll be open to setting up their own business. We approached our research from this angle and built a conceptual model based on motivation theories, with a focus on variables such as personal wealth and industry expertise.

Entrepreneurship is an unattractive career choice

A professional has to face two types of risks when to investing full-time in a business: One is the obvious financial risk; the other is the risk of disrupting his/her professional career growth.

The financial risk is easy to understand and quantify. If the business was to fail, he risks losing the invested capital and the earnings that he/she could have made as a professional. The impact of the career disruption is somewhat indirect. It’s caused by the fact that entrepreneurial skills and professional skills have to be accumulated at the expense of each other. By focusing on business operations as an entrepreneur, the individual has to give up the opportunity to enhance his/her professional skills and keep abreast with new technology. In a fast evolving high-tech industry, being disconnected for an extended period, could lead to a significant competency gap.

So, imagine that you as a Software Professional, is interested in starting your own business. You are willing to invest some money in to it and dedicate the next five years to make the business a success. You are reasonably wealthy and the possible financial losses are not a major concern for you. Since this is your first venture, you make a backup plan to go back and get a job as a Software Professional, say in five years, if the business keeps losing money and you no longer feel it can succeed.

Here’s where the above competency gap comes in to effect.

The competencies you hold now will be obsolete in five years. When you return to the industry as a professional, you’d have fallen far behind your current peers. This means lower pay and lower status than those who may have worked with you or under you if, you were to take a job under this circumstances. In our analysis, we found that this possible loss of “esteem” was so overbearing in our Software Industry that even when combined with other positive influences towards entrepreneurship, the net effect was still negative.

In a culture that has a low tolerance for failure, it is not difficult see why professionals prefer to stick to the “safety” of their jobs than to venture out and fend for themselves as business owners. Given the earning potential of a software professional, the choice is perhaps a no-brainer.

When we planned our research, we made an effort to confine ourselves to objectively measurable variables. We especially wanted to steer clear of the “cultural effect” which is often the scapegoat for anything. Sadly, even after a methodical research we found ourselves staring back at this elephant in the room. But then again, we cannot dwell on this aspect; culture is not something we can take upon ourselves to change.

Where do we go from here?

Unsurprisingly, our data showed a genuine disinterest towards entrepreneurship among Sri Lankan software professionals. There was no upward trending curve between entrepreneurship intent and wealth or expertise. Consequently, there’s no threshold on either variable to earmark possible entrepreneurship candidates. And we’ve found evidence that this is not due to lack of skill or financial or political factors, that we could have addressed.

As the goal of the research was an implementable strategy, we kept looking at other variables we captured during our data gathering. Cross tabulation of this data led us to uncover an interesting trend that could be used to mobilize more professionals in to setting up their own software businesses.

Gartner Research in their 2013 research report “Comparing Vendors of Comprehensive Application Infrastructure Suites” has tagged WSO2 in the “Visionary” quadrant in their magic quadrant relative positioning with big players like IBM, Microsoft and Oracle. WSO2 is the smallest company of the 7 vendors selected. Yet, it is the only company selected among open source vendors with broad enough product suits in all the three application infrastructure sections under analysis. This research provides insights to today’s vendor market and offers basic profiles with the strengths and weaknesses of vendors considering the next three to five years time frame.

Gartner Magic Quadrant

Among many graphical representations of research statistics, Gartner Magic Quadrant is a graphical positioning based on the completeness of the vision and the ability to execute in the global market. It serves the bird eye view of technology providers for interested clients as a starting point of an analysis.

Vendor Selection

Vendors were selected based on the broader coverage of the application infrastructure suits and they were rated for the following aspects:

Systematic SOA application projects

Shared SOA interoperability and governance infrastructure

Systematic and comprehensive application integration projects

While both IBM and Oracle secured Leader category in all 3 aspects, WSO2 was selected as Visionary in all of them. Visionaries understand where the market is going or have a vision for changing market rules, but do not yet execute to the same level. Compared to IBM and Oracle who are the market giants who have hundreds of thousands of employees and many years of experience behind them, WSO2 have shown their colors with just 160 employees and 8 years since inception.

According to Gartner’s report, they recommend their clients specially for building systematic SOA infrastructures and for developing SOA applications and composites. Following are some of the strengths highlighted in the report.

1. With successful deployments in high-volume environments, WSO2 has earned credibility as a provider of solutions for larger enterprises and mission-critical systems.2. WSO2’s highly standardized and open architecture gives substantial freedom for organizations to combine and enhance solutions with existing integration technology. Its minimalist approach, as well as its use of OSGi for integration of WSO2 product modules, simplifies deployment and operational complexity.3. Offerings are available both on-premises and in the cloud. The multitenant and elasticity enabled for its cloud deployment are also available in its on-premises products.4. The vendor is growing and has acquired capital, which it has invested in geographic expansion and field and support organizations.5. By embracing the concept of providing a platform that includes only broadly required functionality and that can be tailored to the needs of individual deployments, WSO2 dramatically simplifies the onboarding and operation of its solutions.

About Gartner

Gartner, Inc. is the world’s leading IT research and advisory company. They provide the technology related insight for their clients to make the right decisions with up to date research findings. Gartner is trusted by more than 12,000 clients worldwide including an incredible percentage of fortune 500 companies.

About WSO2

Founded in August 2005 by Dr. Sanjiva Weerawarana, WSO2 is a global enterprise middleware corporation with offices in USA, UK and Sri Lanka. Providing the only complete open source middleware platform from on-premise to cloud, WSO2 is revolutionizing the industry by putting traditional middleware on a diet and introducing lean, powerful and flexible solutions to address the 21st century enterprise challenges.

In 2012, Verizone security team received a call from a US company specializing mission critical infrastructure services saying that they see traces of abnormal VPN activity. That company was promoting telecommuting instead of typical office environment for their workforce; hence they had a VPN solution for their developers to work from home in some days. They had setup a VPN concentrator solution sometime in 2010 and their IT department started actively monitoring its usage logs from May 2012. They were surprised to see an active and live VPN connection to their facility from Shenyang, China!

They were highly unnerved as they were one of the US’s mission critical infrastructure providers and they were probably under the threat of an initiated VPN attack initiated from China.

The security mechanism used is a fairly standard two factor method; User’s credentials and then rotating RSA token generated from a hand held token generator.

And surprisingly at the same time the user who’s credentials were used to login was seen in the office working at his desk staring at the monitor just as usual. Before coming to Verizone, the company security specialists were convinced that there is some malware routing traffic to China through their proxy by some strange means; they wanted Verizone to catch the malware.

The Verizone security team started digging into the issue and they found that this strange connection is not new. It was there active during working days for the past 6 months where VPN logs were available. Surprisingly it was active during the full span of office hours almost all those days. When the investigation team found that the connection initiation uses user credentials, they started studying about the employee as well.

He was a software developer in his mid 40s, experienced with C, C++, perl, Java etc. who was there for a while. He was a quite family man who is not very noticed, but was a good asset to the company. Verizon security team called him “Bob” in their case study.

As a basic forensic measure, Verizone wanted to check whether there was malicious software activity in Bob’s PC. So they managed to get an image of the hard disks and recovered many files from the free disk space which might have been freed after deleting those files. Hoping to see an accidently downloaded malware which could have caused this, they were astonished seeing hundreds of deleted invoice pdf files from a third party contractor in Shenyang, China.

It’s revealed that Bob has outsourced his work to a Chinese outsourcing firm and got his work done for just a 20% of his paycheck. No wonder there is an ever increasing trend to outsource! To cover the authentication, Bob has FedExed his RSA token generator to China so that the Chinese developer who is supposed to work on behalf of him could use the token generator along with his credentials to login to the VPN during each workday.

So what was Bob doing all day without doing his job? Investigators later found his web browsing history, which explains that. He was used to surf Reddit for a few hours, then watch cat videos until lunch. After lunch he starts browsing EBay, FaceBook and Linked in where at the end of the 8 hour day he send an end of the day email to the management before he leave the office.

Bob was smart enough to do the same across few other companies as well while earning few hundred thousand dollars by spending only $50,000 for the Chinese developers per annum. It was a well run outsource business!

This is the coolest part of the story:

Bob was identified as the best developer in the building; His code was well written and clean and always on time! Bob has received continuous positive remarks for excellence at work several years in a row.

Some say outsourcing can reduce efficiency, long term maintainability blah blah… but, Bob showed that it’s not the case with his case study! We never know what really happened after the incident.

Was he convicted of the breach of the company NDA policy? Or was he being promoted as an outsourced development account manager role and the development work was outsourced to the same Chinese sub-contractor? Then you better find the name of the company and buy their shares! Cos, they are going to go profit this year with a fivefold cost reduction!

What was the highest risk that you’ve taken in your workplace?

If you are dare to open up, use our comments section to tell us your views.