Friday, 21 October 2011

Don't Try to Run Before You Can Walk - Understanding Existing Code

This week, Joe puts on his programming hat and straps his matching trainers but soon learns that it's hard to run before you can walk...

The most important lesson that I have learnt in recent weeks is that before I am going to change something I need to understand what it did before. It all makes sense now, how can you change something and make it better if you don’t understand what and how it did whatever it’s doing before? By not understanding what something does but trying to change it to make it better is the same concept as trying to run before you can walk. 

Spending hours reading over the same lines of code trying to put pieces together and understand what it is the code is doing and why has been one of the things I have struggled with most in my journey so far.

I have now realised that I don’t need to spend hours reading over the same lines but I can run through a section of code line by line and just comment in what each bit is doing. Derek and I spent a short amount of time looking at a few lines of code that I had been studying for at least 3 hours. I hadn’t quite grasped what was happening or why. Within minutes Derek had told me just to comment each line of code as we go through saying in English what that line is doing. By doing this I had started looking at a line individually rather than everything together which meant that I could now break the code down and understand it. 

I’ve started to deal with SQL queries with some of the different alterations I have been making over the last week. I came across one of our queries in the database which had a huge number of different sections and tables added and linked to it. Looking at a query of this size scared me at first as I had no idea where to start when trying to use it to gain the right information out of it. After actually reading through it, it became quite clear that all I needed to do was to select in the code the correct field of information that I wanted to know from the results of the query. 

By taking over a project that someone else has been managing for quite a long time puts me in the position of having to read, understand, edit and add to someone else’s code. From being able to do this successfully means that my knowledge of VB is increasing vastly. I am able to break down different sections of code that once upon a time I would have just shook my head at and walked away to now being in the position to have a quick look at it in a logical way and work out what is going on. 

My journey is always changing and always going in the right direction, UP! I am constantly learning and progressing in what has been a short amount of time but large amounts have been achieved. I have gone from an absolute novice to being able to work my way around VB with a little bit of class and make some quite simple but very beneficial programs and functions. I can’t wait to be telling you all in my next chapter in my Programming Journey.

Can you remember your first experiences of programming? Do you have any advice to give to those who are just starting out? Tell us here and let others know and pass on your wisdom to the next generation of enthusiastic software engineers. 


Friday, 14 October 2011

Steve Jobs and Dennis Ritchie's Guide to Success

Within four days the world lost two of the greatest technology pioneers. Apple’s CEO and founder, Steve  Jobs and Dennis Ritchie, an American computer scientist  and co-creator of the programming language C and operating systems such as Multics and Unix. Jobs’ and Ritchie’s characters couldn’t be more different. Jobs was known to be fiery and ruthless whereas Ritchie was humble and gentle. Catherine finds that despite being like chalk and cheese, they were both innovators who found a code to success...

Steve Jobs and Dennis Ritchie’s Code to Success 

1.   Reverse a trend. Ritchie and Jobs went against the grain and created something unexpected and new. They say that Jobs knew what customers wanted before they wanted it. Ritchie and his partner Kenneth Thompson felt that operating systems were too complex and they “attempted to reverse the trend” with the UNIX operating system.

2.   Make technology simple. The UNIX operating system was created to make computing as simple as possible and the vision for C was to create a programming language at a higher level of abstraction that people would understand and use. In the same breath, Apple’s intuitive, fuss-free iPods are cited as being one of the greatest gadgets of all time.

3.  Create a community. Ritchie explains that UNIX was created not just to be a good programming environment in which to do programming but a system around which a community or a fellowship could form. He said “close communication” was of key importance. Apple on the other hand created devices and a brand so iconic that they created a cult following so loyal they would rather go without than not have the little munched apple stamp on their phone or computer. The world boils down to a defined matrix of two hemispheres, two genders, and whether you’re a part of the Apple movement or not.

4.    Make it easy on the eye. UNIX was created to have “graceful facilities for decomposing complex computer tasks into simple subtasks”. Now, who’s to argue that Apple’s operating system isn’t graceful and their apps decompose life’s complex tasks into a small series of manageable subtasks.  

5.    Let the technology take centre stage. Their success wasn’t about them; it was about what they created. Jobs and Ritchie were both private men. One of Ritchie’s colleagues says of him, "I worked across the hall from him for more than 20 years, and yet I feel like don’t knew him all that well.” Steve Jobs on the other hand was the same but his insistence on leading a private life only fuelled the cult of personality that surrounded him.

Steve Jobs' Golden Apple

The golden apple is featured in legends and fairy tales as divine food or a source of immortality. Steve Jobs retrieved the golden Apple in this story but it is his legacy which is immortal and lives on. Joe tries to uncover how Jobs shaped Apple...  

He's the man that people have been calling a genius in business and an inspiration. Steve Jobs was the co-founder of Apple and ran a very tight organization with high levels of secrecy, going to extreme lengths to live up to his perfectionist way of doing business and being involved with everything to do with Apple. 

Jobs was a workaholic who remained CEO of Apple up until 6 weeks before his death. Taking so much pride in his creations and working life meant that he inspired people he worked with. He had very controversial leadership style which made Apple what it is today. Being a perfectionist meant that it was up to Jobs' employees to live and work to those standards. He was all about user experience being the true top priority. This meant that any small visual flaws in design overlooked everything else and would be classed as failure. Employees said “By being both unreasonable and right, he taught us to create products to delight people, not just satisfy them.” Steve Jobs promoted his perfectionist attitude around Apple and forced it into work that was done for him and made people realise that the reputation of Apple was at stake with any work that was being done. 

“Loose lips might sink ships,” These are the words that were on the poster in Job’s office. The high level of secrecy within Apple was down to Job’s. He would insist on random phone and computer checks to make sure nothing was being leaked to the press about upcoming products which has meant that when a new product is coming out from Apple it is actually new not something that is awaited by the public. 

Steve Jobs is the man that has left an imprint on just about all of our lives in one way or another. He transformed so many different markets such as music and phones forever. Steve Jobs will always be looked at as an inspiration to countless amounts of people for a countless amount of things he brought to the world.