Tech stack tips

An image of a microchipTech Stack Tips

You’ve just graduated and secured a place in that grad scheme or junior role that you wanted, that’s great, most of them will enrol you onto numerous courses for you to quickly grasp the fundamentals of the business’s chosen tech stack. I found that I was at an advantage during these courses due to my experience with web technologies during my prior year in industry and on my personal projects. Not only was it easier for me to understand the material taught, I had several approaches to a solution using ideas from different languages and situations when it came to coding real business solutions. Much of the web development exposure students get on computer science degrees tend to be on the basics and the usual suspects (HTML, Css, PHP & JavaScript/JQuery). This means that much of the new upcoming web development technologies are not covered and so learnt outside of university, when on work placements, for example, as was the case for myself.

Here’s a short list of the technologies I found useful to know when beginning my grad scheme:

  1. A component based framework/library

Be it React.js, Angular or Vue.js – the concepts are similar. Functionality is broken down into reusable components, which can then be nested from any other component. Pages are rendered seamlessly and re-rendered without the need for refreshing when data is updated. They have been the craze in web development for a few years now and they don’t seem to be going anywhere given the likes of Netflix and Outlook adopting React.js for their sites. It is more likely than not that your new employer will have taken them on too, meaning there’s no harm in getting a head start and experimenting with one of them. Angular was the go-to framework when I began my grad scheme, and having had solid knowledge of React.js as well as JavaScript helped a significant amount. The syntax will change, but the logic will be similar. If you’re familiar with the kind of logic used in these libraries/frameworks, you’re more likely to reach a solution quickly!

  1. Web APIs

An API (Application Programming Interface) will no doubt be something a developer uses too many times in their professional career. It essentially acts as the middle man between a source of data, e.g., a database, and the application’s source code. Many are used to define endpoints that return some results from the database. An API is also how functionality can be shared with other developers i.e. the Twitter API which has some predefined routes that allow access to a user’s username, tweets and even their feed. Having the relevant key in your source code makes these routes available to use. Many web frameworks today comprise of; a back-end with API capabilities, and a front-end framework such as Angular, all in one solution. One example of this is .NET Core’s Angular template. This eliminates the need for having two separate solutions and is much cleaner than querying the database directly from your front-end view! Again, having already understood the routing conventions, I found it much simpler when having to set up and call CRUD methods at work.

  1. A stylesheet framework

Css is something hardly explored in some CS degrees, probably because there’s a limit on what you can do with it. Nonetheless, if you’re going to be doing some front-end work, you will need it. There are a range of frameworks nowadays providing predefined class names for columns and rows for responsive scaling. Some even include classes for styled forms, carousels and pop ups. Bootstrap is undoubtedly the most popular one, with others such as Foundation trailing close behind. If you’re already familiar with Css, you will love its preprocessor Sass. Most frameworks will support the use of Sass, which is just a notch up from Css, bringing much cooler features on board including the use of variables, nested styles and even for-loops for dynamic calculations of HTML element sizes.

  1. A package manager

Us developers benefit from a large open source community thanks to GitHub. Much of the code within this community can be cloned onto our laptops or better yet, installed via a package manager. With the use of Yarn or npm, to name a few, any package can be included in our source code by introducing a command into a command prompt window. Package managers often add their own configuration file to the source code listing all installed packages, making it easier to keep track of them. Using packages is extremely common as it gives quick and easy access to specific functionality ready to use out of the box. Thus, knowing at least one package manager will help you hit the ground running.

These are just a few of the things I found I was better off for knowing when I started work. You will have others on your list depending on the path you are wanting to take. Either way, a work placement or a personal project to help introduce some of these cutting edge technologies whilst you’re still in learning mode will go a long way.

This post is by Natalie Mclaren