14
.
11
.
2023
29
.
07
.
2016
Ruby
Software

CS Lessons #000: Introduction and motivation

Michał Młoźniak
Co-founder

In 2016 I can finally say that I have 10 years of commercial experience in web development. Yay! During those years I've seen a lot of new technologies introduced to make building applications for the web much easier. I am talking about things like Ruby, Ruby on Rails, Go, Elixir, Phoenix, ES6, React, Docker, Redis and much more. This is amazing.

But I also see a problem here. People take those technologies for granted and they don't see or care that those new exciting technologies are actually build on top of something else. Something that has been out there for a long time. Good example can be Elixir and Phoenix, which is build on top of Erlang and OTP (30 years old stuff).

Another thing is the library ecosystem. Many languages have a lot of libraries that you can easily use in you projects. Developers use them, but in most cases they don't know how those libraries work. They make everything easy, guarantee more productivity, but they also make developers lazy. It reminds me of the story about tester guy, who automated his daily tasks so well, that he could play League of Legends for the next 6 years. After this time, he forgot how to code.

I am not saying that you shouldn't use new technologies or libraries. I am saying that you need to pay more attention to the basics, to understand how technology works. Doing so you won't be only a passive user of technology. It will help you to learn new stuff and to solve problems in the better way, because you will be able to code your own solution and not depend only on libraries.

I created this series to encourage developers to try to know those basics. This will be about core programming, data structures and algorithms, file format, internet protocols and so on.

Posts in this series:

Michał Młoźniak
Co-founder

Check my Twitter

Check my Linkedin

Did you like it? 

Sign up To VIsuality newsletter

READ ALSO

Table partitioning in Rails, part 1 - Postgres Stories

11
.
06
.
2025
Jarosław Kowalewski
Postgresql
Backend
Ruby on Rails

Indexing partitioned table - Postgres Stories

11
.
06
.
2025
Jarosław Kowalewski
Backend
Postgresql

Table partitioning types - Postgres Stories

11
.
06
.
2025
Jarosław Kowalewski
Postgresql
Backend
SQL Views in Ruby on Rails

SQL views in Ruby on Rails

11
.
06
.
2025
Jan Grela
Backend
Ruby
Ruby on Rails
Postgresql
Design your bathroom in React

Design your bathroom in React

11
.
06
.
2025
Bartosz Bazański
Frontend
React
Lazy Attributes in Ruby - Krzysztof Wawer

Lazy attributes in Ruby

11
.
06
.
2025
Krzysztof Wawer
Ruby
Software

Exporting CSV files using COPY - Postgres Stories

11
.
06
.
2025
Jarosław Kowalewski
Postgresql
Ruby
Ruby on Rails
Michał Łęcicki - From Celluloid to Concurrent Ruby

From Celluloid to Concurrent Ruby: Practical Examples Of Multithreading Calls

11
.
06
.
2025
Michał Łęcicki
Backend
Ruby
Ruby on Rails
Software

Super Slide Me - Game Written in React

11
.
06
.
2025
Antoni Smoliński
Frontend
React
Jarek Kowalewski - ILIKE vs LIKE/LOWER - Postgres Stories

ILIKE vs LIKE/LOWER - Postgres Stories

11
.
06
.
2025
Jarosław Kowalewski
Ruby
Ruby on Rails
Postgresql

A look back at Friendly.rb 2023

11
.
06
.
2025
Cezary Kłos
Conferences
Ruby

Debugging Rails - Ruby Junior Chronicles

11
.
06
.
2025
Piotr Witek
Ruby on Rails
Backend
Tutorial

GraphQL in Ruby on Rails: How to Extend Connections

11
.
06
.
2025
Cezary Kłos
Ruby on Rails
GraphQL
Backend
Tutorial

Tetris on Rails

11
.
06
.
2025
Paweł Strzałkowski
Ruby on Rails
Backend
Frontend
Hotwire

EURUKO 2023 - here's what you've missed

11
.
06
.
2025
Michał Łęcicki
Ruby
Conferences

Easy introduction to Connection Pool in ruby

11
.
06
.
2025
Michał Łęcicki
Ruby on Rails
Backend
Ruby
Tutorial

When crazy ideas bring great time or how we organized our first Conference!

11
.
06
.
2025
Alexander Repnikov
Ruby on Rails
Conferences
Visuality

Stacey Matrix & Takeaways - why does your IT project suck?

11
.
06
.
2025
Wiktor De Witte
Project Management
Business

A simple guide to pessimistic locking in Rails

11
.
06
.
2025
Michał Łęcicki
Ruby on Rails
Backend
Ruby
Tutorial

Poltrax design - story of POLTRAX (part 3)

11
.
06
.
2025
Mateusz Wodyk
Startups
Business
Design

Writing Chrome Extensions Is (probably) Easier Than You Think

11
.
06
.
2025
Antoni Smoliński
Tutorial
Frontend
Backend

Bounded Context - DDD in Ruby on Rails

11
.
06
.
2025
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial

The origin of Poltrax development - story of POLTRAX (part 2)

11
.
06
.
2025
Stanisław Zawadzki
Ruby on Rails
Startups
Business
Backend