Complementing my recommended book list for 2017 – early 2018, there also exists a lot, a LOT, of online content for free that you can use to build your knowledge on modern IT topics. During a recent discussion with a Digital Architect in my company, when I asked him for advice on how to build knowledge his response was really telling: he told me that the best way to do it was to look online. He said that our company had tried to build internal knowledge capital but couldn’t keep up with the online community and market. So, we had stopped internal investment and directed our teams to look online. It was about at this time I started opening up my search online for good learning content.
The so called “Digital” word being bandied around so much and so broadly, it is difficult to target and or define what it is. For this learning track it is focused on the following:
- Role: Modern Full-Stack Architect and developer i.e. someone that design a modern application AND build it AND test it AND build the infrastructure AND deploy it. That’s a lot of ANDs but in the Digital era, that’s what it takes. I do not shoehorn Digital into analytics, marketing, e-commerce, media or transactional platform applications — because I think these full-stack skills are required background to build innovative products in 2018.
- Modern Technology as of 2018: i.e. scale out, internet-scale, highly redundant, highly available, transactional applications, analytics / ML / Big Data enabled, cloud based infrastructure.
- Background: I’m assuming that you are working in an IT related role in a large organisation deliverying IT related projects.
- Design Thinking Participant: How to get the keys to mindset of digital design. Often missing when you focus too much on technology, sometimes having a good idea counts for a lot.
The combination of the above two are extremely powerful, assuming that you continue to work in a decent workplace environment and learn through experience management, financial management, and leadership skills. The reason why they are so powerful are because they are particularly rare in IT. However, if you don’t want to open up and consider going full-stack or at least even consider learning a little about all aspects of software engineering, or have an “I’m an X and not Y” kind of attitude, then my advice here might be limited for you, but please have a look through this and consider it anyway as there may be links that may interest you.
Company Blogs: Most leading digital enterprises publish their points of view and information on how they build their applications and platforms. Why do they do this? There’s no better way to prove your thought leadership than by sharing to the world how you went about doing this. I tend to prefer company blogs over provider sources (such as Google, Amazon, Microsoft) as they tend to give real world applications of technology.
- Etsy’s platform blog: Covers their code, DevOps approach, and infrastructure.
- Netflix’s Tech Blog: Really interesting blog focused on video delivery and retail infrastructure. Netflix create a lot of their own infrastructure so their approaches here are quite unique.
- Spotify’s Tech Log: Spotify Tech blog includes a lot of information about their employees, their DevOps approach, and also how they have solved various infrastructure problems.
- Instagram’s Engineering Blog: Instagram is a Python / Django shop and this blog talks about how they solve their python specific problems. They had a recent upgrade to python 3.5, which made waves in PyCon 2017, for many good reasons (see links below).
Cloud: Cloud providers have an incredible cadence of updates of their products. In order to keep up to date on what they can do and how they do it, you should check in every month or so into all three. Note that these blogs are focused more on existing customers of each cloud, so if you aren’t currently a customer or developer on their cloud, I’d recommend you go to their podcast or youtube channel and look at their keynote / yearly developer conference video instead.
Podcasts: A really good way to keep up to date on various sources, whilst in transport, cleaning the house, or when you can’t read. I have only recently started doing this, so some of these recommendations may change. What I really like about the podcasts are that they interview real world people working on real world problems, unlike companies just trying to spin their platform (I’ve put in Google as an exception here because I find they have quite interesting content).
- JavaScript Jabber: Interesting blog covering modern front-end JS topics. Given JavaScript is more or less the defacto front-end language now, they cover multiple frameworks and front-end considerations all in one blog.
- Arrested DevOps Arrested DevOps: As it says on the tin, more general discussion on DevOps and DevOps deployments
- Talk Python to Me Talk Python to Me: A great blog tackling some really great topics around python.
- Google Cloud Platform Podcast: Some really interesting interviews, including Vint Cerf for example, talk more about more broad industry topics in ML / AI / DevOps, and gives you a little bit of an insight as to why Google is a little bit different to Microsoft and Amazon
YouTube Videos:
- GOTO Conference YouTube Channel: Some amazing videos on code as a craft. Features videos on modern software architecture topics such as microservices, serverless, machine and deep learning.
- Amazon AWS Youtube Channel Amazon Web Service’s channel gives you access to all their platform updates and customer success stories.
- Google Cloud YouTube Channel: Google Cloud Platform’s YouTube channels have great videos from Next as well as demos of their unique platform tools like BigQuery.
- I haven’t added Microsoft’s YouTube channel because I find their blog much more interesting and information dense! I recommend you go there instead.
- Docker Con 2017’s playlist is full of little gems of knowledge on how to best use Docker.
Best of / Must See Individual Pod Casts / Videos: These are a collection of the best YouTube videos and pod casts that I have heard recently.
- Instagram’s Gradual Typing Story: Instagram’s general typing of production applications by Lucasz Langa (who will take over version 3.8 as release lead). This is a must listen to for anyone in a code / system migration approach to hear how Instagram did this.
- Instagram’s Pycon 2017 keynote: Instagram’s Pycon 2017 talk on how they did their migration to python 3. It’s funny, humble, and impressive.
- IDEO’s Nightline Interview: It is a little old but gives you an insight on how a high-performance innovation design team works.
- David Kelley’s TED Talk, associated with his book Creative Confidence. If you think you can’t do something creative, and/or have a fear of judgement that is holding you back, then watch this.
- Spencer Kimbal’s overview on Cockroach DB (one of my favourite recent tech startups). This is a little old, but it’s their first meetup video in SF, and is inspirational because their CEO explains their history and how they got into building this distributed and consistent database. Even if you haven’t heard of Cockroach DB after this video and have global / internet scale aspirations for your project, it will change the way you think about your database.
- Amazon Web Services reinvent 2017 keynote: An overview of Amazon’s incredible cloud business and some customer testimonials showing the power of their cloud. It’s like the Superbowl meets IT (and it is a very enjoyable video to watch). Also, a great entry point to other Amazon videos, so you can explore other topics of interest.
- Google Next 2017, technical keynote: Urs Holzle leads out a cast of other Googlers that present some of their most innovative products, like Cloud Spanner, which is a bit like a time machine into the future – only they have been using it already since 2012! For a computer scientist, this is super exciting stuff. Compared to Amazon, somewhat less Superbowl, and a little more corporate, but enjoyable nonetheless.
- Read more about Spanner here: https://research.google.com/archive/spanner.html
- Read more about how TrueTime allows google to break the CAP Theorem here: https://research.google.com/pubs/pub45855.html
- Amin Vahdat’s 2015 talk on Jupiter: Google’s Software Defined Network (SDN) deployment that delivers about 1.3Pb/sec of bandwidth… on merchant silicon (!!! Wow !!!). This video closes off a decade of SDN R&D and is really impressive. It really impacted me to see Google realise their vision of SDN – it underpins all of their cloud and their internet scale applications. I cannot underline how important this is. After watching this video, you can find other related links on YouTube about their networking projects.
- You can also read more about Jupiter and their clos topology networking here: https://research.google.com/pubs/pub43837.html
- The Code Whisperer, J.B. Rainsberger explains why integrated tests aren’t useful. After watching this video, go back and watch/listen to that Instagram python 3 upgrade again … and you’ll now understand why.
- Michael T. Nygard’s talk on stability patterns and anti-patterns: Michael T. Nygard’s talk on stability patterns and anti-patterns, inspired from his book Release it! He’s a really great presenter and I’m so glad he put his learnings into a book.
- Kevin Goldsmith talks about microservices at Spotify: Includes some information about how Spotify overcome their challenges given their high deployment cadence and some insight into their DevOps approach.
- Josh Evans talks about Netflix’s microservice architecture: Josh Evans talks about Netflix’s microservice architecture. He also gives a little history lesson on how and why Netflix arrived at the microservice solution. He gives this talk after just stepping down from Netflix to take a career break.
- Mary Poppendieck gives her quick summary of the future of software engineering: Mary Poppendieck gives her quick summary of the future of software engineering and summarises how we have moved from scale up to scale out, why federated architectures and software defined infrastructure and the cloud is the future. If you want to tell someone with hardly any IT expertise how and why the cloud matters, this is the video. Also if you are a developer, architect, or in IT in general, this tells you that on-premise and monolithic software is well on its way out – and so are you, if you work on that kind of thing.
- Trisha Gee explains what it takes to stay ahead of the curve: Trisha Gee explains what it takes to stay ahead of the curve. She takes half the talk to explain new features in Java 8, but the really interesting part comes after as she explains what you can do to dramatically increase your learning of new technology or new practices. Applies especially to those leading and looking for ideas for their teams or those in a team looking for ideas to grow outside the box / organisation. She’s another great presenter and has many other videos that are really thought provoking and entertaining.
Final stocking fillers: I give more text here on these because they might be a little less accessible to all, but I really do recommend them.
- Louis Rossmann’s Repair channel Louis Rossmann’s Repair channel. Louis Rossmann’s repair videos are a lot of fun because he typically does it in real time. Not just any kind of repair but repairing highly integrated mainboards from laptops and smartphones. He fixes what the Genius Bar cannot fix. He is such a logical problem solver and just tells it like it is. He shares all his tips and solutions on the web and has 330k followers. In this example, he’s repairing a MacBook in real time and goes through the steps to identify the problem and fix it (not his best video as he’s fighting his new setup but it is recent). I find these videos strangely addictive and if you watch enough, you’ll get some pretty solid electronics repair tips as well. Sometimes he talks about his background and his life and they are as heart felt and down to earth as you can get. A really decent guy.
- Arduino’s Blog: Arduino’s blog is a gateway into all the wonderful things you can do with this open source electronics platform. I love electronics and I did start out an Electronics Engineering degree at university (but didn’t finish it), for my love of all things electronics. But I realised I loved building useful stuff with electronics and solving problems with it was more interesting than learning EE theory. Arduino gives you a gateway into the physical world allowing you to measure it and interact with it. Useful as a first step into what might be possible with the Internet of Things, a simple Arduino and sensor kit should be standard issue for anyone interested in computer science. If you have watched enough of Louis’ videos, you’ll know how to put those skills to practice building out your projects. And no, I don’t have a Raspberry Pi …. Yet.
- Learning how to draw people: I recently for 2018 decided to learn how to draw since I think that visual communication is essential to design and IT architecture. You can find many great videos on YouTube and websites on how to draw, I will update this page once I’ve progressed on this front somewhat.