Talent Development Centre

Tag Archives: web development

All Talent Development Centre posts for Canadian technology contractors relating to web development.

Develop a Learning Plan as an IT Contractor

Develop a Learning Plan as an IT ContractorConsumers around the world have come to accept that as soon as they go out and pay big bucks to have the latest and greatest technology of any sort, it will quickly be outdated. That’s because technology evolves and grows at a rate faster than we’ve ever seen. Companies are always researching and developing their products to remain competitive, and that means they need IT professionals working for them who are also always growing.

If you’re an independent contractor and decide at some point in your career that it’s alright to stop learning, you will quickly find yourself in serious trouble when trying to find new work. To stay on top, you must develop a training plan for yourself and to do that, you have to know the up-and-coming skills clients are seeking. For example, Dice claims the top 5 programming languages expected to dominate the future are Kotlin, Swift, Rust, MATLAB and Python.

Of course, depending on your situation, knowing the hottest programming languages may not be useful to you. Simple Programmer also compiled a list of upcoming skills to learn, and they broke it down based on specialty. With some broader areas, this list is especially helpful to the IT professional looking to expand into new areas:

  • Web Development
    • js
    • Functional Programming
    • Browser Extensions
  • Software Development
    • Blockchain
    • Internet of Things
    • Cybersecurity
  • Mobile Apps
    • Augmented Reality
    • Mobile Payments

Even when armed with the knowledge of what to learn, the next step in building your learning plan is knowing how you will acquire that information. Learning new skills, especially tech skills, does not come easily to everyone, and we all learn differently. Dice suggests some of these methods to pick up new skills:

  • Shadow a Mentor
  • Break Down Skills into Microbehaviours
  • Train for Programs You’re Passionate About
  • Be Flexible with Your Training Methods
  • Attend Conferences and User Groups
  • Apply New Skills Quickly

The 5-Hour Rule states that you must spend at least 5 hours per week learning new skills if you want to stay relevant and succeed, and inspirations such as Barack Obama, Warren Buffett and Bill Gates all subscribe to it. How much time do you devote to building your IT skills and knowledge? Is it time to get your plan on to paper?

Every Developer Must Have These 11 Tech Skills

There are so many paths a Developer can take in their career. Some become experts in a specific code while others prefer to have a broad knowledge of many codes. Some developers become independent contractors and work on many IT projects across multiple companies, while others keep a permanent position and remain a core part of a company for most of their career.

Regardless of what kind of developer you are or where you work, this infographic from Skillcrush claims that you must have knowledge of a few essential skills if you want to succeed. If you’re a developer, browse through the list below to see if you have these skills. Do you agree that they’re even necessary? If you work with developers, do you agree with Skillcrush?

Every Developer Must Have These 11 Tech Skills

Web Development Jargon Decoded: Agile Scrums, Kanban and Waterfalls

Web Development Jargon Decoded: Agile Scrums, Kanban and WaterfallsThis post by Dennis Furlan first appeared on the Freshbooks Blog on June 1, 2016

As a web-development professional, you’re often dealing with clients and personnel who aren’t themselves in the field. They might have never worked within a web-development company before, or have little experience working with a web developer.

On top of that, web designers themselves — even those experienced in website development — may have worked in a web-design company where there was only one approach to custom software development and web design. If that’s the case, you might not be aware of approaches used in other web-development environments.

Whatever the case may be, as a web developer or website designer, you may not be as familiar with the basic terms of the profession as is ideal. Don’t worry, we’re here to help! With a Web Development Terms 101 refresher, we clarify the web-design terms you need to know.

Web Development Terms 101: Waterfall Versus Agile

First, there are a couple of web-design terms that essentially define the school of software development company or environment you work in. Back in the old days of software development services — let’s say back in the time when the Pong video game would have been considered leading edge — many software development companies would have used what’s called the waterfall model of software design. This is in contrast to a term that is perhaps more familiar to web developers today: the agile approach.

With the waterfall model, a more traditional, linear and predictable approach to software development is followed. Although the term waterfall may not be completely accurate, since it conjures up images of falling over the edge, it is a term that captures the essence of what these traditional development models do, which is to have a very structured work process in which one stage of software development is accomplished before the next.

As an example, you might have a web development model that consists of conception, design, code construction, testing, and deployment. The process only moves forward when a stage is completed. So, design can’t happen until conception, code construction until design, and so on. In fact, it’s a model of product development that dates back to the manufacturing model of decades ago.

The Challenge With Waterfall (aka Why Agile?)

However, in software and web development (just as with manufacturing), the traditional waterfall model has its flaws. It is rigid, can lead to backlogs, and, if one stage in the development process breaks down, can mean everything breaks down. To solve these challenges, more agile approaches deployed in the manufacturing sector, and in web-development companies, too.

With agile, the goal is as the name suggests: to achieve greater website-design productivity with a more agile approach to web design.

So, if we were to take the same example as above, instead of one linear process that starts with conception and ends with deployment, which is the case with the waterfall model, all the processes in an agile system — conception, design, code construction, testing, and deployment — can occur at the same time using flexible and interactive teams from start to finish. The advantages to this agile approach to web-design services include:

  1. Problems can be anticipated more quickly
  2. Decisions can be made to change direction in mid-course without major disruption to the larger endeavour
  3. No single process is beholden to another
  4. Everything gets done simultaneously, in a manner of speaking — meaning the project should be completed faster

With a web development company using this agile approach, there is less a reliance on tasks and schedules and a greater implementation of processes that incorporate various components of the chain. These processes can involve what is known as a sprint, which defines (in conjunction with customer feedback) the deliverables to be achieved within weeks, and not months. Sprints allows for better feedback from the customer and a more flexible delivery of the final product and service.

As much as it might be seen as trendier or more modern to be saying that you work in an agile web-design company, there really isn’t a right or wrong approach. It really is about assessing the client’s needs and how your own web-development company best meets them. With the waterfall approach, everyone is on the same page from start to finish. With agile, it’s a more flexible, improvisational process throughout. What works depends on the situation.

The Processes Within Agile: Scrum Versus Kanban

Now, what can confuse matters even further are web-design terms that make further differentiations in process and approach. Specifically, many web developers may be familiar with website-design terminology such as scrum and kanban. Well, these are essentially examples of the agile approach, and differ in some fundamental ways.

If there is one overriding differentiation between scrum and kanban it’s that, while scrum tends to be more structured and defined, kanban makes some of these same structures optional while keeping certain broader principles intact. This basic point of differentiation can manifest itself in the following ways:

 Scrum  Kanban
Focuses on specific processes from the outset Greater emphasis on broader goals instead vs specific tasks
Establishes cross-functional teams Cross-functional teams are optional
Workloads are often pre-determined Workloads are often defined as project is underway
Limits on work-in-progress and lead times are established Limits on work-in-progress and lead times are optional
Ideal for web-development companies seeking dramatic shift to the agile approach Suitable for web-development companies seeking a less radical upgrade to agile model

Meeting Your Client’s Web-Developer Needs

Again, is there really one website development approach that’s better than the other? Of course not. As always, it depends on your web development company’s ability to meet the needs of the client. In general, if your organization needs a dramatic shift towards agile, then scrum might better help establish specific structures. Alternatively, if the processes are already there, but in need of broad incremental improvements, then kanban might be the way to go.

Regardless of which web development terms you use, it’s always important to remember to match the organizational goals of your web development company with that of cherished clients seeking web-page design that meets their specific needs.