Saturday, September 14, 2013

Lecturers should use YouTube as a teaching aid

Lecturers should use YouTube as a teaching aid

In recent times on line delivery of lessons has become a very popular medium for persons interested in obtaining further qualifications or knowledge – lecturers post notes and resources in a folder where students review, post questions and submit assignments. Throughout my experience, I’ve found the experience to be a really convenient way for knowledge dissemination as there’s no requirement to attend a physical building at a fixed time and there is the ability to really carry on with your life whilst achieving your goals.  

Schools.com quoted a report from a company called Marketdata Enterprises Inc which reported that on line education accounted for 30% of all post-secondary education enrolments with an expectation that it will grow to 37% by 2015. Now with all that being said do you feel that the current approach to online education is sufficient to deliver some technical content? In a typical ‘brick-and-mortar’ class you could go to a tutorial, the library or study groups; for online not so much online.

Have no fear, YouTube is here!  In my opinion the perfect support structure is YouTube, for my most difficult courses as there are well qualified lecturers who provide a different approach to teaching the same topic and probably geared towards your learning style. Universities such as MIT, Stanford, UC Berkeley, UCLA, Yale and Columbia have been using YouTube for a while now, the site OpenCulture.com provides free cultural & educational media on the web and has created a list of “10 University Collections on YouTube” which showcases some of the institutions I mentioned above and their YouTube channels, check this link out 

For me, I’ve found lectures or presentations that explained clearly to me concepts that I couldn't understand on my own or from reading 60 pages each week for each course. I would recommend that all lecturers provide suitable content via YouTube videos and have them as apart of their teaching arsenal as these videos will explain the concepts and provide students with the opportunity to comment thus giving feedback or asking questions in the context of the lecture.  YouTube proved to be very useful during a CISCO Routing & Protocols through a YouTube channel called VambarInc. This made reading the content so much more pleasurable; just sorry I never thought about this in Psychology class, what was Freud saying anyway, Phallic Mallic!... Ok I got it now… hmmm… just checked YouTube, very enlightening. 


 I’d love to hear what some of you think, do you think intermittent lectures are enough to be successful or do we need teacher directed content on YouTube to ensure our success? +1 Youtube!

Tuesday, September 03, 2013

Why your software startup should be from the Caribbean

This is my opinion.

The software development landscape worldwide is segmented (into the following regions): 

  • Brazil, Russia, India 
  • China (BRIC) 
  • Australia
  • Pacific nations
  • Latin America
  • Caribbean 
Each of these groups has specific attributes about them that put them uniquely in each space. BRIC nations are involved in high tech aerospace, research and equipment manufacturing. For example Brazil is one of the major players in the industry in the executive jet manufacturing industry with a company called Embraer. Many universities (2,600+) and a need to solve their own problems internally has helped Brazil to grow, in some cases they receive technical specifications from companies in North America & Europe to develop advanced systems to advance those economies and as a spinoff, they have benefited from these investments. 

Australia and Pacific nations are involved in mainly advancing their economies because of their size so they have enough to self-sustain. Latin America is similar to some extent to Australia & Pacific nation as there is a reliance on North America & Europe to provide opportunities for innovation. Caribbean is mainly for tourism but nothing else, it is an untapped resource. 

Key factors in successful outsourcing operations: 

  1.  Technical Ability & Aptitude – Can they do what’s required now and do they have the ability to learn
  2. Cultural Alignment – Do they understand your company’s values and are able to adapt sufficiently
  3. Infrastructure – Sound technology (high speed internet and reliable) good roads, banks and security.
  4. Language - Are they able to communicate effectively with your clients and/or your team? 
  5. Time zone – Can the teams collaborate in real-time with your team (to resolve issues or plan)? 
  6. Travel Time – How difficult is it for your team to get to the team delivering the solution if the need arose?
  7. Cost – How much does it cost for an ideal developer to deliver the solutions?
  8. Human Resources – Are there enough trained or trainable graduates passing out of tertiary level institutions to support the growth of the industry?

Below is a matrix showcasing the strengths and weaknesses of the regions, with 5 being most ideal & 1 being least.


North America & the Caribbean developer need

  1. Culturally aligned with their locale – understand and able to add value, for example, advancing conversations with clients beyond just the here and now but where do you need to be.
  2. Knowledgeable & capable of applying  contemporary software development processes (such as Agile) – in order to help clients to understand & prioritize their needs
  3. Good communicators & possess collaborative skills – the ability to communicate with their internal teams, stakeholders and work together to effectively solve problems
  4. In access of broadband internet & ICT – robust infrastructure to ensure communication and connectivity to remote resources are not hindered by technology failures or interruptions
  5. Low costing & high value - what is the price/leverage equilibrium of these resources, can you move these resources to higher skilled work easily or will they forever be technical support specialists or programmers?
  6. Technologically rich in their skillset – understanding and executing utilizing various technology
  7. Able  to deliver on time and high quality – a culture of delivery excellence 
  8. Travel time - is it possible to get into the country easily? Will your staff be willing to get there in 1-4 hours or 10-20 hours. A critical factor for your highly technical managers, no one enjoys being away from their family for weeks at time but with the ability to quickly travel to your location and be back in a day is awesome.

Overall there are some real opportunities available in the Caribbean. Here are a few companies that have done it:

  • RealDecoy made that move a few years ago in Jamaica and by all accounts it was a successful move.
  • Medullan Inc also has software resources in Trinidad for a few years
There are also other companies that are utilizing software developers here albeit covertly.

Delton Phillips is the Director of Strategy & Innovation of Particular Presence, a technology company which specializes in starting up software teams and team management for businesses. You can reach him at delton[at]particularpresence.com

Friday, August 30, 2013

Writing Clean Code

Currently doing some work at a client site and had to stop to admire my code, here are some things that struck me about it:
  • Well structured and organized
  • Meaningful variable names
  • The code is like reading a story book - seriously
  • Utilization of DRY principles
One thing about clean code is being able to look at the code, even if you have zero context into the language spec, and being able to understand everything that's going on. 

I would always get a request from developers I manage to work on "more complex code" and every time I painstakingly had to explain that 'complex' code is truly just a composition of smaller components, where things get 'complex' as they like to allude to is when components aren't truly designed (and implemented) correctly. 

Here's a book I recommend if you want to know how to write Clean Code. Learning every pattern in the world is good but having clean well structured code is better. This book is a must have on every developer desk. Check out my blog post about Investing in Yourself (IIY)


Wednesday, July 10, 2013

Non-Tech Related: Difference between Wheel Bearing and Hub Assembly

Wow, this post is not tech related but I got my car checked out a few weeks ago and they reported that I needed Right Rear Wheel Bearing. Sounds simple enough, just go buy a wheel bearing right? Nope, well not really wrong but there's a difference.



Check out this excerpt from PrimeChoice Autos (http://www.primechoiceautoparts.com/t-Hub-Assembly-Hub-Bearing.aspx)

The Hub Assembly or Hub Bearing offers certain advantages over the Wheel Bearing.  It’s an easy decision if you have a bad wheel bearing; if you have the option of purchasing a Hub Bearing Assembly vs. a Wheel Bearing buy the Hub Bearing Assembly.  

Firstly, don't buy an individual bearing, you'll have to press that in yourself. Which seems painful just to think about it. Dirty fingers.


The Hub Bearings primary component is the wheel bearing.  The wheel bearing is a precision machined component which is integral to the safe and comfortable ride of your car or truck

 The hub assembly is a housing that has the wheel bearing and hub already pressed into it.  Installation consists of removing the defective or worn hub bearing and bolting the new Hub Bearing Assembly to the knuckle.



So in a nutshell there's a difference between the two, the Hub Assembly is less stress and pain to install. Thanks to Prime Choice Auto for the explanation


I'll also be trying to install this at home, should be a lot of fun, will be my first big install.

Delly

Sunday, June 23, 2013

Content Rules - How to create good content

Currently reading a book called Content Rules: How to Create Killer Blogs, Podcasts, Videos, Ebooks, Webinars (and More) That Engage Customers and Ignite Your Business (New Rules Social Media Series) - yes the title is very long but the book speaks to 11 specific rules for generating content, check out the summary.
 The Content Rules

1. Embrace being a publisher. - Regardless who you are, you are a publisher!

2. Insight inspires originality. Know yourself better than anyone. Get your brand story straight, and give voice to your distinctive point of view based on your mission and attributes. Know your customers, too, and what keeps them up at night. What are their concerns and objectives? What do they care about? How will your brand help them in their daily lives?

3. Build momentum. Why are you creating? Good content always has an objective; it's created with intent. It therefore carries triggers to action.

4. Speak human. Communicate your brand mission, values, and philosophy in simple terms, using the language of your customers. Speak in a conversational tone, with personality, empathy, and true emotion. Kill corporate-speak, buzzwords, and other language that makes you sound like a tool.

5. Reimagine; don't recycle. Recycling is an afterthought; good content is intentionally reimagined, at its inception, for various platforms and formats.

6. Share or solve; don't shill. Good content doesn't try to sell. Rather, it creates value by positioning you as a reliable and valuable source of vendor-agnostic information. Your content shares a resource, solves a problem, helps your customers do their jobs better, improves their lives, or makes them smarter, wittier, better-looking, taller, better networked, cooler, more enlightened, and with better backhands, tighter asses, and cuter kids. In other words, it's high value to your customers, in whatever way resonates best with them.

7. Show; don't just tell. Good content doesn't preach or hard-sell. Instead, it shows how your product lives in the world. It demonstrates through case studies or client narratives how your customers use your product or service, and explains in human terms how it adds value to their lives, eases their troubles, and meets their needs. Good content is not about storytelling; it's about telling a true story well.[] [] Inspired by Jason Fried, co-founder of 37 Signals and co-author of Rework (Crown Business, 2010), writing in Inc. magazine.

8. Do something unexpected. There's no business like show business, right? Occasionally adding an element of surprise to your content both drives viral sharing and enhances your company's personality. (B2B companies, we're looking at you.)

9. Stoke the campfire. Like a good campfire, good content sparks interaction and ignites conversation between you and your customers, and among your customers themselves, in the social sphere.

10. Create wings and roots. This advice is usually applied to parenting (give your children roots to keep them grounded and wings to explore new worlds). But it applies to content nicely, too: Ground your content solidly in your unique perspective and point of view but give it wings to soar freely and be shared across social platforms, all over the Web.

11. Play to your strengths. You don't have to create everything and publish everywhere; you don't have to do it all inclusively—create killer blogs and podcasts and white papers and webinars and ebooks and puppet shows and whatever else you can imagine. You don't have to do all of that. But you do have to do some things—and, at the very least, one thing—really, really well.

Monday, January 21, 2013

Your career starts BEFORE you get a job

For the last 4 years I've been active in recruiting talent (including authoring technical assessments & reviewing results) for my company Medullan in our effort to find talent particularly Software Developers, Senior Software Developers and Technical Architects. It has been a hard slog.

According to Wikipedia (which is community contributed) the definition of a software developer is

a person concerned with facets of the software development process. Their work includes researching, designing, implementing, and testing software. A software developer may take part in design, computer programming, or software project management.

At my home, if I were looking for a plumber, what would be some of the expectations I would have? I think one basic expectation many of us have is, if someone says he's a plumber (even one straight out of plumbing school) they'd be able to fix a facet but probably not be able to design a septic system.

In designing technical tests I design the tests in such a way that only those who have been practising any form of software development can pass. For example, write an algorithm to enforce the rules of a tic-tac-toe game in 30 minutes. If you aren't actively practising you can't pass it.

What do I suggest?

Write applications for writing an application sake. For example, at my home in the hills of Jamaica I've been freezing every night and it's always a joy to start the car in the morning to see the thermometer reflecting 68F temps (yes I know Boston is colder, this is cold for us) and telling my wife. Wouldn't it be cool to create an application to store the temp everyday and just generate a chart every month.

This may sound lame but the problems you'll face in building applications like this (data connectivity, handling arrays and testing your application) will be very similar to the scenarios you'll face in your day to day work life and WILL get you through many technical tests. If you're not creative enough to think of any ideas check out sites like topcoder.com or elance.com and just grab the ideas and develop them, even if you're not entering a competition or bidding for jobs.

My final word is, you can't say you're a software developer and haven't written code in months. It's similar to a student leaving school with an accounting degree and is practicing no accounting, it just doesn't make sense.