Advice From A 19 Year Old Girl & Software Developer
Lydia Hallie

I loved studying computer science at a university! I met lots of like-minded people (nerds) whom I could join at the computer lab solving problems till late at night while getting “paid” (in student loans and credits).

I think it’s mostly about the mindset you learn to implement. At the university, you learn how to approach problems theoretically, and you learn to think in a new way. You rewire your brain. At the university, I learned object-oriented programmming, functional programming, assembly, and I don’t know what else. I learned high-level languages and low-level languages. Mostly, I learned how to solve problems.

Of course, you can learn all that by yourself, and many people do. That’s very different from actually using programming as a practical tool, however. I did not learn any frontend programming at the university. I didn’t learn git (well, I learned it myself, like people who don’t go to universities). I didn’t learn how to make a website, or a GUI application, or how to make a node.js application with dependencies, or how to use an IDE. In short, I didn’t learn to work as a software developer. And that’s OK!

But I learned how to learn. I learned how to learn any programming language. I learned how to write a compiler for a programming language. I learned how to write an emulator for a video game console. I learned how stuff works, under the hood, and how the people who made that stuff thought, and how the computer thinks.

They’re very different approaches. I’m not even sure which approach is more complex. If you want to actually make stuff, the IT field is very broad nowadays. Thirty to forty years ago, everyone knew everything about one or more computer architectures. Nowadays, people know everything about one or more ecosystems. Not languages, per se — I agree with you that no one language is superior to another. But a language isn’t just a language any more, it’s an entire ecosystem. JavaScript isn’t JavaScript, it’s React and node.js and who knows what else. Python is numpy and Python 2 vs Python 3 and pypi and a myriad of packages. Ruby is Rails. Java is an enterprise behemoth, and most importantly it’s the JVM and Scala and Groovy and Clojure and a million other things. APIs and frameworks have supplanted the languages. The syntax of a programming language isn’t the hard part, it’s the ecosystem buy-in.

I really agree with you on the meditation/relaxation. Programming is very meditative. I can’t count the number of times I’ve realized the solution to a problem while meditating, or taking a walk, or listening to music, or sleeping.

Programming is creative, and requires lateral thinking. It helps to let your brain enter its “diffuse mode”, as it’s called in this story about Magnus Carlsen. Programming isn’t chess, but they still have a lot in common.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.