<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ibrahim Aminu</title>
    <description>The latest articles on DEV Community by Ibrahim Aminu (@saint-ij).</description>
    <link>https://dev.to/saint-ij</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2231937%2Fc20faaac-6155-4581-babc-09ba0854bc2c.jpeg</url>
      <title>DEV Community: Ibrahim Aminu</title>
      <link>https://dev.to/saint-ij</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/saint-ij"/>
    <language>en</language>
    <item>
      <title>The Difference Between Vibe Coding and Real Software Development</title>
      <dc:creator>Ibrahim Aminu</dc:creator>
      <pubDate>Wed, 14 Oct 2026 21:55:04 +0000</pubDate>
      <link>https://dev.to/saint-ij/the-difference-between-vibe-coding-and-real-software-development-f8d</link>
      <guid>https://dev.to/saint-ij/the-difference-between-vibe-coding-and-real-software-development-f8d</guid>
      <description>&lt;p&gt;I remember back in 2020 when I started learning how to code, chatgpt has not seen the light of the day yet.&lt;br&gt;
coding was difficult and felt like an extraordinary feat only geniuses could pull off. But deep down we all knew that coding was just hardwork but we still felt that spark of genius when we finally build things that worked, debugged for hours and finally fixed that bug, solved that programming challenge.&lt;br&gt;
fast forward to 2022, Chatgpt came out, felt awesome, could solve programming problems but still not there yet. then came apps like lovable that promised you could ship entire applications using AI. now we have Agentic AI's in our coding editors and all we do is prompt that AI to produce stuffs that just works.&lt;br&gt;
&lt;strong&gt;But Hold On!&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fec5zx81y6nh618nckv7p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fec5zx81y6nh618nckv7p.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;br&gt;
Ask yourself, what am I doing. software development or vibe coding? because they are two entirely separate entities. the outcome of one is a reliable product and the other is just a beautiful junk packaged in a nice way. to be honest , AI apps are not even that good looking, they all look similar, emoji's instead of icons and what have you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So why did I say Vibe coding sucks?&lt;/strong&gt;&lt;br&gt;
to understand that. let us look at what real software development entails.&lt;br&gt;
There is what we call the Software Development Life Cycle SDLC, according to IBM, there are 7 phases. let's explore each of them carefully&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Planning&lt;/strong&gt;&lt;br&gt;
this is where the project scope, goals and requirement are established. In English, this is where you understand what you're actually trying to build. set a limit and map out features you want in the app, what you don't want yet, otherwise you might fall into what we call scope creep ( uncontrolled expansion of a project's goals or features)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftjbmov9whnvlzdnegzew.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftjbmov9whnvlzdnegzew.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Analysis&lt;/strong&gt;&lt;br&gt;
now this is the data gathering phase. collect user stories and identify market potential, look into the feasibility of your project, whether it is technically viable or not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Design&lt;/strong&gt;&lt;br&gt;
In this phase, the project's architecture is defined, you outline the user interface, database schema, the software navigation, the types of technologies it will involve, whether you want a monolith or microservices etc. this part is the heart of the development process that separates juniors from seniors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw9gxy6uo5kxnitm0b8vz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw9gxy6uo5kxnitm0b8vz.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Coding&lt;/strong&gt;&lt;br&gt;
yeah , this is the part that we all excited about right 😆. coding is just one part of development and it's what AI is very very good at, i won't argue that part. this part is where you select a programming language. Java, C#, Python (my favorite) or Javascript - the Odogwu of the web and write out the code for the application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Testing&lt;/strong&gt;&lt;br&gt;
Another Critical part that separates the real one's from the wannabes. in fact due to the importance of testing, frameworks have been developed to aid testing. we have cypress, jest, vite test, playwright, pytest. different ways of testing, unit testing, integration tests, end 2 end tests. different approaches, test driven design etc. An application that is not tested cannot be released to the users, of course you can't test all possible scenarios but the more the test coverage the better. test for possible failures and make sure the app passes all tests.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft26mrawl3qwr4uajyr15.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft26mrawl3qwr4uajyr15.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Deployment&lt;/strong&gt;&lt;br&gt;
And what's a good application without users, this is where we release the to users. there are different methods of deployment. we can use third parties to deploy our apps, Paas platforms as service like render, railway , fly.io or get our own cloud Infrastructures such as servers, storage from cloud providers such as aws, azure, Huawei, digital oceans or even provision our servers on premise locally. those are all options we have to ensure our applications reaches the right audience. in case of mobile apps, we deploy to app store or play store. and believe me , this can be as simple or as hectic as it can be.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu8qybojqwkpxqua56i6l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu8qybojqwkpxqua56i6l.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Maintenance&lt;/strong&gt;&lt;br&gt;
Finally here, phew 😪. maintaining an application is an ongoing process, updates, patches and fixes, security checks, monitoring etc. This is a very key step in software development because software evolves, technologies get outdated and you need to keep up or stay behind. imagine facebook was still the way it was when it launched in 2006, same old interface, refresh before you see new messages. who would still be on facebook right 😂. the same goes to twitter, Microsoft, gmail etc. software needs to undergo continuous maintenance and improvements.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpdktemdoyqm4hixtsbif.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpdktemdoyqm4hixtsbif.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alright buddies, we've gone through a ride through what actual and real software development looks like and this is just a glimpse. you might ask me, how in the world is a single person suppose to do that. the answer is No, One person cannot do that. most softwares are build in teams , teams of different specialties. for instance for every SDLC we have a specialist in charge. for planning , we have the Project Manager, system analyst for second phase, UI/UX and software architect for the third phase, programmer, QA Engineer (Quality Assurance), Devops Engineer, Maintenance Engineer respectively. A Software Engineer must be quite aware and knowledgeable of all these processes and follow them, duly working and collaborating across teams, while writing clean and maintainable code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now , we know what is Software Development. Contrast that with Vibe coding.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I just sit down with a lollypop in my mouth and I tell the AI agent. build me a dating app. the AI is so dumb that it doesn't even asks for any clarifications, it goes, cooks up something and says here you go. you see the beautiful interface but completely unaware of the flaws in the architecture, security vulnerabilities, until you have 10 users and you begin to notice lags in the application, you keep prompting for fixes, but because you're totally ignorant of what works and what's available, the AI keeps fixing and creating unintended bugs , no test cases, and you keep going on and on for six months and then you're totally confused and have to abandon the project finally.&lt;/p&gt;

&lt;p&gt;This is the reality of Vibe Coding and yes, people spend six months in frustration prompting the AI just to give up on the whole bunch of mess they've made. the one's that made it to prod start experiencing downtimes, api failures and crashes, with no proper monitoring in place. there's no way to trace the root cause of the failure. money and trust is lost in the process , the 2 most crucial things to a businesss.&lt;/p&gt;

&lt;p&gt;and God Forbid, let's not talk about vibe coding a mission critical software where lives are at stake, the consequences will be unimaginable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0dhyqrmv56k4suhjo8s7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0dhyqrmv56k4suhjo8s7.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will like to end this with a beautiful quote from a renowned Programmer , Brian Kernighan who said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?&lt;br&gt;
think about that&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;We have now seen the reality of vibe coding, but does that mean we can't use AI in development.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nope , that is where AI assisted development comes in, this is where an engineer, well versed and experienced uses an AI to rapidly write code, implement a quick feature or build up an entire application while prompting the AI with guidelines on what tools to use, approaches to take, architectural decisions and tests to write. he pours down his years of experiencing into directing the AI to building a Masterpiece. that is doable and praise worthy. And this proves that one still needs to learn coding, practice problem solving in order to use AI well. on a serious note, vibe coding works well for simple apps, but any medium scale to complex app will require the experience of a trained professional.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi45y668b1a43wifynenj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi45y668b1a43wifynenj.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have said a lot and I believe it is now clear to us what Vibe coding is and what software development is. Finally I want you to repeat this,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Assisted Coding is not Vibe Coding.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What pains me the most is seeing vibe coders flock linkedIn with the tile of Fullstack Developers, like seriously 🤔 someone who can't tell the difference between json and xml. who doesn't even know what GitHub is. and worst of all, they get clients. no matter how good the tool is, at the hands of the foolish it is as good as useless. No negativity here but that's the reality.&lt;/p&gt;

&lt;p&gt;So, we still need good engineers to build secure, safe and reliable applications in the future. people who understand the stack . so what are you waiting for you, grab a coffee and start writing your first line of code, cause it's going to be a wild journey 🚀&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I would love to hear your take on vibe coding in the comments section, and don't forget to follow me on &lt;a href="https://www.linkedin.com/in/saint-ij/" rel="noopener noreferrer"&gt;linkedin&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>Full Stack Developer or Full Stack Engineer: What Should You Call Yourself?</title>
      <dc:creator>Ibrahim Aminu</dc:creator>
      <pubDate>Sun, 09 Aug 2026 08:22:44 +0000</pubDate>
      <link>https://dev.to/saint-ij/full-stack-developer-or-full-stack-engineer-what-should-you-call-yourself-4eac</link>
      <guid>https://dev.to/saint-ij/full-stack-developer-or-full-stack-engineer-what-should-you-call-yourself-4eac</guid>
      <description>&lt;p&gt;I have seen these two terms confused several times.&lt;/p&gt;

&lt;p&gt;People often ask me, “I learned the MERN stack. Should I call myself a Developer or an Engineer?”&lt;/p&gt;

&lt;p&gt;There is a lot of confusion around this, so today, let’s discuss it.&lt;/p&gt;

&lt;p&gt;First, let’s understand who a developer is and who an engineer is. Then, we will look at a checklist for both.&lt;/p&gt;

&lt;p&gt;The one that describes what you actually do the most should help you decide what title fits you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Full Stack Developer?
&lt;/h2&gt;

&lt;p&gt;A Full Stack Developer focuses mainly on building software across the frontend and backend.&lt;/p&gt;

&lt;p&gt;A developer typically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Builds user interfaces&lt;/li&gt;
&lt;li&gt;Develops APIs and backend services&lt;/li&gt;
&lt;li&gt;Works with databases&lt;/li&gt;
&lt;li&gt;Integrates third party services&lt;/li&gt;
&lt;li&gt;Writes and maintains application code&lt;/li&gt;
&lt;li&gt;Deploys applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Knowing MERN, PERN, T3, or any other stack can make you a Full Stack Developer. But the technologies you know do not determine whether you are an engineer or developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Full Stack Engineer?
&lt;/h2&gt;

&lt;p&gt;A Full Stack Engineer goes beyond building features. They think about how the entire system should work.&lt;/p&gt;

&lt;p&gt;An engineer considers things such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;System architecture&lt;/li&gt;
&lt;li&gt;Scalability&lt;/li&gt;
&lt;li&gt;Reliability&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;li&gt;Maintainability&lt;/li&gt;
&lt;li&gt;Testing&lt;/li&gt;
&lt;li&gt;Infrastructure&lt;/li&gt;
&lt;li&gt;Deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A developer might ask:&lt;/p&gt;

&lt;p&gt;“How do I build this feature?”&lt;/p&gt;

&lt;p&gt;An engineer also asks:&lt;/p&gt;

&lt;p&gt;“How should this system be designed so it continues to work as it grows?”&lt;/p&gt;

&lt;h2&gt;
  
  
  The Checklist
&lt;/h2&gt;

&lt;p&gt;You may lean toward Full Stack Developer if you mostly:&lt;/p&gt;

&lt;p&gt;[ ] Build frontend applications&lt;br&gt;
[ ] Build backend APIs&lt;br&gt;
[ ] Work with databases&lt;br&gt;
[ ] Integrate services&lt;br&gt;
[ ] Implement product requirements&lt;br&gt;
[ ] Focus mainly on application development&lt;/p&gt;

&lt;p&gt;You may lean toward Full Stack Engineer if you also:&lt;/p&gt;

&lt;p&gt;[ ] Design system architecture&lt;br&gt;
[ ] Think about scalability&lt;br&gt;
[ ] Design for reliability&lt;br&gt;
[ ] Make infrastructure decisions&lt;br&gt;
[ ] Optimize performance&lt;br&gt;
[ ] Consider security&lt;br&gt;
[ ] Build testing strategies&lt;br&gt;
[ ] Make technical trade offs&lt;br&gt;
[ ] Design systems for long term maintainability&lt;/p&gt;

&lt;h2&gt;
  
  
  The Important Part
&lt;/h2&gt;

&lt;p&gt;You do not become an engineer because you learned Kubernetes.&lt;/p&gt;

&lt;p&gt;You also do not stop being an engineer because you use React.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technologies are tools.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The difference is more about how you approach software development and the level of responsibility you take for the systems you build.&lt;/p&gt;

&lt;p&gt;If you learned MERN and can build applications with it, Full Stack Developer is perfectly valid.&lt;/p&gt;

&lt;p&gt;If you design, build, deploy, maintain and make architectural decisions about complete systems, Full Stack Engineer may describe your work better.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Do not choose a title because it sounds better.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Choose the one that accurately represents what you actually do.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>career</category>
      <category>beginners</category>
      <category>fullstack</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
