<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged fundamentals</title>
<link>https://coderlegion.com/tag/fundamentals</link>
<description>Powered by Question2Answer</description>
<item>
<title>Strict Types Won't Fix Your Lack of Understanding</title>
<link>https://coderlegion.com/23667/strict-types-wont-fix-your-lack-of-understanding</link>
<description>&lt;p&gt;In development circle I am what would be considered a mid/senior developer. I have been in the trenches, seen the rise and fall of technologies. Seen the prophecies of doom and gloom with new things that showed up. Been a part of the ebb and flow of it all. My training, my initial training came in C, C++ and Java. So I would like to think I know what I am talking about when I am sceptical about things.&lt;/p&gt;
&lt;p&gt;An interesting thing I have come across over the years, is this need to enforce types on languages that are dynamic and pride themselves on that. While this wasn't an issue prior, it has become an increasingly worrying trend with current day developers. You come from a strictly typed language to a dynamic one and upon encountering something you don't understand, you assume adding types would fix the problems &lt;strong&gt;you&lt;/strong&gt; have.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;learn-the-language&quot;&gt;Learn The Language&lt;/h3&gt;
&lt;p&gt;As a developer it should be within you to want to learn, to strive for it. The need for improvement should be on of your core tenets - to want to be better. You wanting a language to have strict typing because that is what you are used to is a failure on your part.&lt;/p&gt;
&lt;h4 id=&quot;the-offenders&quot;&gt;The Offenders&lt;/h4&gt;
&lt;h5 id=&quot;javascript-typescript&quot;&gt;JavaScript/Typescript&lt;/h5&gt;
&lt;p&gt;Arguably the worst of the offenders. This has been going on for as long as I can remember.&lt;/p&gt;
&lt;p&gt;I recall somewhere saying, &quot;The war is over, typescript won&quot;. And I laughed, audibly, out loud. How does a super-set of another language win anything. It also wasn't a win, more a pushing hard for it to the point that the people against simply stopped arguing and moved on to building in.&lt;/p&gt;
&lt;p&gt;Honeestly, you can't tell me this is better:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-ts&quot;&gt;import { BaseRecord, DataProvider, GetListParams, GetListResponse } from &quot;@refine/core&quot;;

import BaseRecord. DataProvider. GetListParams. GetListResponsel from
&quot;arefinedev/core&quot;;

export const dataProvider: DataProvider = {
	getList: async &amp;lt;TData extends BaseRecord = BaseRecord&amp;gt;(f resource ):
	 GetListParams): Promise&amp;lt;GetListResponse&amp;lt;TData&amp;gt;&amp;gt; =&amp;gt; {
		if(resource !== 'subjects') return [ data: [] as TData[], total:

		return {
			data: [],
			total:
		}
	}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;python&quot;&gt;Python&lt;/h5&gt;
&lt;p&gt;In all my years of development, I never thought Python would join this conversation. But here we are. For all intents and purposes, type hints in Python were meant to be optional. But it seems to me these &lt;em&gt;hints&lt;/em&gt; are now becoming mandated.&lt;/p&gt;
&lt;p&gt;Python is smart enough to infer the type of your variable and return type of your functions. What are we doing here people?&lt;/p&gt;
&lt;h4 id=&quot;the-ai-argument&quot;&gt;The AI Argument&lt;/h4&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;I don't need to understand the language, the AI will do it for me&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sure, that might be true, but what happens when something breaks and you have no clue why? What happens to your AI generated strongly typed code that you can't parse? You'll feed it to another AI as well?&lt;/p&gt;
&lt;p&gt;Also, I am sure you have noticed that these companies have jacked up their prices. This is going to continue, and because you have offloaded your thinking to some model you are going to pay.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;my-stance&quot;&gt;My Stance&lt;/h3&gt;
&lt;p&gt;Now, I am not saying no to types, far from it. What I am saying is learn the language and its nuances. Learn what makes it special, before you instantly decide this isn't working and types are needed. What I constantly here is &quot;types will help&quot;. Help what? - When you don't understand the underlying language?&lt;/p&gt;
&lt;p&gt;There is a time and place for types, and that time and place is when you have learned and understood the language. Only then will what you are enforcing types on matter and make sense.&lt;/p&gt;
&lt;p&gt;I understand the necessity of types and I also understand when they are being used a crutch.&lt;/p&gt;
&lt;h4 id=&quot;a-small-shout-out&quot;&gt;A Small Shout out&lt;/h4&gt;
&lt;p&gt;In my fatigue of all the frameworks and all the gospel of types, I was fortunate to come across  &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/angelajholden&quot; target=&quot;_blank&quot;&gt;Angela Holden&lt;/a&gt;, who built a site for her 30 days of &lt;strong&gt;Vanilla JavaScript&lt;/strong&gt; series - a commitment she undertook to improve her JavaScript, a stream everyday for 30 days. She has been a developer for over 13 years and she has chosen to work on the language, to practice, to get better at it. To understand its nuances.&lt;/p&gt;
&lt;p&gt;Here is &lt;a rel=&quot;nofollow&quot; href=&quot;https://angelajholden.github.io/30daysofvanillajavascript/&quot; target=&quot;_blank&quot;&gt;the site&lt;/a&gt; she was working on during the 30 days. Quite impressive if I do say so myself.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;wrapping-up&quot;&gt;Wrapping Up&lt;/h3&gt;
&lt;p&gt;I am concerned, not for myself but for the ones that come after. The ones that will not have that sense of curiosity and wanting to understand because they have been spoon-fed everything.&lt;/p&gt;
&lt;p&gt;I haven't been writing as much as I have been navigating this new landscape we find ourselves in, as well as other pressing mattters in my private life. I can't say when next I'll publish something, but be assured I am watching and paying attention to it all.&lt;/p&gt;
&lt;p&gt;A lot of you now think fundamentals don't matter anymore, I would argue they are more important than ever.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;thank-you-for-reading-let-s-connect-&quot;&gt;Thank you for reading, let's connect!&lt;/h4&gt;
&lt;p&gt;Thank you for visiting this little corner of mine. My email and DMs are always open; if you want to chat or collaborate on something, &lt;a rel=&quot;nofollow&quot; href=&quot;mailto:jamesmidzi@gmail.com&quot;&gt;shoot me a email&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Where you can also get hold of me:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://twitter.com/Psypher1&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://discord.com/users/Pharaoh#5441/&quot; target=&quot;_blank&quot;&gt;Discord&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.linkedin.com/in/jamesmidzi/&quot; target=&quot;_blank&quot;&gt;Linkedin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/23667/strict-types-wont-fix-your-lack-of-understanding</guid>
<pubDate>Tue, 28 Jul 2026 12:03:51 +0000</pubDate>
</item>
<item>
<title>Welcome to Fundamentals Mastery: Learning in Public</title>
<link>https://coderlegion.com/14776/welcome-to-fundamentals-mastery-learning-in-public</link>
<description>&lt;p&gt;Every great engineer eventually discovers the same truth:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Strong fundamentals matter more than anything else.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Frameworks change. Tools evolve. Programming languages rise and fall. But the core concepts of computer science and software engineering remain the foundation that great software is built on.&lt;/p&gt;
&lt;p&gt;That realization is what inspired me to start this blog.&lt;/p&gt;
&lt;h3 id=&quot;why-i-started-fundamentals-mastery&quot;&gt;Why I Started Fundamentals Mastery&lt;/h3&gt;
&lt;p&gt;My name is &lt;strong&gt;Shakiran Nannyombi&lt;/strong&gt;, and I’m a software engineer who is deeply passionate about technology, developer communities, and continuous learning.&lt;/p&gt;
&lt;p&gt;As I continue growing in software engineering, I’ve realized that truly understanding the &lt;strong&gt;fundamentals of computer science&lt;/strong&gt; is one of the most valuable investments I can make.&lt;/p&gt;
&lt;p&gt;Instead of just consuming tutorials or jumping from tool to tool, I want to &lt;strong&gt;slow down and master the concepts that power modern software systems&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This blog is my way of doing that &lt;strong&gt;in public&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id=&quot;what-you-will-find-here&quot;&gt;What You Will Find Here&lt;/h3&gt;
&lt;p&gt;Most of the articles on this blog will follow a &lt;strong&gt;“101” format&lt;/strong&gt;, where I break down important concepts into simple explanations that are easy to understand.&lt;/p&gt;
&lt;p&gt;Some of the topics I will be exploring include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Programming fundamentals&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data structures and algorithms&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Computer Architecture&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Operating systems&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Computer networks&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Databases&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Software engineering principles&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Developer tools and workflows&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each article will aim to make complex ideas &lt;strong&gt;clear, practical, and beginner-friendly&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id=&quot;learning-in-public&quot;&gt;Learning in Public&lt;/h3&gt;
&lt;p&gt;One of the best ways to truly understand something is to &lt;strong&gt;teach it&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;By writing these posts, I’m not just documenting what I learn; I’m reinforcing my own understanding while hopefully helping others who are on a similar journey.&lt;/p&gt;
&lt;p&gt;If you’re a student, developer, or someone transitioning into tech, I hope this blog helps you strengthen your foundations.&lt;/p&gt;
&lt;h3 id=&quot;let-s-master-the-fundamentals&quot;&gt;Let’s Master the Fundamentals&lt;/h3&gt;
&lt;p&gt;Technology moves fast, but the developers who stand out are the ones who understand the &lt;strong&gt;foundations beneath the tools,&lt;/strong&gt; especially in this AI era, where they can easily be ignored.&lt;/p&gt;
&lt;p&gt;If you're also interested in mastering the fundamentals of computer science, you're in the right place.&lt;/p&gt;
&lt;p&gt;Let’s learn and grow together.&lt;/p&gt;
&lt;p&gt;— &lt;strong&gt;Shakiran&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.hashnode.com/uploads/covers/697b5c79519035959f5d9078/d4c3780c-90f8-4150-9f99-671a7defeb74.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/14776/welcome-to-fundamentals-mastery-learning-in-public</guid>
<pubDate>Tue, 14 Apr 2026 12:02:52 +0000</pubDate>
</item>
</channel>
</rss>