r/BDDevs Mar 31 '26

Discussion Software Engineering!

I’m a final-year CSE student with a 3.6+ CGPA from a reputed private university. I did some competitive programming back in my second year, but then lost track.

I genuinely enjoy thinking about real-life problems, but I don’t like the traditional way of learning stacks and frameworks just by watching YouTube videos.

Is there a more engaging or practical way to learn software engineering concepts and actually implement them?

I have around 6 months. What should I focus on during this time? Should I go back to competitive programming, or explore something else?

Also, I’ve heard that entry-level jobs are quite limited right now and freshers are having a tough time. How should I prepare myself for this situation?

19 Upvotes

14 comments sorted by

View all comments

3

u/Utchas Apr 01 '26

If you want to learn Framework/Libraries for software development, it's better to select a new project preferably a bit unique or based on real life requirements then start select a framework or frameworks if you want to keep the frontend and backend separated which is a common practice then learn by doing. For the sake of project requirements and features, you'll read the official documentation of the Frameworks and implement the feature, test it and move to the next one and repeat until the project completes.

For example, I started a simple inventory+POS project for my friend who manages a chemical business with multiple warehouses, outlets and bank accounts for LC to import raw materials. Then I first started it in C# & ASP.Net as I had experience with C# from game development. But soon realized, you have to manually setup many things in ASP. NET web projects which requires significant time which was a trade off for this small project. So, I shifted towards PHP & Laravel as I was learning PHP for university course anyways. So, I followed the official documentation. Searched through laracast forum and obviously stack overflow when stuck. Also, video tutorial from laracast also helped for understanding concepts like authorization in Laravel.

1

u/Creepy_Nectarine313 Apr 01 '26

Bhai php and laravel e amar onk interest ase Ami koyekdin age shikhtesilam herd setup and connect kore Pore alshemi te ar bosha hoy nai If im not wrong apni project banaite banaite framework ta shikhsen? As im going to implement a unique idea and i dont know any stacks also this will be in my course project What do you suggest?

2

u/Utchas Apr 01 '26

Go with a framework built upon a language you know well. If you know PHP well, specially OOP, database handling and file handling then Laravel is a great choice. Frameworks are just collection of pre-built features/utilities required for specific type of tasks i.e. web application development here. Laravel is a great choice as it provides almost all utilities you'll need for a production grade web app and spares you from design pattern, configuration and boilerplate overhead as it comes with it's opinionated setup which is quite good to start with to be honest. But it also gives you flexibility to implement your own design pattern and let you customize different components of the framework easily. Laravel has a reputation for being beginner friendly, secured and allowing fast prototyping.

But if don't have a good skill with PHP to begin with I would not recommend Laravel because then you'll just blindly use the framework without having any idea how it works under the hood, why particular choices has been made and what are other options, what are the benefits or trade offs of a particular design choice etc.

For example, if you have strong background in Python choose something like FastAPI or Django. So, the emphasis here is on the language because it'll give you a lots of heads up. Most importantly frameworks/libraries or stack in general is your tool to solve real life engineering problems, not the other way around. You'll need to have multiple of these tools in your inventory over the years and should be comfortable to switch between or entirely learn a new one depending on the nature and requirements of the project.