Hello! My name is Maksud Mahbub, and I’m a software engineer living in Moose Lake, Minnesota. Over the past several years, I’ve gone from being curious about how websites and apps work to designing, building, and maintaining real-world software systems.
In this post, I want to share my personal journey into software engineering—step by step. Whether you’re just starting out or thinking about switching careers, I hope my experience can give you both inspiration and a practical roadmap.
Step 1: Get Curious & Explore
For me, everything started with curiosity. I wanted to know how the apps I used every day were built. Instead of just being a consumer of technology, I wanted to peek behind the curtain.
At this stage, I didn’t worry about being perfect—I just explored. I watched YouTube tutorials, read beginner-friendly blogs, and experimented with simple HTML and CSS. Creating a basic web page and seeing it appear in my browser was magical.
Tip for beginners: Don’t underestimate the power of curiosity. Play around with small things. Curiosity is the engine that will keep you motivated.
Step 2: Learn the Fundamentals
Once I realized I enjoyed coding, I decided to get serious. I picked Python as my first language. Python is beginner-friendly and widely used in fields like web development, data science, and automation.
I focused on learning the building blocks:
- Data types (strings, integers, lists, dictionaries)
- Control flow (if/else statements, loops)
- Functions (writing reusable blocks of code)
- Basic data structures (stacks, queues, arrays)
This foundation helped me feel confident enough to solve real problems, not just follow along with tutorials.
Tip: Choose one language to start with. Don’t try to learn everything at once. Master the basics—you’ll reuse them in any language later.
Step 3: Build Small Projects
Learning theory is one thing, but projects are where the real growth happens. My first projects were tiny: a calculator, a simple to-do list, and eventually, a personal website.
Each project taught me something new:
- The calculator sharpened my understanding of functions.
- The to-do list introduced me to file storage and basic logic.
- My personal website forced me to think about user experience.
Tip: Don’t wait until you “know enough” to start projects. Projects are the best teacher.
Step 4: Use Version Control
Early on, I discovered Git and GitHub. This was a game-changer. Git allowed me to track changes in my code, go back if I broke something, and collaborate with others.
I learned to:
- Make commits often
- Write clear commit messages (“Fix login bug” is better than “Update stuff”)
- Create branches for new features
Even as a beginner, learning Git gave me confidence and prepared me for team environments.
Tip: Start using version control as soon as you can. It’s an industry standard.
Step 5: Contribute & Collaborate
One of the fastest ways I grew was through collaboration. I joined open-source projects and group coding challenges. Seeing other people’s code and having mine reviewed was eye-opening.
I learned new coding styles, best practices, and how to write cleaner, more maintainable code. More importantly, I got used to working as part of a team—a vital skill for any software engineer.
Tip: Don’t be afraid to share your code. Feedback is where growth happens.
Step 6: Find Internships or Freelance Gigs
The transition from learning to working came with my first real-world projects. I took small freelance gigs and later worked on local software projects.
This experience showed me:
- Real clients care about solutions, not just code.
- Deadlines teach you discipline.
- Every project adds to your portfolio, which helps with future opportunities.
Tip: Even small projects count. Build a portfolio of practical work—you’ll thank yourself later.
Step 7: Keep Iterating
Software engineering is not a one-time skill; it’s a lifelong journey. After my first jobs and projects, I began to specialize in areas like web development, cloud technologies, and software architecture.
But I always keep learning:
- Exploring new frameworks
- Reading about cybersecurity
- Following AI and machine learning trends
The key is to keep iterating—improving your skills while adapting to new technologies.
Tip: Don’t rush to specialize. Build a strong foundation first, then explore deeper areas step by step.
Closing Thoughts
Looking back, my journey into software engineering wasn’t a straight line—it was built step by step, project by project.
If you’re starting now, my best advice is this:
👉 Pick one small project you can finish in a weekend. It doesn’t have to be fancy. Just finish it. Completing projects builds confidence and momentum.
I’ll be sharing more about beginner-friendly projects in future posts. Follow along or drop a comment about what you’d like to build—I’d love to hear your ideas.
Suggested tags: #Career #Journey #Beginner #SoftwareEngineering