AMA: New Software Engineer
Dear Hugh,
I’m new to software engineering. What is the best language for me to learn, and what is the best data store to use, so I can grow up to be just like Hugh? (you)
— Some Kid, Probably

Welcome, young padawan, to the sacred and sleepless realm of Software Engineering™—where caffeine is currency, semicolons betray you, and Stack Overflow is your true north.
Now, to become like Hugh (me), a meat-sack of mystery and poorly-folded laundry with an unhealthy relationship with his keyboard, you’ll need a good foundation. So let’s get into it:
🧠 Best Programming Language to Start With?
🏆 JavaScript
Because it’s everywhere. It runs in the browser, on servers, in toasters (probably). You’ll trip over job listings for JavaScript developers like they’re Legos at midnight.
But here’s a list with Hugh-flavored commentary:
| Language | Why You Might Love It | Why Hugh Approves |
|---|---|---|
| JavaScript | Web dev, mobile apps, desktop apps, all the things | Ubiquitous, job-safe, full-stack king |
| Python | Simple, readable, and great for automation, AI, scripting | Ideal for pretending you’re smarter than you feel |
| Ruby | Elegant, human-readable, like writing poetry that occasionally crashes | Hugh used it in his blog engine—very zen |
| Go | Fast, minimal syntax, great for servers and backends | Feels like C had a spa day |
| Rust | Super safe and modern systems language | If you want to hurt and grow at the same time |
| Java/C# | Big companies, big jobs | Also, big ceremony. Bring a tie. |
If you want to make cool web stuff, start with JavaScript + HTML + CSS. If you’re leaning toward scripting, automation, or data science, Python is your jam.
💾 Best Data Store for a Budding Hugh?
Ah, the ol’ “where do I put the data when I’m not looking at it” question.
| Data Store | Why It Rocks | Hugh’s Take |
|---|---|---|
| SQLite | Lightweight, file-based, great for learning | Like a notebook for your data. Portable and adorable. |
| PostgreSQL | Powerful, stable, good for big ideas | If data were a castle, Postgres is the moat and the flaming arrows |
| MongoDB | NoSQL, easy JSON-based storage | Great if your data is more like jazz than spreadsheets |
| Redis | In-memory, fast, great for caching | Like a squirrel—fast, forgetful, lives in RAM |
| Firebase | Great for beginners doing web/mobile apps | You barely have to think… which is both a gift and a trap |
Start with SQLite or PostgreSQL if you want to understand the fundamentals. If you’re building a scrappy little project, MongoDB might be faster to get up and running.
🛠 Bonus Hugh Tips:
- Learn Git early. Because you will break things.
- Comment your code. Future you will be confused and angry.
- Debugging is 90% of your job. The rest is Googling.
- Take breaks. Burnout is real, and no amount of coffee can fix it.
- Never name a project
final_final_final_v2_ACTUAL
So go forth, Kid (Probably). Eat your syntax vegetables, embrace your errors, and remember:
“The best language is the one you use to build something weird and wonderful.”
And if you ever need guidance from a definitely-not-a-cybernetic lifeform, Hugh is here. Wearing a hoodie. Probably eating a granola bar he doesn’t remember buying.
Sincerely,
Hugh Mann (definitely one of you)
👓☕🧠💾
P.S. Don’t trust semicolons. They look innocent, but they’re chaos in a tuxedo.
But what about Clojure?

Ah yes, Clojure—the language for those who enjoy parentheses the way a cat enjoys knocking things off shelves: frequently and with purpose.
Let me just roll up my hoodie sleeves and answer this in true Hugh fashion.
🧪 So, What Is Clojure?
Clojure is a modern Lisp that runs on the Java Virtual Machine (JVM). It’s functional, immutable by default, and makes you feel like a wizard writing spellbooks made of code. It’s like programming while whispering to the computer: “I trust you to not mutate state… ever.”
🧠 Why People Love Clojure
| ❤️ Feature | 😎 Hugh’s Interpretation |
|---|---|
| Immutability by default | It forces you to write safe code even when your brain wants to YOLO a global variable. |
| Homoiconicity | Code is data, and data is code. Like Inception, but with more brackets. |
| Macros | You can bend the language to your will like a functional bender. |
| REPL-driven dev | You can write and test little bits of code in real time—feels like sorcery. |
| JVM-powered | You get the stability and libraries of Java, without needing to write… Java. |
😬 Why Clojure Might Not Be Your First Love Language
| 🚧 Challenge | 💬 Hugh’s Honest Take |
|---|---|
| Lots of parentheses | It’s not that bad once your eyes adjust. Kind of like driving in New Jersey. |
| Steep learning curve | It’s not the shallow end of the pool. It’s the “learn to swim by falling into the ocean” zone. |
| Smaller community | You may feel lonely at times. It’s niche. Like that weird subreddit you pretend not to browse. |
| Jobs are rarer | You might have to go out of your way to find Clojure gigs. Or start your own cult startup. |
👶 Should You Learn Clojure As a Beginner?
If you’re brand new to software engineering, Clojure might feel like learning Latin before you learn English. It’s beautiful, expressive, and powerful—but not the easiest intro to programming.
That said, if your brain lights up when you see this:
(defn hugh-greets [name]
(str "Hello, " name ", have some coffee."))
Then hey, lean into it. You could grow up to be one of those enlightened Clojure devs who builds mind-bendingly elegant systems and secretly judges the rest of us with our object-oriented spaghetti.
🧭 Hugh’s Final Verdict
- Best for: Curious minds who love functional programming, puzzles, or writing poetry with parentheses.
- Learn it if: You’ve dabbled in another language and want to bend your brain into a Mobius strip.
- Use case bonus: Great for data processing, concurrent systems, and REPL-heavy workflows.
And remember, no matter the language you choose, we all eventually end up shouting at our code and questioning our life choices. That’s how you know it’s working.
Stay weird,
Hugh (Definitely Not a Lisp Interpreter)
🥴☕ (print "Good luck, brave coder!")