I believe it would be a gross mistake to talk about computer science and software development without talking about the pioneer par excellence Alan Turing. Yet it is harsh and ironical that the person who is considered as father of computer science and artificial intelligence had to traumatic times for reasons that had nothing to do with his contributions to society in the world of computer science and artificial intelligence
I came across an old but interesting Richard Feynman lecture on computers
World of computing has changed drastically since then yet much of what he mentions remain true even now. There was hardly any means or possibility of predicting, back then, what future world of technology would be like.
Yet, his insights even decades back were pretty sound, his observations and speculations were very close and his explanations and illustrations are so simple to understand, though he was more of a physicist rather than computer specialist. Therefore, I believe this remains a useful lecture for students of computer science and software engineering even today
I remember to have read the book series ‘The Art of Computer Programming‘ by Donald Knuth during my studies and on early days of computing. What I learned then continues to help and guide me decades later in my software engineering career though I have forgotten the rigors of mathematical treatment in that
Note that the key point that he puts across is in this short video is to follow your mind and instinct rather than following herd mentality. It reminds me of words from famous Stanford University commence speech of Steve Jobs: “our 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 others’ 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|“. The same observation can be observed as an underlying thread in Dijikstra’s lectures as well
The same observation made from two different people in two different contents points to an fundamental fact. Well, fundamentals don’t change!
This is an interview with the software engineering guru Edsger Wybe Dijkstra; I consider this as one of the greatest videos that I could locate in You Tube.
Of course, I must admit that he is much more than a software engineering guru given that his contributions to mathematics and other related topics are equally profound. Still I refer to him here as software engineering guru as software engineering is my subject, specialization and profession. More than that I find much of he discussed decades back about software engineering remain very relevant even now (perhaps more relevant now than ever before). That too when everything else about the industry keep changing!
Well, there are things that don’t change even in an industry which is highly dynamic and evolving. That is, fundamentals don’t change, and it pays to know them well… and that is the reason for me to share it here
Interesting to know the world’s first computer programmer was a lady when we look back in the context of emerging ‘brogrammer’ culture
Computer History Museum video on ’secret history of silicon valley‘ tracing evolution of computer and software industry
Computer History Museum video of a lecture on Perspectives on Tech Leadership by Google’s Eric Schmidt
A decade or so back, agile community was small.. It was a community that knew what they do and how, and focus was on core values. But now, that does not seem to be the case any more. It looks like, agile has become struggle for learning handful of terminologies, following ritualistic practices, and getting certified for many!
Back then, common refrain when talking about being agile was “what you are talking about makes sense but, you know, our situation is different. We have our own ‘process’ certified by … and we follow the process’. Strangely enough, when I look around I find that most of them have joined the bandwagon, claiming to be agile. Yet how they go about their job remains essentially the same! That is, either they bypass documenting altogether even the very critical information in the pretext of being agile or get bogged down by documentation for compliance to standards. Adapting to change has become more of a knee-jerk reactions and continuous firefighting. Honest communication suffers with routine bullying. Unfortunately, world has not changed much for them, except for the plight of having to deal with a new set of terminologies and technologies as well and getting ‘certified’!
In this context, it is interesting to read article ‘What makes you agile‘. Indeed, it is important to bring focus back into what agile stands for.
I believe they are:
1. Being with the customer, and delivering value to customer continuously
2. Documenting information as we develop software but not getting bogged down by documentation
3. Delivering working software, and ensuring customer is able to use software to meet their needs continously
4. Working as a team with proven practices and effective level of automation
5. Adapting to change as customer needs change
6. Working as a team with honest communication all through
Technology and practices could be help these but not at the cost of these.
looks like human-computer interface set for drastic change, changing for ever man-machine interactions and consequently raising the bar … and scope of computing and consequently that of software
- The Myth of 100% Utilization
- Management Myth #2: Only ‘The Expert’ Can Perform This Work
- We Must Treat Everyone the Same Way.
- Don’t Need One-on-Ones.
- We Must Have an Objective Ranking System.
- I Can Save Everyone.
- I am Too Valuable to Take a Vacation.
- I Can Still Do Significant Technical Work.
- We Have No Time for Training.
- I Can Measure the Work by the Time People Spend at Work.
- The Team Needs a Cheerleader!