If you’re resorting to buying a project over just cloning something on gh and trying to pass it off as your own maybe CS isn’t the right field for you
Ask Lemmy
A Fediverse community for open-ended, thought provoking questions
Rules: (interactive)
1) Be nice and; have fun
Doxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them
2) All posts must end with a '?'
This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?
3) No spam
Please do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.
4) NSFW is okay, within reason
Just remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com.
NSFW comments should be restricted to posts tagged [NSFW].
5) This is not a support community.
It is not a place for 'how do I?', type questions.
If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.
6) No US Politics.
Please don't post about current US Politics. If you need to do this, try !politicaldiscussion@lemmy.world or !askusa@discuss.online
Reminder: The terms of service apply here too.
Partnered Communities:
Logo design credit goes to: tubbadu
The fact that you are questioning yourself means that you have the ability to introspect. I work at a major university and hire/manage people of all ages--as young as 15 and as old as 65. I have seen all kinds from the super smart and motivated to those who will sit in their position and do the minimum until they retire or those who are so incompetent or incapable of learning that they wash out of their own careers.
You probably compared yourself to that small number of people who did robotics club in high school, got into the elite CS/CE program, and already have a job offer from Meta for $150k. Don't do that, those people aren't normal and have never learned to just live. They also tend to experience constant and unending anxiety, which is why they drive themselves so hard. Do you really want to live that way?
I am always looking for that person who questions themself. If you are concerned about your ability to do something, you will put in the time to make sure that you do it well. If you have a Dunning-Kruger thing going on, then you're going to be a terrible employee and I will eventually resent you and find a way to get you out of my department.
My advice:
-
accept that you will suffer some form of imposter syndrome for life. This is fine--it is better to be a bit insecure than a bit overconfident. You will constantly work to make sure that what you output is the best quality it can be simply because you are worried that it isn't.
-
accept that you have little experience in your industry. You're not supposed to as a new graduate. The whole point of your training has been in learning how to think professionally and approach a problem academically. Once you have that basis, you can learn the details.
-
be kind to yourself. You're your own person and you don't need to use others as a metric. Avoid the "I'm supposed to have..." sort of thinking and just do the best you can.
Running Krueger's other meaning - the more you learn the more you'll realize how little you know.
I'm a senior in the field and I still go into every job feeling completely unqualified. No one knows what they're doing day 1, day 30, by day 90 you just hope to know enough to be contributing a bit. It takes years to be the go-to guy at a job though.
I just recently graduated with a CS bachelors. Honestly I didn't learn too much in college either. Most stuff that was taught in college was stuff I already knew from learning Java on my own so I could make Minecraft mods as a tween.
I wish that modern and widely used frameworks, libraries, etc were something that were taught at college but unfortunately you have to teach yourself this stuff. Right now I am working on and nearly finished with a Spring Boot + React project to add to my portfolio and I had to teach myself both of those. Whatever it is you want to learn, there should be docs and plenty of tutorials out there for it.
Haha wow, Minecraft mods as a tween? Respect 😂. Totally feel you — college teaches the basics, but anything actually used in the real world you’re usually left to figure out on your own.
Props for grinding Spring + React on your own — that’s exactly how you actually learn stuff. Makes me wish there was a space where you could start with real projects, tinker, get some guidance, and slowly build a portfolio without scrambling last minute. Way less chaos than figuring it all out solo in the final year.
Basically like a one-stop place to learn + build + get guidance. Does that even exist
It does exist and you just spent three years there.
Haha fair point 😅 college should’ve been that one-stop place… but let’s be real, most of us walked out knowing way less than we thought we would. A degree proves patience, not that you actually built stuff.
That’s kinda why I keep wishing there was a version of that idea done right — where you actually learn by building, mess with real projects, and get feedback along the way. Would’ve saved a lot of people from the “3 years in and still clueless” panic.
Tech executive here. The likelihood of you being able to compete as a developer in the current job market when you cannot demonstrate skills, knowledge, or showcase your previous works is negligible. That said, you have access to the internet, FOSS, Git, presumably test environments at your school, teachers and fellow students to ask when you need help, etc.
Find a bunch of problems you'd like to solve or features you'd like to see and spend the next year cranking out projects. Make sure you have a portfolio fo projects that required multiple skillsets to achieve.
Also, there are a lot of free courses and even some certifications out there. AWS, Azure, and GCloud have all sorts of training available for free. Take some and use those skill to run some projects in cloud environments.
CONTAINERS!!!
EDIT: The best position you can be is one where you don't want a job because you want to build your own thing. Be so good that companies want to compete to hire you away.
Does your area have any tech meetups? Maybe get out there and talk to people?
For our area, there are makerspaces that curtail to such events. And if you are still lost, there are places like freecodecamp that help out with building your first projects. It has a discord if I recall as well.
GL! Its a VERY hard market right now.
Keep your mouth shut, and fake it til you make it.
It's what EVERYBODY does. That is literally the key to life that nobody tells you when you are young.
If you got through 3 years of university without flunking out, you can't be doing that badly. If you want projects to look at, try GitHub. Only has a few million of them.
True, if you survived 3 years without failing out, you’re not as hopeless as you think 😂. And yeah, GitHub is stacked with projects — problem is, it’s kinda overwhelming when you don’t know where to even start or what’s worth digging into.
That’s why I keep thinking how useful it’d be if there was a space where stuff was a bit more structured — like projects you can actually pick up, tear down, get some guidance on, and then later flip into your own. Way less random than drowning in a million repos.
Pick out some open source project you like and look into contributing. But, yeah it'll take some digging.
Open source projects are a great resource. My understanding of good software development practices skyrocketed after contributing to a couple.
100%, open source is like a crash course you can’t get in class. Real code, real people reviewing your stuff, you pick up good habits fast. The only tricky part is knowing where/how to jump in — most repos look intimidating as hell when you’re new.
That’s why I feel like having projects you can start smaller with, break apart, and get some feedback on would be such a smoother ramp. Once you build that confidence, contributing to big OSS projects doesn’t feel so scary.
There are plenty of small open source projects. It’s also good experience just figuring out how to build from source and make some changes even if you never open a PR.
Definitely. Also looks good on a resume.
For sure — OSS on a resume hits different, shows you actually worked on real code with real teams. Way better than just listing “C++ basics” or whatever. And honestly, even small projects you’ve hacked together look solid if you can talk about what you built and what you learned. Pair that with some guidance and you’ve basically got a mini-portfolio that stands ou
Felt the same when I graduated from university. Three things:
- You know more than you think.
- The actual best thing you get from university is that it teaches you ways of thinking and structure your mind.
- No one expects you to be proficient when you start working. No worries, you will learn things by doing.
Keep third in mind. Do your best and don't get frustrated!
Yeah, that’s real. Half the time we forget we actually picked up more than we think — even if it’s just knowing how to structure problems or think a certain way. That stuff does carry over.
And true, no one expects a fresher to roll in like a senior dev. What matters is showing you can learn fast once you’re in the game. That’s why I keep coming back to projects — building stuff, even small hacks, forces you to learn by doing. And if you can get a little feedback along the way, you level up way quicker. That combo of “mindset from uni + learn-by-building” feels like the real win.
That's my favorite thing about switching jobs - low expectations!
However, I don't like how the training these days is usually "read through some old tickets, you'll figure it out, see you in a few days!"
Lol true, low expectations are kinda a blessing — nobody’s waiting for you to be a genius on day one. But yeah, the “read some old tickets and figure it out” training style is rough. You end up wasting time guessing what matters.
Way better when you’ve got someone to point you straight or at least a solid project to mess with. Hands-on + a bit of guidance always beats digging through dusty docs alone.
seriously. i struggled early, and have zero college. but mentor now the folks just out of college in our corp. I’m 46. They are nervous with new robotics degrees trying to tell me about ROS2 and I’m like … no, here’s how modbus works. Get at it. Tinker. Break stuff. Learn. it’s ok!
Haha respect 👊 that’s the real deal — no college but still mentoring grads shows how little the paper matters compared to hands-on. Books say ROS2, real world says “yo, here’s modbus, break it till it clicks.”
That’s honestly the kind of guidance most freshers need — someone who can cut through the noise and say “this is what actually matters, go tinker.” Makes me think if more of us had that kinda space + mentorship earlier, we wouldn’t waste years stuck in theory.
People like you are the best kind of mentors, imho :)
100%. The ones who’ve actually been in the trenches and tinkered their way up make the best mentors. They cut the fluff and show you the real stuff that matters. That kinda guidance + just diving into projects is literally what helps folks like us go from “clueless” to “okay I got this.
learn to pass a coding interview. practice the common data structures, focus on one language. hackerrank, leetcode, pluralsight.
they don't care about what you learned in school. school is where you learn to think, and prove you can work hard. i never graduated
Sounds like it's time to start some basic code camp / code academy / Udemy courses in your off time to catch up.
Listen, diploma and knowledge are parallel things. A diploma is a nice document. It opens some doors. But can't substitute knowledge. Just write something useful. You'll learn a lot in the process. Learn a lot of USEFUL things. So just start writing. Writing is useful and fun. Yes, you can drink and write. You can smoke and write. But you must write. Not a stupid artificial book problem solvers. Write something you really would like to have.
Facts. Diploma’s just a piece of paper, man. What really counts is the stuff you actually make. Writing, building, whatever — as long as it’s useful and not just textbook bs. Half the time we get stuck solving fake problems no one cares about, instead of creating something we’d actually use ourselves.
Even if it’s messy at first, just grab some project, tear it apart, mess with it, make it your own. That’s where the real learning happens. Guidance helps, sure, but end of the day it’s just you building stuff you vibe with. That’s what actually sticks
I don't know about the industry specifically, but learning and applying the knowledge takes a certain number of work hours. This is good advice to start putting in hours. OP is asking if there are shortcuts. You can optimise to get the most out of your time, but there's really no way around having to put in the hours. His fate will depend on what assessment/sign-off involves and how soon it will be.
Yeah true, no magic hack here — you gotta put in the hours no matter what. Can’t dodge that part. But I feel like there are ways to make those hours hit harder. Like instead of grinding random theory, grab a project that already exists, break it down, mess with it, and learn as you rebuild. Cuts out a lot of wasted time.
Plus if you’ve got someone experienced to point out “yo, focus here, skip that” it saves weeks of trial and error. So yeah, hours are non-negotiable, but you can still optimize the grind so it doesn’t feel like you’re starting from zero.
Senior UI architect here. I didn't know shit about crap when I graduated college as far as programming, and I was on the fucking Dean's List and graduated with honors. 95% of what I know I learned it on the job after college. Today I work from home and have a comfortable income so don't let your fears take hold. You still have to study on your own creating personal projects which will teach you way more programming than what you learned in college.
I felt the same way you do when I was in my last year of college. I remember being really nervous about it and thinking that they didn’t give me any real world experience, but you’ll get that when you find a job. The job I got out of college was in a programming language that was so foreign to me (and probably most people) that I had no idea what I was doing, but you end up adapting and using the constructs they’ve taught you.
I’ve been working in tech for 24 years now and still feel like I don’t know enough for my job most days. The good thing is that it’s a constant learning experience I guess.
You'll learn more on the job than you did at uni, I sometimes have small projects that I hire out, you can reach out to me and try out a paid contract job with low pressure. I've helped a few other people through the same process but no promises.
The industry is moving very quickly, honestly don't stress too much about the nitty gritty details like syntax and such, probably a safe bet to focus on the practical side instead of the deeply technical side.
Every interview that I've given and taken has been more about personality and compatibility than skill.
Internships and entry level jobs are where you learn those things.
Don’t worry about it too much, but if you can find an internship that will be your best bet.
My advice is network to find that internship, and if you can’t that okay too. Employers don’t expect you to know everything, it’s why junior levels exist.
Don’t buy projects, but maybe look into open source software you use, they’ll use tons of different design patterns and architectures. If you can contribute to some while learning that’s even better.
Devs do not consider you opening a pull request and asking them for help getting it across the finish line a waste of time. Find a beginner tagged issue and run with it.
Just don’t try pushing a bunch of AI code and mention in your PR comment if/how/what AI you used so you don’t waste their time or violate their policies.
I don't know your industry, but you probably know more than you think. In my job I learned so much in my first two years out if school.
Yeah that’s actually reassuring to hear 🙏. I keep hearing people say the real learning happens once you’re on the job, but the scary part is getting that first break. That’s why I was thinking — if there was a space where you could practice by picking up real projects (even buying ready-made ones just to see how things are structured), get some guidance/mentorship, and then slowly start putting out your own work… it would make the jump way less intimidating. Feels like that kind of model could really help students like me who are starting late.
Any advice would be a lifesaver 🙏---
Stop wasting your time would be my first advice.
If you really feel like you've wasted your time for the first 3 years, change. Change now. Not tomorrow, not next year, not after you manage to find the real 'good place that will help you learn something'. Do it now, where you are. Start learning, ask questions, discuss with teachers (and fellow students, too), invest yourself.
It's never too late, no matter how late. But there is no shortcut to doing the work.
Basically like a one-stop place to learn + build + get guidance. Does that even exist or am I just daydreaming here?
Like already mentioned, that's the place you're in right now. But, allow me to insist on that, it requires you to put in the work. Like with learning anything new.
The other suggestion I wanted to make was already given to you: since you seem to be into coding, start actually coding stuff. A diploma is not worth much compared to experience you acquire by making stuff and writing you own code for real.
There are plenty open source projects looking for someone to help push them forward if you have no idea on what to work. But if that's the case I would also suggest you question your motivation to study that.
CS grads are in the worst position ever. University is often mistaken for vocational education, however that would be a technical college.
I have spent a lot of time crossing between a practical education environment, aimed at production skills, and university, aimed at thinking ability and abstract skills.
Honestly, my experience is that students are much more capable in a production environment after a two week boot camp than after three years of university on a roughly parallel topic. However, the non-idiots in the academic case will be able to understand arguments about the context of what they are doing better.
The point is that a philosophy degree might be more employable than a CS degree in some situations. The dude who cofounded Flickr and Slack was working off of an english degree. Use your degree for understanding and some projects for knowledge.
I also have a humanities degree and work in IT, with a wide range of applied skills I learned from necessity instead of a prof.
So create the necessity for skills by making useful shit, or even just fixing things. Find friends and make a silly app. Volunteer at a nonprofit and improve their CRM database. Build a homelab that you share with roommates. Find the local permacomputing group and help them turn all those shitty win10 obsolete machines into sleek linux machines. Ignore money and employment as task criteria for a few years, or freelance IT gigs.
Solve real world problems for real experience.
I graduated university a couple years ago and I felt in the same boat coming up to final exams. Like others have said, you almost certainly know more than you think. You're at the start of the final year as well so you have a lot of time to get ready.
Most IT/programming jobs will train you on the job and I haven't heard of anyone coming into a role who's expected to know everything, so I wouldn't worry about that too much. Getting the job will be the harder part, and the best thing I did was to consider my past experience and apply to jobs tightly related to that. I'll not dox myself so these will be fake details but that meant if I'd done a work experience position doing tech support for an accountancy firm, I'd have focused my applications on those companies. If you have a final year project to complete for a dissertation, see if you can tailor that to what you think are your best chances of a job. E.g. you did work experience doing IT support for a law firm, and your final year project has to be related to improving human rights, so you could develop a CRUD application to connect defendants to good pro bono lawyers. If there are law firms near you hiring for IT, that sort of thing that will help you stand out in an interview with them. I think I did only two interviews before getting a job offer with that tactic and I know others with the same degree who graduated the same day as me that still haven't found anything.
And outside of uni/college, is there anything in IT and computer science that interests you? I found that university killed my joy for it and I've only rediscovered it since graduating. Building a JavaScript web app for my final year project, led me to wanting to program some discord bots, from there onto using a raspberry pi to host them, and then into doing some self hosting and networking with the likes of Docker and WireGuard. Some of that has come in handy in work, especially when using linux servers, but it's stuff I do cause I just enjoy it and it so happens to give me some experience. There are tons of open-source projects you can work on to get experience with different parts of IT, and you're on a good website for it since most of us on here are Linux nerds.
You're studying to be a programmer, right? You don't mention your comfort language, so I'm going to try to keep this language agnostic.
Here's what you do:
- Figure out the absolute simplest application you could possibly build. I'm going to suggest a to-do app, because it's traditional and it's a dead simple concept.
- Figure out the absolute simplest version of that application. I'm thinking it just renders a hard-coded list of to-dos with exactly one piece of interactivity, a button to cross off an entry.
- Add another piece of interactivity: Make the rendered text of a to-do entry editable.
- Add another piece of interactivity: Make the list resettable, so your edits and cross-offs vanish.
- Add another piece of interactivity: Make it possible to add entries to the list.
- Add another piece of interactivity: Make it possible to turn the list green.
- Add another piece of interactivity: Make it possible to remove entries from the list.
- Keep adding visible features until the frontend is the best goddamn to-do list you can make.
- Create a backend. Your backend has a database (such as MySQL). It has one table, which contains every to-do.
- Your backend should expose a REST API. If you don't know what that is, read up on it. They're very simple. Long story short, it's a means of sending and receiving structured JSON.
- Here's where your app gets real: The REST API can read from and write to the database. That means no more hard-coded entries on the frontend. Your frontend will now read from the REST API when it loads, and populate the to-do list from it. When you delete an entry, it will be removed from the database. When you cross one off or turn it green, it will change in the database.
- Congratulations, you've built a rudimentary real-world application!
projecteuler.net
do them in order. in whatever language you want to learn. shiiiit back in “the day” it was how I learned ruby.
but the probs are not gamified like “hacker” coding questions they are, in my 30+ years exp as an eng, more realistically like real world plain english specs/asks from customers.
trust me. i’m a guy on the internet. do it. you got this and know more than you think.
Lots of advice here but I haven’t seen anyone mention coding boot camps. There are free ones like FreeCodeCamp or lots of paid options. You can do these to learn or validate what you have been taught.
My company hires associate-level software engineers directly out of college programs and boot camps. They don’t expect people from these to know everything; you may not have ever even used the language that you will be expected to code in! But by completing a program you’re showing you understand the logic of programming and that is applicable knowledge.
Look for entry-level jobs and you’ll be fine. Even better, look for companies that intentionally hire from programs like yours. They’re more likely to have internal programs to help teach new-to-career folks.
Find an open source project that's coded in your language of choice that you both care about (edit -- or that looks interesting to you, at least) and want to add functionality to.
Download a working copy, then, since you're learning with this, pretend the repo doesn't exist anymore and you're on your on with your self-imposed assignment.
Figure out what functionality you want to add, start with changing or augmenting something simple, and figure out where that would go in the existing code, and make it happen.
See if you can manage to Google search your way past any errors you run into, preferably alternating between ai answers and things like stack overflow posts, only instead of copy-pasting the code that errors out (or the solution code you get from ai or posts) actually step through things and figure out what the "solution" code is doing differently and ask yourself why and how that makes a difference or has a different effect from the code that generated the error in the first place. Then decide whether it's actually likely to fix the error or not. If you think it's going to? Try using it.
If it works, make sure you understand why.
If it doesn't, try to figure out why not.
Keep going until you have a working new feature.
Then try a more complicated feature.
After a few of those, try tackling some of the bugs in the repo.
Eh, I thought I was OK going into my career out of college only to find out I learned more 3 months on the job than I did in the classroom. About the only practical experience I got in college was in labs setting up environments. So don't sweat not knowing. You'll get direction in an entry level position, then you can work on your own stuff, or you can find a topic that interests you and work on it on the side like a video game or tool or website. My current side projects usually help me in my current career. So I picked up a skill that I never learned when I exited my first career (docker administration) and I feel like a goober for not learning in the past.
I know why i didn't learn it though. One, two, skip a few, after burnout and changing careers, my skills look like they could come back in fashion for moving stuff back to on premise and I could be useful again (IT) especially for small clusters, networking, and specialized local application support, so at least I have a backup plan for when AI takes over my current line of work.
I guess my point is the job is kinda like a better one stop shop that pays you to learn the specifics whose bosses should get you the guidance at least with incentivized goals; money.
"Gifted" but not quite genius kid here. I managed to coast through the first year of University, but then I hit a wall, where discipline and good study habits would have served me well.
Eeexcept I'd never needed to do that before and I had undiagnosed but pretty blatant and crippling ADHD which meant that I couldn't do that even if I tried. (I occasionally did try. No dice.)
Repeated the second year. Barely scraped through it. The decline continued. The final year I was just showing up because that's all I knew how to do and was too scared to up and quit.
Spent most of my time in the computer labs interacting on the early WWW. It was an excellent distraction from the absolute stress I was under.
Didn't graduate, but heard you could get a diploma for having passed the first two years. Requested and got that. No ceremony. No fanfare. It's in a picture frame in a pile of stuff somewhere around here. Too many painful memories to display it on a wall. I still have nightmares.
What I did do was go out and get a job. This was pre- turn-of-the-century so getting a job was way easier than it is now, but it still took six months. Ended up working for what is now a fairly big US-based company that shall remain nameless. (I was ousted long before they made it big.)
My advice would be to do similarly. If you don't think you can knuckle down and do what you need to in order to pass this course, get out now, or else at the end of the school year when there's a natural end to things.
BUT: Do at least try to knuckle down first. Lots of other good advice here. Maybe you're not in as bad a state as I was. Maybe you do in fact "got this". Getting and doing a job is different, but it's not necessarily easier. (But for me that's another story.)
There’s always McDonalds.
If you survived university this long, you must either be really good at cheating or you have imposter syndrome. My now Ex-wife graduated in a medical field 10 years ago, and the first year of her job she thought that she doesn't know enough. Then she realized how the others around her worked, and came to the conclusion that she had enough knowledge to use her critical thinking and to know where to look something up if she didn't know it. In the working world, noone has an issue with you looking something up you don't know by heart.
Also, i can only mirror what others here said - get on Github and find a project that interests you, or try modding a game you really like; It doesn't only mean you get practice, but also gives you the self assurance you are currently lacking.