Every article about becoming a good writer says "read a lot". Yet in programming we rarely practice reading. We only read the code we have to understand in order to change, we rarely encourage each other to read and analyze some well-written code
I think coding is very much like writing and yet we don't teach it like we teach writing. We teach to produce working code, which is bare minimum. We rarely emphasize that the code is written with other developers in mind.
Some developers realize it themselves and instinctively try to make their code easier to understand, but I have seen very little focus on it at uni or bootcamps.
This year I'm planning to release a refactoring course that focuses on code readability. It's not easy to automate it, since readability is very subjective, but I hope it can be a small step towards better coding education
• • •
Missing some Tweet in this thread? You can try to
force a refresh
"Refactoring Python Code" book update: a few days ago I started moving all code examples to separate files (out of Markdown files) and covering them all with unit tests. That has been great, as I found tons of small typos. #buildinginpublic (1/4)
Using external files is a great idea - each file is fully working code, and in the book I just include the part I need (e.g. I skip imports and some helper functions).
I have the best of both worlds, I have working code and concise examples (2/4)
It also means whoever buys the book will receive a package of files with code and tests so that they can play with them! I'm super happy with this decision.
I'm using markdown-pp (github.com/jreese/markdow…, now deprecated) to handle including external files (3/4)
One interesting thing I've learned from the Alibaba story was how in EBay went from 90%+ of the market in China in 2002, to leaving China entirely just 5 years later. (1/5)
There are many reasons why EBay lost, but one interesting one is that they refused their Chinese team to drive the product. Instead they tried to unify the platform globally, so that the whole site worked and looked the same everywhere. (2/n)
These days it's changing, but generally Chinese web design is very different than western design - sites are more busy and flashy, there's a lot of information there. Compare main page of Amazon vs JD: (3/n)
The president of Square Enix (Final Fantasy games and more) wrote about play-to-earn and NFTs as upcoming major trend in gaming in 2022. A large part of the letter feels like crypto bros' wet dreams, but a small part there could lead to something positive:
The bad parts are obviously that they want to shove NFTs and blockchain in players' faces, which I believe is a dangerous and completely unnecessary trend.
Also saying that goodwill and volunteer spirit are inconsistend in comparison with willing to make money makes me cringe
I don't think that play-to-earn will make games more exciting, instead it'll turn them into weird worlds with little to no authentic enthusiasm. It's like a party where some guests are there to have fun and some are hired actors, but you don't know who's who.
This year I've read so far 20 books. Here's what I do and don't recommend: 📕
1. "Multipliers" - a book about a leadership and being a genius vs genius maker (someone who helps other to reach their potential). Overall ok, but it should be 50 pages instead of 250
2. "System design interview" by @alexxubyte - great read when preparing for tech interviews. Very solid and yet concise examples. It helped me to pass a number of interviews. Highly recommended!
🧵The job market for junior devs is not great these days (to put it mildly), so here are a few tips from recruiters, hiring managers, and my own experience about how to get your first job as a developer: #CodeNewbie#DEVCommunity
1. Check multiple job boards, not only LinkedIn - junior positions are easier to fill, so there's no need for companies to advertise them everywhere, they'll get a lot of candidates anyway
2. Check out careers page of larger companies around you, and sign up for updates if they have such option. Careers page is where the job offers appear first, so be the first one to know about them
With 💎 Ruby 3 released, let's have a look at how the language evolved since the version 2.0 was released more than 7 years ago. A history thread about #ruby#ruby3 🧵:
In 2013 @yukihiro_matz announced Ruby 2.0 and he said the core team would release a new minor version every year during Christmas time🎄This was huge news 🎉 for Ruby devs since until then the releases were irregular. It made the future look very bright
Ruby 2.0 brought a bunch of features: keyword arguments, module#prepend and lazy enumerators.
One minor, but verys useful feature was %i literal to create arrays of symbols - I use it so often! 💪🏻