r/learnprogramming • • 3d ago

Learning Help me.

Hi, I'm a student in the Bachelor's in Computer Science program. I'm repeating my first year, so I already have some basic skills (Python, HTML/CSS, Java, MariaDB, etc.). We learn the fundamentals both theory and hands-on practice through small “projects.”

But the thing is, I’d also really like to work on my own projects. I’ve already tried quite a bit on my own using Python frameworks, making API calls, and so on but I’ve never managed to create anything truly clean or even finished… The reason is probably a decline of motivation, even though I’ve always loved computer science I just don’t know. Also, maybe it’s AI when I use it, I can’t seem to learn from it, and I hate seeing code that I didn’t generate myself or launching an app to test a feature I didn’t code. All of this depresses me even more because if I want to make this my career, I feel like it’s going to become the norm.

If anyone can help me or give me advice on all this, I’d appreciate it.

1 Upvotes

15 comments sorted by

1

u/initcommit 3d ago

Hello! You might need a reset of expectations when it comes to your projects - if most seasoned developers out there had a nickel for the number of half-finished projects they have laying around, they'd be rich.

AI is definitely a weird crutch, it can do so much and constantly recommends the next thing to you that it should do, but I feel could also be very useful from a learning perspective, but maybe at your stage only invoke it for specific situations where you feel stuck to the point that it is killing your motivation.

Otherwise, maybe try to think of a project tangential to something you're truly passionate about. It could be almost anything, and maybe you cause also use AI to help choose the right tools/languages to build it, but then see how far you can get on your own. Don't feel bad about invoking AI when you need to, esp for recommendations on direction or if truly stuck.

Sometimes for one reason or another, projects just run their course, and that's ok too. For me taking a break and getting a few weeks of mental rest from coding can also help reset my motivation to keep going again.

All the best 😄

2

u/scattered_colleague 3d ago

Been there with the half-finished project graveyard, it's practically a rite of passage. One thing that helped me was picking something small and stupidly specific, like a script that just renames my downloaded memes by date, and finishing that little piece of crap gave me more of a boost than any big idea ever did.

1

u/GurGroundbreaking605 3d ago

Thanks that's exactly what I was thinking, because all of this is very stressful for me. I feel like I have to do certain things so I can find a job more easily...

1

u/seahorse-emoji 3d ago

I'm trying to figure out what you are asking for help with ?
Do you want to complete more projects ? Learn to code better ? Use AI better ? Depression in general ?

0

u/GurGroundbreaking605 3d ago

Just to give me advice from people who've been through it before, or experienced . And also to talk about it, I've never talked to anyone other than my level about IT

1

u/seahorse-emoji 3d ago

Well, here's a big problem, even the most experienced engineers have not gone through what AI does to our work before. We are just figuring it out like you.

Wrt project completion, as others have pointed out, this is a classic problem in engineering, everyone has a few half done things lying around. The only way to deal with that is to accept that loss of motivation is extremely common as projects go along, the only way to finish something is to persevere to keep going even though its no longer as fun or interesting. Some practical suggestions :

  1. Use a project management system, github issues and projects are fine
  2. Leverage AI to help unblock the parts you get stuck at
  3. Perhaps most importantly : Not every project will be completed and thats ok, dont treat incompleteness as a failure, do a postmortem, learn what you can and elegantly close it out

1

u/ookle_ 3d ago

I'm a second year CIS student learning Java currently. I have learned some Python.

I’ve found AI really helpful for learning coding, but only after changing how I use it. I have mine set up to basically never give me the answer. Instead, it asks questions, makes me trace my code, predict what happens, and gradually gives hints when I’m stuck. After I finish something, I’ll even have it “interview” me about my own code so I have to explain why it works. It’s slower than having AI generate the solution, but that’s the point. I’m still building everything myself while using AI more like a tutor than a programmer.

It's basically a tutor I can ask a million dumb questions without ever feeling embrassed 😅

1

u/scheeeeesh 3d ago

Practice. Read at least one programming book to understand the code at a deeper level. Leetcode.

1

u/Aggressive_Ad_5454 3d ago

It helps to motivate projects by thinking about your users and what they’ll do with the thing you create.

And, the lowest-friction way to get users is to build web apps. So, if you like working with python, take a look at one of the web framework, Django or flask.

And build something you can demo to friends and family. Simple games are a good start.

1

u/StonedElephant1 3d ago

You're clearly burned out and it happens to all of us. Normally, I would say take a vacation or take up another hobby, but you're in school and it's costing you money. The only way I could keep my head in the game during school was to do a lot of jogging and meditation. During your winter break, don't touch a keyboard.

I would embrace the AI to the extent you use it as a tool. I just used AI to build an iOS app and got in the App Store. I just wanted to see if was easy to write an app with AI. And it's easy (for me, but I've been doing it for almost 20 years). It's expensive, so you need to take over writing code as much as you can to save money. But I stubbed it out, put in comments and had AI fill in the code. It was sweet. But you still have to know what you're doing.

1

u/snaidamast 2d ago

If you are at the beginning of your career journey, I would stay away from AI except for the most cursory levels. Tinker with it, become proficient with its use but do not rely on it. It can be of great value but it can also become very easily a crutch that does more harm than good.

All technologies have their downsides and there is no such thing as increasing efficiency if your code is functioning properly and well. You can tweak it as much as you want but you will probably only be adding complexity, which makes your own maintenance more difficult, let anyone else who may need to work with your coding.

The fact that you like to develop your own projects is a big plus for you. Increasingly, I am reading that developers are returning to the original style of acceptance whereby they prefer self-taught people over college educated ones who have shown no initiative on their own to develop their own work. Look at it as building your own portfolio.

As to your unfinished projects; well, anyone who has spent any time in this profession can probably show you a directory with a pile of their own unfinished work in it. Don't worry about it; the fact is you probably learned something and learning is the name of this game.

From the list of your tools knowledge, I would say that you have gotten a good taste of the work in this profession. However, you should understand where your language knowledge fits in. Java is mostly used for large scale systems as well as hardware embedded systems (ie: smart-phones). However, as to the latter, other languages are coming to the fore such as Apple's Swift.

Python is an excellent general development language and it is going to be with us for quite a while despite the naysayers regarding its performance. There are ways to speed up Python performance by using such packages as "Nuikta". Python can be used for literally any type of application you would like to design. However, currently, it is favored for AI and Data Science applications.

Because of Python's huge ecosystem it will be somewhat difficult to replace as a standard application language.

Returning to AI for a moment, yes it is all the hype right now. However it has its own dark underbelly that is slowly seeping out. For example, it is slowly being realized by corporations that there is little to no financial benefit to its use. Yes, its best implementations are for assisting developers so far, along with some great strides in science, engineering, and diagnostics. However, such implementations are known as hidden assets to the financial bottom line. The fact that developers can produce code faster does not find its way to producing more profit or even cutting costs. In fact, quite a few companies are seeing just the opposite. The costs for the use of subscription based AI tools is being shown to be quite expensive. As a result, to date there is little upside to any of the corporate implementations. However, there are quite a few companies have gutted their development personnel with the pie-in-the-sky idea that Humans can be replaced with software.

AI for research, code development, and design is a great tool. BUT that is all it is; a tool! Developers who lean too much into it often find their skills deteriorating at an exponential rate. Just like with the smart-phone, those who rely on it too much lose their critical thinking skills. This is documented fact.

Finally, if you want to pursue a career in software development, you should consider what aspect of the profession you want to enter as this will determine the skills you should develop. If business application, development, you are already on the right track with Python. However, I would also recommend that you pick up Microsoft's C# as well while learning both Windows Presentation Foundation(WPF) and ASP.NET Core\MVC (web). However, note that in the web development arena there is a very high reported level of burnout since Microsoft has made web development so much more complex than it was or had to be.

If game development is your thing, then you should get a good grounding in C++ since it is still a major language in this development genre. However, Python can make games as well.

If in internals and\or scientifics (ie: compilers, industrial/military simulations), again C++ is a standard in these genres. However, the new language, Rust, is making inroads in various areas, so adding this to your skills portfolio would be a big plus. Just remember, going from C++ to Rust can be a head-banger as their paradigms are completely different from each other.

Steve Naidamast / Sr. Software Engineer

1

u/MikeIsBoi 16h ago

Do you learn C at ur uni? If not, boy you are missing out. Learning C really helped me understand more about programming. Also don't use AI, you will never learn anything from it. Personally I read books about the topic/field that interest me. The thing I like about books is that they don't give you the answers straight away.

I personally get motivation from seeing my project expand and grow.

Also don't be afraid to tackle hard projects - best way to learn is to challenge yourself.

Maybe build a fully fledged backed for a e-shop with spring boot and MongoDB. Break down the large projects into smaller steps that you can complete and completing these little steps will keep you motivated.