I like driving, I really do.
If you want to learn how to drive, the best you can do is to practice, practice and practice.
I’ve been lucky enough to drive some motorbikes and all kind of cars from small utilitarian, SUVs, crossroad and sport cars like the Mercedes McLaren SLR, Porsche Cayman or Ferrari 360 Modena.
I’ve driven in the street with all kind of weather conditions and I’ve done amateur races in circuits, on snow, on asphalt, on gravel…
All cars are very different from each other and they have their own purpose, they offer you a very different driving experience, but they have something in common, driver assistance systems that cover different aspects of driving like: ABS, blind spot monitor, electric windows, parking sensors, GPS, radio, air conditioning, sequential gearboxes…normally the most advanced the car is the more driver assistance systems it incorporates.
I also owned a competition go-kart without any of the above aids, just break, throttle and steering wheel, which I can assure you is extremely fun to drive.
When I talk with friends, some argue if this or that aid system tampers the driving experience. Some of them say the purest driving experience is the go-kart, others would say it is the super sport cars, many think completely different and say the utilitarian are the real cars.
We could spent our entire lives arguing about what real driving is, but the reality is that all the aid systems help me to drive in my day to day and improve significantly my driving experience. They make my driving more secure, easier and they make me enjoy more my trips.
Driver assistance systems simply make me a better driver, because it helps me to avoid common mistakes we do when we drive a vehicle, but they don’t substitute my driving expertise. If I’m a bad driver, I will be a bad driver no matter how may aid system my car incorporates.
Exactly the same happens with coding and development tools, development tools and their features help me to be a better developer and to simplify my work. Therefore, every time I hear someone is promoting to code in the workplace without development tools and use things like notepad, I really think it is ridiculous.
I’m not against coding for fun without tools, without internet… as a way to test your knowledge, in hackathons, at codekatas, at home… the same way I was driving a go-kart without any aid system as a way to have fun and test my driving skills.
Not in our workplace, our profession and the projects in which we work are already very hard and complex, so we should use the aid systems, the available development tools that help us to be more productive in a sustainable way: IDEs, source repositories, different methodologies and of course practice, practice and practice.