Showing posts with label #Software. Show all posts
Showing posts with label #Software. Show all posts

Monday, 10 August 2015

Intuitive Bias and Technology, living with limitations

The opportunity cost of living with intuitive bias…

As a race, we have evolved more rapidly in technology during the last 100 years then we have in the last 10,000 years. In fact, Science Daily claimed in 2013 that 90% of the world’s data has being produced between 2011 and 2013. A staggering fact when you think of the amount of keystrokes, touches, swipes and scans that make up that 90%!

So, we stand on the shoulders of giants who have given us the means to arm ourselves with any kind of data we need to meet our daily challenges, yet our evolution into Technology has some hallmarks that are as old as mind-kind itself, such as intuitive bias. 

Intuitive bias is the preferences we gravitate to consciously and subconsciously based on a summation of our past experiences. Ever look at a problem and get that “perfect fit” feeling in a solution that came super quick? Thats intuitive bias at work! We use our intiutitve bias in quick decisioning often on major issues, which gives rise to inherent flaws such as:

Past Assumptions - The need to deliver especially in a group setting, which invariably leads to short cuts for the individual in order to fulfill his/her part of what essentially is a social contract. Its human nature especially first time round to collect the majority of the information needed to frame a solution to the task, using deductive reasoning and past experience to assume the rest. If it fits, it fits! The problem is that the % of fact fitting that is in a solution alters for any new solutions and thus the % of assumed information increases thus skewing a factual outcome. In general, the longer something assumed is used, the more ‘real’ it gets’.


Fact Filtering - We can slip into a habit of filtering out facts that don’t fit our “world view”, thus ignoring them or rebuking the facts to the input source such as a co worker, customer or contractor working with us. This often comes across as arrogance, which may or may not be intentional. The problem however remains that intuitive bias leads to a snap decision rejecting new data that is relevant to the situation at hand.

Outdated Facts - I always love hearing a guy slap down a peer or subordinate with a “naughty boy” speech and declare an outdated solution for the problem. When pressed on this magical outcome and the facts around it, the reluctant answers always point to intuitive bias and what worked back in the day. Technology is changing our world faster than ever before and thus the value of previous experience is being depreciated by a lack of context to today’s reality.


Dogmatism - We have propensities for risk, which are linked to our resistance to change (dogmatism). In general we get more dogmatic as we grow older and have to work harder at remaining open minded and mentally flexible. It makes perfect sense when you think of the practicalities involved. The older we are the more information we have to fall back on thus intuitive bias is something we are more willing to use for more and more decisions.

Creative Thinking - Those who are creative thinkers are often high EQ folks with high levels of risk propensity and lower levels of dogmatism (type Y orientation) than someone who is more order driven and craves the security therein (type X orientation). The perfect mix between the two is someone with a risk propensity high enough and a dogma level low enough to allow creative ‘out of box’ thinking to thrive, yet appreciate the structure of the operating environment and the team setting they are in. Intuitive bias can suppress creative thinking over time in a situation that demands process obedience over expressionism. The attachment to pre-existing order regardless of its effectiveness becomes a dependency and with it the rise of intuitive bias as the secret sauce to ‘fit in’ at all costs, at the office.

So leaving a life of tedium aside for a brighter day to follow, technology has risen to support and advance the world we collectively want to live in, so why is intuitive bias such a powerful force in a world that can make generational leaps in technology in a few short years? It’s down to this, intuitive bias basically works, but at an opportunity cost! If we can get data relevant to our problem, structure it in a manner that defines our problem and with analysis frames a solution; then we are in the 21st century hotseat of data driven decision making. It will bring us most of the way to a data driven solution, which in today’s information age is when we then use our intuitive bias to query the insights gained from the analysis along with the accuracy of said insights to outcomes. We should always question and we will never stop learning! The quality of our decisions in terms of accuracy and content will push greater and greater progress on our march through time with Technology. However, should we become frail and yield unquestionably to the pre existing dominance of intuitive bias, then our Technology will be as limited as the luck we have through the ‘gut’ decisions we make.

I for one look forward to delivering a better world to our children’s children by never stopping my push forward in continuous learning and question what I see when it does not prove itself to me as facts worth accepting. In doing so, I hope to deliver better outcomes to our combined future. What do you think, are we under the thumb of our own intuitive bias??.. Do leave a comment with your opinion...


Sources/Credits

Pics;



Credits;



Monday, 3 August 2015

Software Culture… ahead of the curve?

Is software culture something to aspire to for continued success?



We all love our laptops, smartphones and tablets working harmoniously through the cloud on a daily basis. We see software engineers as those special types whose obsession with Star Wars comes from the fact that when it comes to software, they ARE the Jedi!!!

So what kind of industry culture has this epicentre of awesomeness got and will software culture lead the way for other industries to follow into the information age?

It’s a difficult question to answer given we are a social species who likes to coalesce in groups. Every group has its specific attributes, behaviours and properties that define who it is and by extension who its participants are relative to the group. We all know that companies have “company men” and “company women” who live the company’s culture ergo are as committed as the founders to its success. Software is no different; they say it’s a lifestyle rather then a job. From my initial dip into technology, I have to agree!

So what is at the heart of software culture? In my view the adhocracy (projects) and clan (people) culture mix defines software industry culture. Something that astounds many is the focus. It is on people whilst managing “everything else” to see people innovate and produce products in a structured manner, which in turn is monetized for market. Imagine the concept, the software industry believes in collaboratively leading people to produce processes and technology that positively impact the world at a profit.

Value added spending replaces austerity in the software industry where people take their rightful place within the business models deployed to great success.
Picture a company in any industry that embraces classical management models and hierarchical structures then picture a collaborative adhocracy culture with a lateral management structure. Both are faced with a tough market in recession and need to make changes in order to stay profitable. The first thought coming out of the senior team at the company embracing classical management theory and the hierarchical culture is “where can we cut costs?” whereas the software company’s senior management team embracing the adhocracy culture comes out with “where can we create value?”

Whilst reallocation of resources can produce redundancies for staff that cannot retrain for other areas, it’s not nearly as common as in other industries. Some of the best ideas that have arrived at market have being born at lunch tables by co-workers trying to think of how they can make their company better! Who says culture doesn’t pay?? In software, the “soft skill” of company culture is part of the bedrock of the industry that is transforming our world!

The software industry has created a new brand of collaboration in its work practice that has enabled a revolution called the “information age”. The bedrock is hard skilled in technical know how, languages, architecture and soft skilled in creativity, collaboration, mutual respect and culture. Common values are shared as often as code is in teams to reach common goals by like minds. So, what guidelines should be in place for a successful (software) adhocracy culture’?

Leadership Style – Is it collaborative or participative?

Organisational Structure – How flexible to we need to be? Are vertical silos of hierarchical structures in need of replacement by a matrix or cyclical organisational structure defined around projects?  

Company Culture – Is the right culture mapped out to business practices, management leadership practices and organisational structures, where the cultural mix that works for the company is documented and practiced?

Risk Management – Do you have a risk assessment on your overall company and its structures? Is process mapping part of the exercise and does the assessment clearly define strengths, weaknesses, opportunities and threats within company walls and beyond???

What part do people play in the overall structure? Are there policies and more importantly implementations on company culture, ethics and people that are based in real practices and/or give clear direction for the company to go to embrace them in its development path?

Things like:
  • Integrity - Is it truly valued?
  • Loyalty – Is it “taken” or given?
  • Honesty – Is it asked for, sought or given?
  • Courage – Will courage to do the right thing be rewarded or punished?
  • Fortitude – Is creativity and persistence recognised? 

The point to all this is that if your company is to become as successfully adaptive as those in the software industry who thrive as innovation powerhouses are, then you need to start thinking like a software company! This means people first, map out their path to greatness and you will find your own as a company!


It’s a cultural shift of epic proportions for so many companies and industries. However, considering that the pace of change is enabled by software at a faster and faster pace, I would argue that aligning your company and business model to a variant of what is so successful in the software industry maybe a matter of choice today and survival tomorrow. Lets hope tomorrow is not too late!

Sources/Credits

Pics;



Credits;


Monday, 29 June 2015

Reskilling for Technology - A true labour of love!

If machines can learn, then maybe we should never stop!!...



Can we harness our passion for a new start in our working lives?  I think so! Einstein theorised that we become more dogmatic and settled from our 30’s onwards, so how does this transform us into relics of the past?? In software, younger minds are preferred as they learn quicker, are more dynamic and less dogmatic! I submit that it’s actually a matter of attitude, if we commit to the pursuit of knowledge and engage in continuous learning at any age, then we will succeed like we are 18 years old again!

The good news is that its never too late to switch careers, the bad news is that it takes passion, commitment, aptitude and belief in the ability to do so! If you are passionate about Technology, then my advice is to go for it, do so with a committed heart and welcome everything the industry brings!

So, if you want to learn software to any level, then my starting advice is the following:

Map out your goals – Know why you are making the effort, as the commitment required will challenge your belief in your ability to succeed! If you know what you want from it, it will keep you focused when times get tough especially in the early part of the learning curve!

Plan your learning experience – Research what you want to be, map out what you need to learn and plan the strategy to complete your learning curve in the timetable of your life. A cautionary note, don’t overstretch, try to keep your goals at entry level.  Learning a single OOP language for the first time is a high intensity endeavour and stressful! Work through it in depth and at a slower pace then you would with subsequent languages. It will determine how good you are on following languages you learn. Why not learn computer science 101 first, then a single OOP language where you can branch out like I’m doing currently. I learned C# at college, now I’m learning Java, Python and SQL to take me to the next level.


Computer Science First – You are free do go onto Code Academy and start on Java, etc but getting to know the fundamentals of computer science first is a great idea! It makes learning the languages that are based on it much easier. Knowing about Object Orientated Programming, Scripts, Striping, RAID, Storage, Stack & Heap plus others gives you a solid grounding before your learning experience in coding. Also, learning how to use the version control tool Github is a great idea! Code Academy has a recommended course on Github, which I was made aware of by an acquaintance. It’s not easy to pick up Github on the fly so learning it in a structured manner makes good sense.

Try to Code Daily – Coding skills are a practiced skill; do drill daily in them. Code for as long as you want in 35-minute increments. A 2-minute break will give the mind a rest and allow you to operate at a higher intellectual level when coding. Also, the mind needs time to orientate itself to a ‘coders mind set’ so ensure frequent coding takes place. It’s a difficult ask from experience but worth it in building coding skills iteratively, which is the most effective approach.

Learn to research problems and learn to love it! – There is nothing more frustrating then hitting a brick wall. When you see a brick wall as a juicy challenge, then you have a good approach. Google is your friend and the best hits for coding problems often leads you to stackoverflow.com. Open an account there for free, I guarantee it will often come in handy!

Map your progress – Learning plans are great for ensuring you are progressing as you designed. If you can map your progress, you can make plans to start developing your own portfolio when your skills reach a marketable level.

College Courses Rock – If you are lucky enough like myself to land yourself a college course, then groovy is an understatement! Use all material given and shoot for best possible outcomes through reiterating over it. I was also lucky enough at Dublin Business School (DBS) to be on a specialist software course, where the lecturer was very experienced in the practice and the theory of software. The insights and practical advice will stand by me for the rest of my days in the industry! When you love the material and have a passion for it, you retain knowledge much quicker so apply yourself accordingly.

Twin Track Approach is King! – When looking for a job with no professional coding experience, having industry certifications from the likes of Microsoft (MTA) and Oracle (OCA) is a must! Plan your academics and/or industry certifications so you have coverage of software development (computer science/coding/development) and databases in particular.

When in training, start networking! – I have learnt over the years that those who don’t actively network do not get on in life! People are more comfortable really knowing you, which will give you an edge at an interview. Network on meetup.com, go-to the meets and learn about the coding languages and new technologies out there. Make contacts and professional friends in those you meet with and stay in touch over social media. Also, circulate blogs and videos out over social media keeping your network informed of what you are doing and show off your latest coding project that is non propriety over Github. A portfolio site like mine at http://jmulhall.azurewebsites.net is also a great idea as it allows you to showcase your projects and details in one place. It also makes those future employers more comfortable in their effort to get to know you! 


In order to be sustainable in software, we need to take some life lessons to heart on never stop learning, never stop loving what you do and never give up! We decide our own futures and despite the young feel to the Software Industry, it welcomes all those who belong there regardless of age, so grasp your future today! Maybe we will share a story or two at the next industry Software meet, it would be my great pleasure to watch you succeed from a decision you make in your life today!


Sources/Credits:

Pics;




Credits;


Nicolai Berntsen contributed the feature photo of Union Station via www.unsplash.com