Internship 2019: Reading list

sleeplessbyte

Derk-Jan Karrenbeld

Posted on October 9, 2019

Internship 2019: Reading list

During the first half of 2019, XP Bytes had two interns on the
payroll. This time it were two students from Techniek College Rotterdam, both studying to become an "Applicatieontwikkelaar" (Software Developer). As a general rule at XP Bytes, before students may accept their position, they have to agree to a few things, among which:

  • Reading and summarising at least 4 articles as given by the program manager
  • Keep their programming fresh with exercises regarding their internship

If a student is unable or uncomfortable to read in English, which might not be their first language, or a language they're proficient at, we will attempt to provide alternatives in the form of recording or audible content.

Both students graduated with good grades, and it's now time to close the book on past year's projects, which also includes archiving and documenting all the content that came out of this internship. To that end, we will release a series of articles that may aid you during your road to become a developer or may be used as a potential reading list.

Photo of an open book on a bed, with a bundle of christmas-like lights on top. Caption is "Now I can read in the dark."

Before I list the articles, you should know one more thing. We don't expect the student to understand everything or even grasp all the details. Instead, it's to prepare them on writing technical or semi-technical articles for the weeks to come, as well as trying to get them interested in the various products and aspects of writing software. If you're reading some of these and feel as if you don't know enough, that's okay. I would suggest to read it anyway, and come back to it, once you know more.

The Law of Leaky Abstractions

11 November 2012, 11 min read

This article by Joel Spolsky might be "old", its contents are (still) relevant. The reason we put it on the reading list, is that we often see incorrect or inconvenient abstractions, regardless of the level of the developer. However, It's good to know that abstractions are exactly that: not the concrete reality, and that every abstraction leaks: they are imperfect. And that's okay. This article shows how some well known abstractions are imperfect.


Why You Need to Build an MVP App (and 5 tips on how to do it)

13 June 2017, 9 min read

Most of us no longer use the waterfall model as our development cycle; we often have way more ideas than time to implement those ideas; we don't know where to start when we're building an app. Building an MVP (minimal viable product) can be a great strategy when tackling issues and challenges surrounding these concepts.


What the heck is a callback

12 June 2017, 5 min read

In JavaScript, functions can be passed around as values. Sometimes code doesn't execute in-line (synchronously), but rather concurrently (asynchronously). When an asynchronous task finishes, we often want to be notified and execute some code. This article talks about what callbacks are, what they look like, and how or when you could need and use them.


JavaScript Event Loop Explains

27 December 2017, 4 min read

A lot of JavaScript is used in browsers, and browsers do more than just executing JavaScript. JavaScript has various tools to schedule work or to listen for events (such as mouse clicks) and execute work once these occur. How this ties into responsiveness (vs freezing), and when scheduled calls are executed, is explained using the JavaScript "Orchestrator": The Event Loop.


Web fonts: when you need them, when you don’t

13 August 2017, 17 min read

Our interns and juniors often know what fonts are and that you can use certain ones via CSS on web pages. Sometimes they also know about services such as Google's web fonts. It usually comes as a shocker when one of us tells them about all the issue, limitations and challenges that come with using web fonts. This article is a good summary of our decision tree for using or not using web fonts.


Building the Google Photos Web UI

10 July 2018, 27 min read

If you use Google Photos you might have noticed how well it scrolls, and how nicely it can zoom in and out. Sometimes our interns need to build an app that can display thousands of items of data. We don't expect them to be able to optimise that, but we do want to give them some sense in what went into it at the tech giant Google. Hopefully they (and you) find this as intruiging as we find it. It's not meant as a tutorial, but definitely should be a good and interesting read.


API Versioning Has No "Right Way"

26 September 2017, 8 min read

Naming things is hard, versioning is harder, or so I personally like to say. Especially for those interns and juniors that will work on or build an API, we like to give them this article first, before they dive into the way we have implemented API versioning in our system. Additionally, if it makes sense, we send them over to read this article about Stripe's API and their versioning.


Web Architecture 101

7 November 2017, 11 min read

The subtitle is "The basic architecture concepts I wish I knew when I was getting started as a web developer" and I think that pretty much sums up why we recommend this article. It's mostly a nice glossary and explanation of certain concepts you'll need to think about when building on and for the web.


How to visually design state in JavaScript

20 July 2018, 15 min read

The reason this article is on the list is that we want our juniors to get a bit more comfortable with graph theory. Its core contents is actually not about JavaScript at all, but expresses pretty well how we like to design on paper whenever we have to deal with states and their transitions.


The ultimate guide to proper use of animation in UX

5 September 2018, 11 min read

I personally don't agree that this is thé ultimate guide, but it certainly is comprehensive, and most of all crystal clear. The animations itself are executed perfectly, conveying exactly what they intend to convey. Animation is not necessarily hard, but it's easy to try to slap on animation. This guide gives great guidelines and rules when it comes to using animation to benefit UX instead of just using animation.


Everything you need to know about skeleton screens

19 October 2018, 14 min read

Skeleton screens are powerful and research shows that they can help reducing the perceived load time of any application (Web or not). This article is a good in-depth resource about that exact research, the different ways to accomplish adding a skeleton screen and what exactly should be on it / in it.


Animation principles for UX and UI designers

13 December 2018, 11 min read

Whereas the "ultimate guide" is an amazing "rules and guidelines" article, this particular entry of our recommended reading list talks about the properties of animation and concepts on a bit more abstract level. In other words, if you work with these concepts in mind, you hopefully don't need the guidelines at all.

Photo with the caption 'The urban life in Rotterdam is great to capture. Amazing buildings and a lot of people make great stories together. A lovely city for photography.', displaying a yellow bridge with high walls that connects Rotterdam's city centre with the old Nord neighbourhood, in Rotterdam, The Netherlands

The reading list is not the final list of resources our interns used this year
and we'll be releasing more resources as time passes, as part of a series.

💖 💪 🙅 🚩
sleeplessbyte
Derk-Jan Karrenbeld

Posted on October 9, 2019

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Internship 2019: Reading list
readinglist Internship 2019: Reading list

October 9, 2019