Programming has nothing much to do with math. It is primarily about communication. It's about us communicating with customers and us communicating with the machine. Programming is a language skill, not a mathematical one.
Consequently, I get tired of people claiming that programming has anything to do with math. Beyond a little set theory and statistics, I've never used any real math in my decades of programming work. Logic is a subdiscipline of rhetoric, not mathematics. Analytical thinking (and problem solving) is part of almost every human activity, from carpentry to oil painting. Math and programming both use those skills, but so do a million other disciplines.
Some programs implement problems in mathematical domains, but in those cases, the math is part of the domain, not the programming process. Some programs involve dating profiles, but that doesn't mean that dating profiles are an integral part of the programming process.
I think this false equivalence dates back to the very early days of computing, when computers were used almost entirely to solve mathematical problems. In the present, mathematical problems are only a tiny fraction of the problems we solve.
Of course, computer science, which is that branch of mathematics concerned with the analysis of computer programs and algorithms, uses some math. (Though I never used the required 1.5 years of calculus and differential equations in a single CS class.) I'm talking about programming, not computer science, however.
So, returning to my original claim, if you want to be a good programmer, focus on developing communication skills. Math is irrelevant to the vast majority of us.
“Nigeria is a great country. By 2050, we will become the third most populous nation in the world, surpassing the United States” — Vice President Kashim Shettima
Computer science needs obsessed people.
MFS who do it even when no one is paying them to.
It’s not like civil engineering or law where you need special permissions to practice. You can just create a new traversal algorithm but you cannot build a new road to practice if you’re a civil engineer.
If you’re not obsessed, you’re NGMI.
After I shared that I was working much more since I started Claude Coding, a friend sent me a TikTok of a SWE doing the exact opposite: the guy quickly writes a prompt, launches the job, then spends the time scrolling on his phone waiting for it to finish.
I was genuinely shocked because it’s the complete opposite of what I’m doing. The second Claude Code starts running, I immediately launch another one in parallel for another feature, another task, sometimes another project entirely. I basically never stop. My productivity is through the roof.
But I think because I live in this bubble of entrepreneurs and builders doing the same thing (I learned many way to optimize my work literally from my neighbor), I forgot basic human nature. The hard truth is that most people will probably use AI exactly like the TikTok guy. I think productivity will still go up for them, so overall I guess that’s still a win. But it feels strange to watch from the outside. I guess something else I had to remind myself of is that not everyone likes their job. In fact the majority of people do not. So why would they push harder, go fully locked in, and end every day mentally exhausted? There are really several realities happening at the same time right now.
And honestly, if someone uses AI to work less during the day, but goes home at night and spends weekends obsessively building something they truly care about… I completely respect that. Optimize for your passion and goals. Unfortunately though, a lot of this is mindset and the person doing as less as possible will most likely be the same person outside of work.
AI or not, your mindset dictates your present and your future. No technology will ever change that. Which is also why builders will become even better builders thanks to AI, while people who spent years complaining will mostly see AI as another thing to complain about.
AI is evenly distributed. Mindset is not.
IBM asked these questions recently in its Interview for Senior Data Engineer role
4 of my students who were hired by IBM recently, got into projects with Top Banking, Automobile and Energy clients.
Rounds – 1 Technical & 1 Technical + Managerial
These are the exact questions, they were asked;
SQL & Pyspark Question:
•Return matching records from 2 tables which also contain Null values
•Return all records from Left Table which matches with Right Table
•Return all records from Right table
•From a Travel history table containing User Id, City and Travel Date, identify the source and destination city of each journey?
•Find 4th highest salary for each department
•What is the difference between Rank & Dense_Rank
•Narrow Vs Wide Transformation
•How do you handle a Data Skew
Project Related Question:
•Give a brief about your last data engineering project?
•How many task, stages and partitions were created in your last project?
•Did you face any sudden job delay in your previous project. How did you debug it?
Databricks Question:
•How do you pass parameter from one Notebook to another Notebook?
•If records are moved from source to target table, and source is deleted. How do you identify the deleted records? (Upsert & Delete detection)
•Explain Databricks Architecture?
•Explain ACID properties with an example.
•A Delta table is grown to double over time. How would you optimise the performance of this Delta table?
Managerial Question:
•Did you come across any conflict situation with your team members earlier. How did it get resolved?
•If you face a major misalignment with a big client related to project timelines. How do you address this?
Way of asking question might change, but concepts behind them remains the same. Don’t forget to get your fundamentals strong.
Just started Designing Data-Intensive Applications, but this is the second time I’m seeing database internals mentioned this week… Adding it to my list 😊.
Database Internals: Complete.
I've now read both this and DDIA over the past 9 months.
In some ways I liked DI more than DDIA. DDIA is great, but felt it was too verbose in the second half. DI is shorter and tighter.
Every single engineer can benefit from reading Database Internals. (Yes, even all of you React Miami-ers!) This won't teach you everything, but it's a great place to start.
I want to thank everyone for the outpouring of love and thank you for believing in me to lead the company that has always put you at the center of our work. This is not goodbye. It’s a hello to John and I can’t wait for you to get to know him like I do! 🙏
A software engineer who wrote the code that landed humanity on the moon realized one terrifying truth:
You cannot predict every error, but you can dictate exactly how the system reacts to them.
Her name is Margaret Hamilton, the woman who famously coined the term "software engineering." She argued that we obsess over writing perfect code and completely ignore how the system handles catastrophic failure.
Here are 4 operational frameworks she used to build elite, fault-tolerant architecture: