There is more to providing learning for the I.T. industry than just teaching code!

As IT trainers, should we be installing and promoting “good practice” and “ethics” alongside the coding and theory?

With the absence of a professional regulatory body in I.T. and web development, it is up to us to self-regulate. In doing so, it is essential that we pass on ethics and good practice to the next generation of developers and coders. It is not enough to just teach “good code” and computational thinking, we must provide the wisdom and morals to allow our students to implement their code in an ethical way.

Hacking, espionage, directed advertisements, ransomware, cyber-terrorism, fake news, fraud, spam, SQL injections, sexting, legacy content, the right to be forgotten -etc. are the headline threats to the future of our “on-line” world. However, beyond the obvious are the underlying ethics that affect our daily interactions in the digital age. It is crucial, I believe, that we create a culture of “best practice” within the IT industry to maintain our integrity and elicit trust from our clients and the wider public.

So, if I am not talking about the headline threats to online and digital ethics, what am I talking about?

I am referring to the need for standards and collaboration across the industry. The simple things that make life easier for us all:

  • Indenting your code so others can read your code
  • Commenting on your code so others can understand it
  • Personalising your code so others can’t plagiarise it
  • Make your code efficient and elegant to inspire others
  • Share code snippets with others so we can learn from your code and you from ours
  • Develop your code to be neutral of external influences (no politics, race, borders)

 

Let us now break these points down.

Indenting code

Indenting code has its advantages and disadvantages, but I will argue the positives far outweigh the negatives. Just as we use white space and paragraph in the written language to add emphasis and separate concepts, written code also benefits from this. Placing blocks of code separate from other blocks, or indented within a larger or parent block, helps others to read your code. Not only that, it makes it much easier for the developer themselves to isolate blocks of code when it comes to debugging or showcasing the code to the client or other team members. Different coding languages will have different levels of indentation built in – Python for example – whereas HTML will not enforce indentation (unless you are using a dedicated code editor or IDE). The W3C does go some way to highlight the need for indentation in their style guide by suggesting

·        Do not add blank lines without a reason.

·        For readability, add blank lines to separate large or logical code blocks.

·        For readability, add two spaces of indentation.

·        Do not use the tab key.

·        Do not use unnecessary blank lines and indentation. It is not necessary to indent every element.

Sublime Text 3 has a really innovative way of helping with indentation, it places gridlines that connect the levels of indent so you can visualise related blocks of code. This also helps with ensuring you properly </close> your elements. As mentioned before though, these are just “best practice” at the most, and are neither enforced nor necessary. This naturally causes ambiguity in code with various editors creating different indent depths, some automatically create indents (Dreamweaver etc) whilst others do not (Notepad++, Sublime Text, Brackets). The point I make here is, someone new to the coding environment using a free editor will not necessarily be aware of indenting. Does this make their code wrong? Does it stop it from working? Will it stop them from being paid? The answer is no! However, it may not endear them to their colleagues and will place them apart as “noobs” and will hopefully imply they are not certified developers – a theme we shall return to later.

<!– Commenting your code –>

I understand that commenting your code is more associated with teachers wanting their students to show their understanding when compiling code, but its use is far more important than that. If you are being paid to write code for a company, they will often own the intellectual property rights to the code. Therefore, they have a right to understand what parts of the code are doing. That aside, if you are working as part of a team, other members of your team will need to know what parts of the code are doing. I am certainly not suggesting you comment every line or element, but you should comment a block, function, iteration, concept, external file etc – for your own understanding and sanity if not that of others. I am not referring to putting in an <alt> text for an image – although clearly, that is good practice too – I am more concerned about professional ethics and good practice rather than semantics.

Personalising your code so others can’t plagiarise it so easily.

Ok, this may seem sneaky, but using another developers code as your own is far sneakier! It may also be prudent to add comments to code to try and catch those plagiarising your code, or using it for financial gain and infringing your intellectual property rights. Beyond commenting, you could also add a few “false” lines of code. I am all for sharing code or examining others code as a starting point or inspiration, but within that, you should <!–comment–> in a #reference to the original code and thus, credit the author.

 

Share code snippets with others so we can learn from your code and you from ours.Finally – join a forum! Learn, share, create, collaborate, ask, tell, say, question, expand. There are plenty of places to get involved. Stack Overflow is simply amazing and a must join for any budding or professional developer. Join “roughly 40 million developers who visit the site every month” and ask more than 8,000 questions a day! Another great resource is GitHub where you can share and collaborate.

I hope this article has gone some way in helping you understand the importance of Industry ethics and “good practice”. If it has…or hasn’t… please LIKESHARE or FEEDBACK the post. Thank you.

About the Author, – Dr Richard Haddlesey is the founder and Webmaster of English Medieval Architecture in which he gained a Ph.D. in 2010 and holds Qualified Teacher Status relating to I.C.T. and Computer Science. Richard is a professional Web Developer and Digital Archaeologist and holds several degrees relating to this. He is passionate about the dissemination of research and advancement of digital education and Continued Professional Development #CPD. Driven by a desire to better prepare students for industry, Richard left mainstream teaching to focus on a career in tutoring I.T. professionals with real industry ready skills that matter at The Training Room.

#ttrIT #ttrcareerinIT #ttrLearnToCode

Please follow and like us:

Crossing the Digital Platforms in WebDev

HTML5, CSS3 and JavaScript undoubtedly make creating cross-platform websites, but it is still essential Web Developers/Designers thoroughly test their sites before making them “live”.

Most websites will have been designed and built on a P.C., MAC or laptop, but increasingly they are being viewed on tablets and mobiles. This is often overlooked. As a teacher of computer science, we would often ask students to login to a site, or interact with a site to do some homework etc. Increasingly, students would reply – “we couldn’t get the website to work on my mum’s tablet or my phone sir”. “Don’t you have a laptop or computer at home”? “No sir, we don’t need one”.

Granted, it tends to be the youth that prefers mobile devices, but in 2016 the amount of people accessing the web via mobiles and tablets surpassed users of laptops (hallaminternet). It is also fair to assume that not everyone wants to download and install another mobile app that they will barely use. Therefore, it is crucial that as web developers/designers, that we create responsive sites that transfer the content to any platform without the need for the user to resize the site’s content. Even if CSS3 is not your strength, there does exist plenty of responsive templates on the net. Some of these – TEMPLATED – are provided free of charge and royalty free (providing you reference them). Even as a “seasoned pro” basing code on pre-existing templates saves time and can be used to show the client quickly what to expect before you commit to the lengthy process of bespoke coding. I am certainly not suggesting we plagiarise, but if we use templates and comment on our code professionally, I see no harm. As a pro, you should be able to delve into the code and personalise and change the content anyway, it is just a useful starting point.

Anyway, I digress a little. Back to the main thread. I am hoping that – using HTML5, CSS3 and JS – we can move away from mobile specific content, and more towards a responsive page that will display the same content optimised to the device, it is viewed on. This is will help greatly with “branding” and provide a consistent experience for the user. It also means the developer just needs to design each page once and apply a CSS to it, rather than make several iterations of a page designed to display on different devices.

——————————————————————————————————-

I hope this article has gone some way in helping you understand the importance of UPDATES. If it has…please LIKESHARE or FEEDBACK the post. Thank you.

About the Author, – Dr Richard Haddlesey is the founder and Webmaster of English Medieval Architecture in which he gained a Ph.D. in 2010 and holds Qualified Teacher Status relating to I.C.T. and Computer Science. Richard is a professional Web Developer and Digital Archaeologist and holds several degrees relating to this. He is passionate about the dissemination of research and advancement of digital education and Continued Professional Development #CPD. Driven by a desire to better prepare students for industry, Richard left mainstream teaching to focus on a career in tutoring I.T. professionals with real industry ready skills that matter at The Training Room.

#ttrIT #ttrcareerinIT #ttrLearnToCode

Please follow and like us:

So, what is CPD in I.T.?

I guess we should start with the definitions?

CPD generally means Continuing Professional Development but can also mean Continuing Personal Development as it often relates to the individual within their professional sphere. For the purposes of this article, we will stick to the previous definition of professional development.

I.T. relates to several strands

  • Information Technology
  • Information Communications Technology (ICT)
  • Computer Science

I.T. essentially encompasses industry professions who work with computers and other digital devices and technologies (sorry if I missed any out).

 

So then, CPD is providing evidence of “continued professional development” within your industry. Often this is done by recording and documenting that you are actively increasing your subject knowledge, understanding and ability beyond your initial training or certification. It is in by no means restricted to technical knowledge as it is arguably just as important to enhance your non-technical skills to effectively communicate your technical abilities.

As many of us are aware, the I.T. industry is constantly evolving and growing exponentially. Every year we are grieved that our high-end smartphone has just been outdated by the latest release that boasts greater speeds, larger screen, higher definition images, more RAM, more – moreness if you like? However, it is not just the hardware that evolves, it is also the software, apps and operating systems that evolve. This may be the result of the manufacturer addressing new security issues or increasing functionality based on customer feedback. Whatever the reason, it is clear that anyone who works in the I.T. industry needs to either stay up-to-date or ahead-of-the-game in order to stay employable and viable.

Within the field of Web Development, for instance, we are now enjoying the increased functionality and responsiveness of HTML5 and CSS3 alongside JavaScript to create content-rich websites that are viewable on all the various digital media devices. If you are still coding using XHTML with strict DTDs for instance, your ability to find billable work in Web Design is going to be limited. However, if you chose to update your knowledge and skills using CPD sites such as the sites below – you are clearly going to impress future clients or employers.

 

Clearly then, whether you are an amateur web developer trying to add E-commerce features to a WordPress site or the lead coder for Ubisoft – keeping up to date with advances in code, protocols and technological developments is crucial to your success.

I hope this article has gone some way in helping you understand the importance of Continuing Professional Development both within your chosen profession and your personal life too? If it has…please LIKE, SHARE or FEEDBACK the post. Thank you.

 

About the AuthorDr Richard Haddlesey is the founder and Webmaster of English Medieval Architecture in which he gained a Ph.D. in 2010 and holds Qualified Teacher Status relating to I.C.T. and Computer Science. Richard is a professional Web Developer and Digital Archaeologist and holds several degrees relating to this. He is passionate about the dissemination of research and advancement of digital education and Continued Professional Development #CPD. Driven by a desire to better prepare students for industry, Richard left mainstream teaching to focus on a career in tutoring I.T. professionals with real skills that matter. Thus, catering more for the individual learner’s needs than the National Curriculum   in schools is capable of.

 

Visit his Blog and Website

 

Read more about Dr Richard Haddlesey BSc MSc PGCE PhD

Please follow and like us: