Saturday, September 13, 2014

The 4 P's Of Software Management

The 4 P’s of marketing are very well regarded and known even by people who are not in the field of marketing.  One of the challenges that many in the software development industry face as they grow through their career is a battle in their hearts and minds between staying technical vs moving into the management space. It’s a constant battle which anyone coming from the technical background always faces.  I have tried to list down what I consider as the most important 4 P’s that one has to master to do well in the software management space.  These are extremely relevant especially in a software product based organization, but some may apply to a services oriented organization as well.  This assumes that individuals already have a good technical background or experience and hence does not consider that as an additional requirement since that is the basis of this blog.

Product
In order to grow in your career, you should have the knack and understanding of the domain, industry, and business the company is dealing in.  While, you may not have performed the role of a product manager, in order for you to gain respect across the organization and especially of your team, you will need to pitch in with your ideas and opinions on market trends, importance of capabilities for your potential customers, and weigh in with priority discussions.  This is typically thought of as the realm of product management folks, but in order for anyone to establish themselves as a leader for the company, this is a very critical skill to develop and hone.

Project
The next skill that you are expected to master and be good at is in pure project management capabilities and the ability to take any project, however complex, and deliver it within the timelines required for the company, working across different organizations, rallying everyone around the end goal of a good, quality project delivery.  While, typically this is thought as the expertise of someone with a PMP certification or project managers only, for someone to progress their career through software management, one should be extremely skilled and equal or better most of the project managers out there in the world. Obviously, it isn’t a skill that you will perform on a daily basis or on an ongoing basis, but you should have demonstrated these skills a few times to establish yourself and gain credibility.

Process
Any organization should never have an established, settled process that is followed to the “T”, especially in this day and age while developing a product.  As most organizations migrate from a waterfall development methodology to a pure agile model, and/or from a “walled development vs operations” culture to a “devops” culture, the processes have to be adapted and changed all the time.  If you keep your processes the same even for 2 releases continuously, you are not using the continuous improvement philosophy which is vital for an organizations success.  The reason I feel this is the case is because there is no perfect or ideal agile or devops model, and each company has to have their own version or variant of it, and adapt it to suit the needs of the company, product, team structure, culture, background and so many other factors. 

Hence, it is extremely important for anyone who wants to excel in the software management space, to ensure that they have a huge impact and contribute towards the process changes in the organization. Typically, this will go even beyond your teams or products and provides the opportunity for one to have a lasting legacy impact on the company.

People
The final P in the puzzle is obviously that of people management and the one that most technical professionals struggle with the most. They are so attuned to working with computers in their cubes and most uncomfortable in dealing with people. This becomes extremely critical because the success of a manager depends on him or her taking the team along with them and helping them grow and learn in their career, and unless one can extract the best from your teams, the manager and team will always fall short. The obvious thing to remember here is that teams and people follow leaders and not managers, and so if you think and act like a manager vs a leader, it will be very difficult for you to master this P.


Hopefully, you find these simple points helpful and ensure that you observe and learn as you work on a daily basis and come to the crossroads of this important decision in your career on whether to remain technical or take the plunge to move into the management track.

Saturday, September 6, 2014

Factors to consider while selecting a job offer

Some caveats – my experience is based on software jobs and work in this domain. There are always exceptions to some of the examples I may have quoted below since my attempt is to generalize as much as possible.

Oftentimes, I speak to graduating students or college students when I’m on a recruiting drive or as a guest speaker.  One of the most commonly discussed topics becomes the most attractive companies visiting a campus and their compensation structures along with stock options and joining bonus packages. Based on this, it’s clear to me that no one needs to be advised or taught about considering the salary structure and other perks when deciding about a new job.  However, based on my experience, I did want to list down other factors that candidates should consider deeply before making career decisions. 

Domain or Industry
Obviously, at the highest level one should consider the domain or industry the company you are joining is in since it better be something you enjoy and would love working in for maybe 5 to 10 years or even your entire life. Typically, most individuals will work in a maximum of 2 or 3 different domains in their life – of course, some may stay in only one domain throughout their entire working career.  So, you better ensure that the domain the company is working in is something you like or love, or at least do not detest it. In fact, if your gut tells you that you do not like finance, do not accept a job in a financial or banking industry, even if the package seems attractive, since in order for you to do well in a job and rise through the ranks, it will be critical for you to display your knowledge and passion in that domain.   

The company
One of my theories is also that for the most part, an individual has a DNA for thriving either in a smaller, startup type company or a larger, structured company. There is no right or wrong in this but it’s important for an individual to figure this out sooner rather than later. Now, there could be exceptions and examples of some who have flourished in both a smaller setup as well as a large company but as I mentioned, these would be exceptions.

If your gut tells you based on one experience of things not working well say for example in a larger company because of processes or structure, ideally do not take risks again even if another large company looks attractive from the outside, or if the loose processes or lack of process in a smaller company is something you do not like, it’s going to be hard for you to adjust to another startup.  So, firstly, ensure that you have figured out your own likes or dislikes when it comes to this basic structure and then begin the research on how well the company is doing. For public companies, obvious data should be available externally to learn whether it is on an upward swing or a downward trend. Ensure, you typically join a company while it’s on an upswing and things are exciting at the new workplace.

The work
This probably is one of the major factors that could influence one’s stay at a company in terms of the type of work that gets done within the group or by individuals in the team.  Hence, it is critical to find out, especially for people working in the software industry in countries like India, since a lot of multinational companies have software development centers in India. However, the work is typically limited to maintenance and bug fixing or following up on designs laid out by the HQ.  The truth is that besides very few exceptions, for exciting, leading edge work, you have to join an Indian based product company to be in a position of decision making. Another area to consider is whether the products being developed by the company are targeted for only the Indian market or globally.

Culture
I often say that one usually spends more of one’s awake or active time with your colleagues at work than even with your family, and hence you better like most of them.  And you better join a culture where you think you can thrive.  So, ensure you check out websites like glassdoor to learn more about the culture as long as there are enough reviews available there. Also, do not completely rely on one source while you are making this critical decision.

Final Thoughts

Unfortunately, the one thing which results in most departures from a company – the immediate boss or supervisor is something one does not have much control over during the joining or decision making process. This is because you either may not have much information or worse yet, may not know who your boss will be. However, if one is aware of the details, it will only be helpful to figure a little more out which unfortunately is only possible if you have friends at the company.  So, it indeed is strange that the biggest factor contributing to exits is something someone entering a company does not have much control over. 

Monday, June 4, 2012

The World Gets Flatter


Most people have heard or read about the phenomena described by Thomas Freidman in his well written and recognized book, “The World is Flat”.  He described the changes we saw over the years around the late 90’s and early 2000’s that resulted in some large behomoths like Infosys, TCS, Wipro being formed over the years.  His main theory was that as people become more able to collaborate, compete, and share with others of different cultures, religions, educational backgrounds and languages, it resulted in a shift with newer companies arising and challenging well established companies from the US. I wanted to spend some time exploring the potential that the 3 technological revolutions occuring currently, which I talked about in my previous blog (http://india-tech-trends.blogspot.in/2012/02/best-time-to-graduate-now.html), could have on these large SI’s, similar to the impact they had on the likes of IBM, HP, Accenture etc.

Each of the 3 massive shifts have the potential of enabling smaller companies or even individuals innovating in a manner which could disrupt companies, large and small. Last month, Facebook a company that did not exist 10 years ago, did an IPO, for $105 Billion, after it had purchased Instagram, a company of 13 employees for $1 Billion and hadn’t existed even 2 years ago.  There are numerous such examples around of innovative individuals who are benefiting from the rise of mobile, social, and cloud technologies.

Let’s look at each of them individually.  Obviously, the cloud with its variations and options provide a fantastic proof of that.  An often cited example is the PaaS (Platform as a Service) offerings from Amazon which are probably the fastest way for an enterpreneur to create even a new company and take his quick prototype to trial to an actual product and scale it up over a period of time, depending on the response he or she gets. This, without a major investment on hardware or software, which can typically only be afforded by a larger company.  Imagine the number of newer ideas and companies that can come to the fore – and that too, from around the globe.  No longer can it be restricted to only certain geographies. This wil potentially even challenge the well established leaders from the US or the software giants from India.  Now, a smart individual in Djibouti could take his idea, quickly write a software and have it up and running for his customers from around the globe in days or weeks. 

We have already witnessed a similar phenomena in the mobile world, thanks to the Genius of Steve Jobs and Apple, in the form of the App Store, which allows individuals to write a simple app, and have it up for his or her potential customers – most of whom he does not know about, and they can do this without spending tons of money in marketing and is able to reach up to millions and millions of potentail customers.  We have all heard about lots of stories of young, smart developers, writing up apps and making it big in this space.  This of course, has now been well adopted by Google via the Google Play (recently changed from Market) and Microsoft’s Marketplace. 

The other place where it could impact the larger SI’s is the rage setting in Enterprises to also develop various apps for their employees to make them more productive.  Gone are the days, where enterprises would build or manage large systems like ERP, CRM etc and hence had to rely on the likes of the Infosys' or Wipro's of the world.  Each department or group in the company is turning to small time developers or companies that can develop simple apps for $5K to $10K for them in weeks.  They do not have to only rely on their standard outsourced partners for these. So, even a 1 person developer shop can develop an application instead of a large outsourced partner with 1000’s of developers available at a cheaper rate.

Another potentail implication of these changes, is that we will never again see a trend similar to ERP or SCM or CRM, where a couple of large players practically captured the market and spend tons of effort and energy on building these complex systems which could only be consumed by the large companies.  Only after the trend spread and most larger companies had implemented these systems, would they start thinking of an SMB play, and try and go downmarket.  The initial product was always thougt of and implemented for a large firm.  Salesforce.com, probably was the first one, to build a product for the downmarket, with its simple to use, “No Software”, instant, on-demand solution meant for the SMB and slowly moved up market.  One domain we are already seeing the impact is in the Mobile Device Management space, where these solutions are not only required by large companies, but even the smallest of companies need these solutions to manage the influx of iPhones and iPads into the enterprise.  The adoption rate of mobile devices is equal, if not faster by employees of smaller companies.  The net result is we will never again see the likes of SAP, Oracle, Siebel again in the enterprise space and most of the innovations will come from the smaller, more agile newer startups. 

In terms of the social phenomena helping make similar changes, I’ll revert to some personal examples we have been witnessing locally.  In order to get together people interested in the particular domain of mobile devices, there’s been a creation of facebook group, called the MUG (Mobility Users Group), which is a group of individuals interested in the developments in this space, who come together, virtually and sometimes physically to share learnings, knowledge, and learn from each other.  This is allowing the spread of knowledge easier and not restricted only to folks who could afford or pay for training classes in a particular technology or space. I’m sure these phenomena, like meetup groups (www.meetup.com) are extremely successful across the globe and will only spread the advantages of social networking in bringing more innovations for everyone.

All these are clear indications that the world is getting flatter with these new technological changes and providing the opportunities to even the remotest of individuals in hitherto unknown countries to innovate and have a larger impact on the world. 

Wednesday, May 16, 2012

Adding a link to an article that's a great analysis on the 3 massive shifts i talked about -

http://blogs.hbr.org/cs/2012/05/putting_facebook_in_perspectiv.html?awid=8660363199111102387-3271

Monday, February 13, 2012

The Best Time to Graduate - Now !


I have travelled the length and breadth of the country in the last couple of months, primarily to some of the top institutes and campuses, as part of the recruiting process.  Through the interactions with the brightest and sharpest young minds, I found an eerie similarity between today, and when I graduated more than 20 years ago.  

From my conversations with the students who were graduating in the coming months, I came to realize that this is a great time to be graduating and entering the corporate arena.  All the students I spoke to understood that of all the trends currently shaping the technology industry – three stand out viz. the social, mobile and cloud revolution. Sure, some of our conversations did bring up the potential of Big Data as another big trend, but it is these 3 that are well entrenched and without doubt already changing and shaping every industry. And these 3 are indeed revolutions that will shape the future destiny of employees and enterprises.  In fact, since all 3 of them seem to be occuring in the same timeframe, their impact and interdependency on each other will leave long lasting effects that we will experience for decades. 

When I graduated about 20 years ago, in the early ‘90’s, there was a similar phenomenon taking place.   At that time there were 3 parallel and similar trends emerging in the world – the impact of which have lasted two decades, changing the way we interact, work, and operate.  The first of these was the introduction of Windows 3.0 which started the PC era and resulted in the desktop making its way to the desk of almost every individual employee.  In India, this trend continues to change our daily lives even today, though a lot of the world is already living in the Post-PC era.  The second revolution was that of the internet and it moving out of computer labs in universities into the corporate world.  I still remember feeling the awe of going to different websites and getting the information I needed with the Mosaic browser.  Since then, the impact of the internet on our daily lives has only increased – whether at work or home.  And thirdly, from a technology and architecture perspective came the client – server technology, which led to massive innovations and creation of various enterprise systems and applications like ERP, CRM, SCM etc.  It is interesting to note that all 3 of these major shifts happened around the same time and in my opinion, the combination and timing of their occurrence caused a revolution that has lasted us 20 years! 

From an Indian perspective, obviously, these 3 combined have resulted in the mushrooming of the IT services industry which has led to the creation of a $50B industry today and created jobs for hundreds of thousands of students graduating from its engineering schools over these last 20 years.   

Since then, there have been many innovations and changes.  However, once again, I see 3 revolutions taking place in the same timeframe, similar to what I experienced when I was graduating. Firstly, there is no doubt that the PC is going mobile.  The impact that smartphones and tablets are having on our daily lives is incredible.  These smartphones are indeed as powerful or even more than the PC’s were when they were first introduced.  It’s only a matter of time before they experience tremendous growth in terms of computing and processing power, allowing one to do everything that can be done on a PC on a mobile device.


The second phenomenon shaping the industry is the social revolution, which started out in the consumer space, but is slowly starting to make its way into the enterprise.  While, we haven’t seen its full impact in the corporate space yet, there’s no arguing that this probably is the best way and means for an enterprise to communicate with its customer base, analysts, and stakeholders.  The  internet is definitely going social.

And thirdly, again from an architecture perspective, we are all moving to the cloud.  Many a time we may be using the cloud even without realising it. There’s no doubt that the SaaS revolution, that salesforce.com led with, is starting to be felt across the entire spectrum in terms of industries, systems and geographies.  The question is when will something move to the cloud, not if.  Therefore, I say the client/server has moved to the cloud.

As outlined above, the 3 tectonic shifts happening in technology today are –
The PC going mobile
The Internet going social
Client/Server moving to the cloud

And given that these 3 are all occurring around the same time, I come to the conclusion that the impact of these changes will last us for decades to come – much longer that what the PC, Internet, and client / server lasted.  Especially from the Indian view point, if harnessed appropriately, with the right mix of entrepreneurial spirit and social bent, these events could help revolutionize the Indian software industry and provide the much needed shift away from a pure-play services focus to an innovation driven economy. And thus, I feel it is the most exciting time to be graduating, and would encourage all young graduates to take full advantage of the timing and help shape the future of generations to come with these 3 massive “parivartan’s” (transformations).

Saturday, January 21, 2012

MDM & Cloud: A Natural Fit


The Changing World Today
Firstly, it’s time for some of us to reset our acronym knowledge. Master data management seems to be losing the battle to Mobile device management, thanks to heavyweights like Apple and Google, who have created an appetite not seen previously in the adoption of new technology. It’s almost impossible to read any newspaper without some article talking about the phenomenal growth experienced by these gadgets.


The twitter and blog world is abuzz with stats on growth numbers of iOS and Android devices.  I won’t quote any numbers to prove this point here since I believe it’s a moot point and I doubt anyone would argue that the growth in adoption of smartphones / tablets is here to stay, at least until the next new innovation. So, move over Master Data Management and give way to the new MDM - Mobile Device Management.

Why has MDM come to the fore?  A lot of people argue that Apple’s innovation of the iPhone, followed by the iPad, and Google’s answer with the android is what has caused this sudden interest within enterprises for this field. Initially, the iPhone was regarded as a consumer only device, that enterprises ignored for a while, hoping they would not get affected by this massive wave of adoption. However, with the introduction of iOS 4.0 providing some capabilities to do basic device management, enterprises sat up and took notice of this problem.   The question that begs to be asked is:- is this a new problem or something that has existed but flying under the radar.  Should enterprises only be worried about iPhones, iPads, and Android devices?  The answer is probably not.  If you look at it closely, this is only half the truth, and that’s the reason it’s even more important that Enterprises in India and the developing world understand this well.  This problem may have been hitherto ignored since iPhones are a more elite possession.  However, corporates need to realize that anyone with a Symbian device or a windows mobile phone could easily configure their phones to have corporate email delivered to their Nokia or Samsung phone’s while the IT department remains blissfully unaware.

I do not want to discount the influence that Apple and Google have had in bringing this problem front and center.  Thanks to the leap in technology that has been achieved with iPhone’s, iPad’s and Android devices, the smartphone has indeed become “smart”.  Thanks to the amazing resolution, rich experience, and ease of using these devices, we now consider them as viable business devices, while some may think of them as essential.  Added to this is the business brilliance of Steve Jobs - creating an entire ecosystem of application developers that  led to the development of a host of applications, which is what makes this smart device an incredible productivity tool.  Thus today, email is not the only killer app for the phone, which was probably the case a few years ago, and solved by installing BES servers and providing Blackberry's to employees.  The fear in enterprises should not be limited only to the “hole” created in corporate email by Exchange Active Sync or Notes Domino / Traveler reaching these devices.  Applications like DocumentsToGo and Dropbox allow employees to take a business document and send it from their PC’s or laptops to their phone, and keep them in sync.  On the other hand, early adopters are realizing that these devices increase the productivity of their employees and hence will soon start creating and developing custom applications that allow employees to continue working and being productive, wherever they are and whenever they can. The realization is finally dawning on the enterprises that they need to start thinking and treating these devices like laptops and desktops and create an entire lifecycle management program around them.

The Impact of “Consumerization”
As IT starts to recognize and realize that this is a problem, one thing to be aware and come to terms with is to not fall into the trap of solving every problem in the same way as desktop/laptop problems were.  One big difference, that’s well accepted in the industry, is the impact of “consumerization” in this day and age.  Gone are the days where IT could create and manage “standard” images and use them to have a new laptop for an employee when they joined the company and have an annual “image refresh” program.  The reality today, is that these devices will often be personal choices and preferences, and unless you lockdown your entire environment and infrastructure and put strict policies in place, you cannot control the type of device that has access to company email, data, and applications.  We need to realize that the days of the "Wintel" monopoly are gone, consumers as well as enterprises today are spoilt for choice.  Therefore, the best option is for IT to come to terms with this and ensure, for the business and the productivity of the employee, that they allow some sort of flexibility and freedom to the end user.  Hence, the need to draw up an enforceable strategy of supporting multiple devices, across multiple OS’, and varied form factors.

The Cloud Delivery Model: A natural fit?
IT has realized that the influx of mobile devices in the corporate environment is a burning problem and the fire needs to be doused quickly, minimizing damage and exposure.  The danger lies in doing this in too much of a hurry – just to satisfy the boss, or meet compliance requirements, and quickly close the “hole”, and in the age old way. This should not be a comparison of product and evaluation based on feature lists and price factors.

Obviously, we have all read of the many reasons why cloud computing continues to make massive inroads into the corporate world.  One of the advantages include the fact that it can be quick and easy to get it up and running.  There are no requirements of server acquisition, software install, configuration etc which can take anywhere from days to weeks to months.  Another one is that it’s easily accessible globally to anyone, anywhere at any time.  It is also a very well accepted model and everyone uses it – sometimes without realizing that they are in the cloud.  There are obviously many more advantages of the cloud which is not the point of this debate and hence I’m not dwelling more on those or listing all of them. I wanted to add a few more arguments on why the cloud is a natural fit for handling mobile devices. This domain is probably one of the best use cases or scenarios that is apt for the cloud model.

Firstly, most of these devices are in an “always on” mode.  They are always connected as soon as you power them on.  But, rarely are they connected to the corporate network or vpn into your network.  So, the advantage of installing server software within the corporate network does not really work in these cases. 

Most importantly however is the fact that the pace and rate of innovation and changes continues at breakneck speed.  Hardly a quarter goes by without a new version of an OS being released.  And these are not minor service packs or patch releases, we are talking about major overhauls, changes, and new capabilities with every release.  The plethora of devices with OS combinations is growing exponentially.  As discussed above, the company is already losing the battle with an employee walking in every day with a new “image” and expecting to get access to their email, data, and apps.  

If one sticks with the typical server based model that is implemented within the enterprise, are you going to upgrade your server software with every new, major release of every OS?  This problem gets aggravated even more in countries like India, where Android seems to have captured the imagination more successfully than Apple has.  The Android fragmentation issue, where each OEM has its own special version of the OS exacerbates this even more. Just imagine the nightmare and toll it will take on your staff to keep abreast of these, and continuously upgrading the servers. Why not leave this to a cloud based vendor and let them worry about upgrading their server with every new release?