my coding journey.
i was recently going through some pictures and i saw a couple of the images i put in this post. they reminded me of when i started coding & i just wanted to share my journey from thinking python was just a snake to now becoming addicted to coding. it's been a roller coaster fr. the piece is def long but i promise it's worth it.
june 2023
this was the first time i heard of, or at least was introduced to, what the concept of coding was. I was selected by the us embassy in nigeria to take part in a program for high-achieving high school students and i met a couple of guys from really influential schools. it was a gathering of people with diverse career interests but a good number of them could code. it’s not new news that a lot of international students in the u.s. study cs or some form of engineering (we gotta chase that bag). so almost everyone was asking me if i could code. well, my answer was a firm no. I didn't even know what coding was or what programming languages were. i just knew it was how websites and stuff like that were created. my plan then was to study biology in college and go to med school, so i wasn't slightly interested. “coding? what coding?” (plz tell me you got the reference.) i went back to school & just continued doing my own thing: biology in college + med school was the plan.
november 2024
around this time i started thinking of solutions to problems around me & how they could be solved by coding. i dont think this was the first time i had ideas on things to build. this was just the first time i had an idea and i knew that idea could be implemented by coding. i didn't know much about ai or machine learning but i had this idea of "chatgpt for hospitals." i even wrote a 4 page article on how i thought it was the best way for hospitals to deal with the low doctor-patient ratio. been a while since i read it but it was def a fire essay. i thought it was so novel and unique back then (sigh, i know better now). here i was with this idea that would have made me a billionaire and all i needed to do was find a way to build it. it wasn’t in this age where “everyone” can code. there was only one way to do it: the guy who was once indifferent to coding had to learn to code.
december 2024 - june 2025
freecodecamp courses
my first action after deciding to start coding was to call a friend who was a really good programmer. unsure about my intentions & interests, she just told me to start with freecodecamp's html course. i was however very unfocused on it. i found it boring and lowkey useless. dammit! i cant believe i’ve hated frontend dev from day one! well, i got bored and i told another friend and he told me to skip html and learn python. it was the perfect language to start with according to him. lowkey thought python was a snake tbh.
so, i started learning python through a course on freecodecamp. no offence to freecode camp but this course was also useless. it was a bunch of 10 minute videos followed by just one question. there was no projects or anything like that. i did it for like two or three months without making any real progress. i don't even think i wrote a single meaningful line of code in that time. i still remember building one very funny spotify questionnaire. in my defense, i lacked the mental model required to think of projects i could build with the knowledge acquired. probably built a calculator i think.

early python code from freecodecamp
numpy & pandas stint
eventually, i got tired of trying to understand while and for loops(lowkey the majority of what that course taught), so i asked chatgpt what i should learn to build “ ai for health”. i am not sure how i asked but i think chat thought i wanted to go into ai/ml and build actual models, so it directed me to learning numpy and pandas. according to it, they were the next phase of my journey. a guy who didn’t even understand python enough started learning libraries. boy oh boy. well, i spent another month learning those two. that didn’t amount to anything useful as well.
considering studying cs in college & morehouse summer bridge program
after spending all this time wallowing in the ocean of different courses, i was already starting to toy with the idea of studying cs in college. i was conscious that i was a very terrible programmer then but i knew 3 things: i actually loved coding, i would get better with time & i also wanted to bring my ideas to life. those 3 made me want to try it out in college because i hoped they would actually provide structure to my learning. i already had admission to howard university with a full ride then & even though i got in as a bio major, i knew it was not set in stone. i’m a very religious person and i believe in the death of Jesus on the cross to save sinners. so, i started praying to God for a sign as to whether i should study cs in college. i remember praying one day about it in the morning. in the evening, my mentor sent me a program for incoming cs freshmen organized by morehouse. that sealed it for me. i still remember how i wrote my application essay for the program, talking genuinely about how i grew up without access to computer science and blah blah blah. let’s just say i was basically a “pick me” for the program organizers. i didn’t hear back for like a month though & anyone who has applied to a program organized by black folks knows one thing: silence is rejection bruh. so in my mind, i registered it as a rejection. then early june, i was doing some work on my laptop & had to check my email for some details. bang, the acceptance email for the program just came in. i was so happy! happy both for the opportunity & the money lol.
summer 2025
meeting patrick & micheal.
looking back now, that program changed the entire trajectory of my coding career. if i didn’t get selected into the program, the chances of me being where i am now in my coding journey is pretty low. funny enough, it wasn't really the program itself that helped me but the community it gave me access to. it was in the program that i met two amazing guys that have played an instrumental part in my coding journey so far: michael from ghana and patrick from tanzania. patrick recommended me for codepath & a whole bunch of other important things. he was the first person that told me about leetcode and how one needed to practice more of it to get a job. michael has also been helpful in connecting me to the right people and keeping me updated with links. super super proud of them. patrick is interning at microsoft this summer & micheal is doing research at mit. yeah, ik. i am the unserious friend. but hey, every trio needs someone to be unserious. i am just saying.

me, michael and patrick
angela yu’s 100 days with python course
the most important thing Patrick gave me though was a link: a link to a telegram channel that contained all the resources for angela yu’s 100 days of python. God bless her for me. she'll probably never read this, but if for some reason, she ever does: thank you for the foundation of my entire coding career. thank you for being such a good teacher. thank you for everything. i stuck with that course religiously, one day at a time, every single day. i didn’t even have access to wifi cos i was still in nigeria when i started the course so i used my money to get internet access & download the videos and resources. and boy was it worth it. angela is such a great great teacher. i personally haven’t seen anyone as good as her in teaching programming concepts. she explained everything from first principles, with stories and illustrations, and there was always a project to work on everyday. i still have the code i wrote back then. most of the work was basic but it made me fall deeply in love with programming. during that time, i built a calculator, rock-paper-scissors, blackjack game & some little terminal programs, but it was peak. imy favorite project though was a love calculator. i was talking to a girl i liked back then & i still remember putting her name in the calculator to determine if it was a match. (someone tell that guy to focus on his code & stop fun fooling).
i was still doing the data science program on the side and even though the course content didn't contribute much to my actual growth as a programmer, it was a nice exposure to technical research & data analysis.
september 2025
i came to the U.S. & started college. thanks to my work with angela’s course which i still hadn’t finished, i was already ahead of the curriculum in my intro cs class. the class was also on python so i was light years ahead of most of what we were learning. i just kept learning on my own and kept going until it became a daily addiction. most of what i built by this time were terminal projects but i got into the turtle library around then and used it to rebuild the popular snake game from scratch and also built a two player pong game. they were my first visual projects and i was so so proud of them. i happily put them on my very very basic resume. yeah, resume. i was already internship hunting mehn.

snake game built with turtle library
october 2025
i started dabbling with apis. the first api i used was the international space station api. by using their api, you can get the iss's exact location. with it, i built a program that would email me whenever it passed over my house during the day. i learned smtp for automating the email. it took almost 3 months before the iss passed over me during the day but when it did, i actually got the email. it was also my first cloud hosted project. all i did was deploy it on github actions lol. very very basic but i was just so proud of myself. later, i learnt how to use selenium & beautiful soup, then got into automation and scraping. i used the knowledge to build a linkedin job application autofiller & a form for auto-collecting rental prices. i just loved bringing things to life so it was fun for me. all of this were still from angela yu’s course by the way. that course is so goated and i would 100% recommend it for anyone starting out their programming journey. you don’t have to finish it. i didn’t. but it really really sets you up for success in programming and gives you a pretty strong foundation.
nvidia gtc hackathon.
with all the projects i built by then, i was starting to wrongly think i was already a good programmer. so i signed up for an nvidia hackathon that was taking place in my school. it wasn’t really a standard hackathon because it was just for 3 hours but in my very very naive and dare i say arrogant mind, i was going to beat the competition. we were encouraged to use ai to code so i vibe coded for the first time. i used lovable to prompt something out quickly. what i & my team built was a simple chatbot where you enter your pdf files for school and then you chat with the ai about them. holy moly of chatgpt wrappers. i actually thought what we built was cool. i was humbled when i started seeing other people's demos and i realized i wasn't good enough and had a long way to go. it was a wake up call for me. funny now that i think of it, most of the people who had cool demos were juniors, seniors & grad students. i mean there’s not much a freshman can do but i didn’t think of it like that & thank God i didn’t. i went home that night and actually cried about not being good enough. in my ever defiant manner, i made a promise to myself i was going to get better while listening to some motivational music
agentic ai interest
not long after, i became very interested agentic ai. it was probably because it was the rave of the day back then and most yc companies were one form of ai agent or the other. so, i spent an entire week reading like two ~70 page google whitepapers on transformers, attention, mixture of experts and the whole lineage that led to chatgpt. i can still hold a solid conversation on how that architecture works under the hood. that’s how much i read back then. but as with most papers, the knowledge was somewhere in my head but i couldn’t really apply it to anything.
building my first medical chatbot & rag system
that semester, i was taking a cs course and we had a final project where we were separated into groups of 3 students and asked to build anything of our choice. i had a lazy group so it was sorta up to me to decide what we would build. up for a little challenge, i decided to work on my idea of “chatgpt for hospitals”. i wouldn’t say it was actual chatgpt for hospitals tbh. it was more of chatgpt for health. i watched a youtube tutorial and spent almost 7 hours implementing a medical bot from scratch with langchain. it was also my first time of building a rag system and creating vector embeddings. i created a vector database of a medical encyclopedia of about 5000 pages and then answered queries the patient had with a rag system. it was def more advanced work than any of my projects before then. i really enjoyed building it & i remember demoing it to a friend at my school’s cafeteria. i was grinning from teeth to teeth like as if i had discovered penicillin.
building the rag system in a jupyter notebook
medical chatbot interface
little note to anyone: learn to derive joy from things, especially as a programmer. there’s so much failure, esp as a cs student. there’s tons of opportunities you will apply for and most likely get rejected a ton as well. so you need to derive your joy from things that may seem small. don’t let anyone tell you it’s small. i still have a victory dance whenever smth i build works or i fix a bug. i don’t care if it’s childish, i am happy.
winter break 2025/2026
after building that medical bot, i told myself that during the winter break, i wanted to come back fully cracked on agentic systems, down to the core. so immediately the break started, i started with andrew ng's short course on agentic systems. it’s a really really short course with about six to seven 10 minute videos & super digestible. with the information, i built my first agent without watching any tutorial. my agent checked the weather and could send emails so it gave me advice for the day based on the forecast. yay!!!
working during the winter break
learning langchain & building projects
that same break, i went through langchain academy too. i don't really use the framework anymore, but i learned a lot and the knowledge it gave me has really helped me to think about agents from first principles. most of my best projects even now are a form of agent under the hood and i attribute it to the time i spent learning how to use langchain. my first project from the course was an app that used a picture of your fridge to recommend what you should cook. after like 2-3 weeks of tackling the course, i decided to use the knowledge i had learnt to build two major projects. i wanted to work on actual problems that people faced . i did a little bit of research and the first thing i built was sibyl(terrible name- yeah, i know). sibyl was an ai agent to solve the problem that students had with keeping up with the lots of due dates for things in college. with sibyl, all you do is that you give it all the syllabus of your courses for the semester and it extracts all the relevant dates of assignments, exams, midterms and all. it then automatically puts them straight to your calendar without you doing anything. when it correctly added an event to my calendar, i was over the moon. genuinely, apart from God and my family, nothing gives me as much joy as building something and watching it work. building isn’t smth i do for doing sake. it’s fun for me.
writing code for sibyl
sibyl successfully adding a calendar event
anyways, the second thing i built was a thrifting assistant that can help you decide if you are overpaying or not when thrifting. it just studies the material closely for the quality and then scrapes ebay for relevant pricing data. oh yeah, i also added a voice feature to it so it could speak. when i heard the voice of my agent for the first time I jumped up and down like a baby.
thriftsmart assistant interface
spring 2026
hackathon spree
after working on a couple of projects during that winter break, i decided that i wanted go go to in-person hackathons in the next semester. one thing about me is i don’t do things small and i don’t take little bites. i just dive deep into it and take the biggest possible portion i can (this applies for food as well btw). so i registered for hackathons three weekends in a row. the first one, i had my team lined up beforehand but barely contributed anything meaningful. i just ended up being the team cheerleader surrounded by genuinely cracked people. all of my teammates were waterloo students. in whatever you do, don’t go to an hackathon with waterloo guys as your teammates if you aren’t cracked. if you do, you will be humbled. i overheard one of them telling another person that i didn’t contribute to the code. sigh, what can local man do?. the second one, georgetown, i went without a team at all. i just went around and started asking people if they would allow me to join their team. eventually i met a nigerian guy (i owe him my hackathon career ngl). he was the one who actually taught me how to use ai coding tools properly. due to a snowstorm, the hackathon ended up being virtual, and he just screen-shared and walked me through it. he taught me how to prompt llms, use git properly, create branches & merge them. he also showed me how to create a mongodb database and how to debug what ai gives me. lots of information for one weekend but that’s probably another advantage God gave me i think. i learn pretty fast and i can soak up as much information as needed. even though we didn’t win the hackathon, everything he taught me has been and is still very useful for me.
first hackathon teammates
georgetown hackathon teammates
first hackathon win
five days later, i went to brown university for hackbrown with an actual team this time. i came up with an ambitious idea, and we built it. it didn’t look possible but a team of freshmen actually won. it was my first hackathon win, $500 plus a bonus track award. it wasn't really about the money, just the feeling of actually winning. (although i did spend a good ton of it on Uber Eats. don’t judge me now). less than 4 months ago, i was crying about not being good enough. now i was grinning on stage with a win at an hackathon. sweet jesus!
hackbrown teammates
winning at hackbrown
vibe coding addiction
the following three months, i went deep into vibe coding & burned through tokens so quickly. antigravity, codex, cursor, i have used them all bruh. i was spinning up new repos faster than anything else. i don't fully regret it because i think it taught me real things and gave me a good grasp of systems design but looking back i probably should've spent some of that time on fundamentals. instead i kept competing through it. won an mit hackathon, participated in jp morgan’s code for good and a whole bunch of online hackathons. eventually i just burned out on it and lost the actual joy of building because it had become mostly prompting and not much else. ai assisted coding is really good but if you derive joy from the art of coding, it’s not that much of fun. i had reached a stage where i wasn’t feeling that childlike joy i used to feel anymore.
makemit hackathon
mit hackathon win
jp morgan code for good
back to coding basics
so i reset & stripped every ai tool out of vs code for personal projects i wanted to build things completely from scratch. i was inspired by people on x, again a bunch of waterloo guys, that were building genuinely impressive stuff from the ground up.
building the search engine
idk why but i started with a search engine, learned tf-idf, the bm25 algorithm, semantic search, stemming and a whole bunch of things. i learnt so much to the point where i would be able to explain how Google works conceptually to anyone. to apply the knowledge, i built a mini search engine from scratch in python. it took way longer than expected, mostly because the knowledge base i picked was way too big for what i actually needed, but i loved every bit of it. that joy was coming back—
jane street focus program
end of that semester, i got selected for jane street's focus program and went to nyc. in the program, there was a session where someone went deep into the fundamentals of operating system design, and it was so good. it was genuinely nerdy and really hard to wrap my head around, but that feeling clicked with how i felt from when i started working on the search engine. it was the feeling of working on or trying to understand something deeply fundamental. i asked someone there what it actually takes to get into the field, and the answer was just "work on hard things."
“work on hard things”
so i asked claude what counts as a hard thing, and it pointed me toward compilers. i was trying to build the compiler from a tutorial then i realized most of the tutorials were in languages like c++, c or java. i was by then largely a python user. i can write swift, javascript & typescript but i was more of a python user then. so i had a choice of either trying to continue writing in python or learn a compiled language. i did the latter and i started learning c++. i spent like 2 weeks just brushing up on the syntax and i dived deep into projects. i am still working on the compiler but i was able to build a mini interpreter for python. since then, i’ve largely written all my code in c++.
present.
i spend most of my days writing c++ and just working on fun projects. it’s summer and i am jobless so i have a lot of free time on my hands i guess. i do a bunch of leetcode questions, work on my “from scratch” projects, read some books(currently reading a really good book where founders were interviewed about early days of their startups) and just vibe code for fun once in a while. oh yeah, i have also been trying to solve more maths so i can get more analytical in my approach to problem solving. it’s a very quiet time in my life. but hey, it’s always calm before a storm. mine is a good storm ooo. by God’s grace, better days are coming.
code dashboard showing time spent coding
on internships
somehow, i hacked my way into an internship. the company gave us a sort of buiildathon with a specific prompt for and i worked really hard on it. it was tough cos i was competing with grad students for a spot but God helped me get the role. i was so so excited to start but due to some issues with timeframe, the job offer was rescinded. i felt really sad for 2-3 days and i think i didn’t code for a week or so. i was just binge watching the arrow. but after a while, i was back up. i had more interviews than i lowkey expected, especially with startups. but lack of experience is a pivotal factor for startups, so even though the conversations & interviews went well, i was rejected by most. i am locked in for next summer though. by God’s grace, i’ll get smth. already with some verbal commitments so let’s see how that goes.
mistakes made so far
tbh, the major one that comes straight to my mind is not doing enough leetcode early on. my projects got me a good number of interviews, but i failed a lot of them on the actual technical rounds. the most painful one was two sigma & microsoft. if i could go back, i'd probably do more of leetcode. currently trying to catch up for the next recruiting cycle but 1 year is a lot of missed time. i am also doing my leetcode in c++ cos it’s my new preferred language & trust me c++ syntax is a headache for leetcode. most explanations on yt are also in python, although they are transferrable in some sense. i’ll do my best though. maybe another real mistake i already mentioned is i wish i'd vibe-coded less during that stretch of january to april. i am not saying that what i am doing now is definitely the best approach but i think it’s better. i still use ai to code on some projects where i architect the system myself & i'm in every decision the agent makes, rather than just prompting away. to ensure my brain is also fresh & i still get the thrill of writing code, i work on some first-principles projects by myself without any ai tool writing code for me. right now i'm building an http server completely from scratch in c++. it’s just me reading docs and occasionally asking claude questions to understand something, never to write it for me. it was really fun cos i didn’t use any libraries. i just worked with raw sockets from the linux library and after a lot of shouting to claude “this stuff is so so tough”, i was able to get it to serve an html file through the server recently. really fun work. and yup, you guessed right. i did a victory lap when the server worked.
scatter gun approach to learning
i wouldn't really change much about the path. i've always believed in messing around and finding out rather than overthinking before diving in. if you wait to feel ready you'll never start. this approach can sometimes seem scattered gun, especially in a field like cs with a lot of things to explore but i don’t think you’ll know what you like unless you explore as much as you can. i am starting to sort of see the kind of problems i want to work in tech so yeah, just explore. build things. just build as much as you can.
ending notes
it’s easy to read all this and think i am some super human who naturally loves working or doesn’t have his rough days. i have a ton of them & there’s been more failure than success. there are days where i lowkey just wanna binge watch movies and not have to do any work but as i’ve realized, when you don’t want to work, work. coding is just like going to the gym. it’s painful initially but once you get past that initial friction, it becomes something you can’t do without. i remember falling sick once and i woke up with an headache yet i carried myself to my table and started coding. it’s just a mindset that you just have to show up. and just like how you don’t see the gains of going to the gym immediately, it takes a while to see the gains of you learning coding. you feel like you aren’t making progress but trust me, if you show up everyday and you don’t stop, one day you’ll look back and say “wow. how did i become this cracked”. so if i could give myself from a year ago or anyone who is just starting out any advice, it'd just be: keep diving in and learning. you will fail constantly, you won’t see the gains for a while & it will be really hard at first but keep showing up anyway.
the sun will shine upon you soon