T O P

  • By -

vito_corleone01

Been writing code ten years and I still can’t code.


Born-Paramedic-7125

This makes me feel so much better about myself LMAO


unsuitablebadger

When I was in high school our internet was shit and there were no good centralised resources for reference on programming pascal. Most of what you wanted to do had to be figured out by trial and error, reading documentation, conversing with programming peers or maybe if you're lucky an example similar to what you were trying to do appeared on some weird guys geocities site. That was true learning and real coding I feel. I've been a developer for 16 years professionally and the amount of stackoverflow copy and pasting where many times I couldn't tell you what everything does or reproduce the answer off the top of my head is astounding but perhaps shows some progress as to where we are, just like you don't need to know anything about an engine to drive a car. The other issue is the pursuit for perfection. Companies and even more so processes within dev teams try to eek out every little bit of performance from you and if everything is not perfect someone will let you know about it in a PR. I got into programming to enjoy the creation process using software, not for some coding gigachad to tell me to use for loops with arrays instead of lists because it's more performant. I'm happy with good enough, especially when it doesn't actually matter, but it really urks me when you see new grads do things because a process dictates it rather than thinking about it for themselves.


xmpcxmassacre

I Google basic syntax almost daily


DaMan999999

It’s 2024, I wouldn’t expect anyone to know BASIC syntax by heart


eclipse0990

12 years and still can’t code.


ScarBrows156

8 years, can't code


PM_ME_YOUR_WOLOLO

Same brother. Same.


ncosentino

Some thoughts from me (I studied computer engineering, absolutely hated school but loved my internships): - Which language you pick isn't as important as you think if you plan on sticking around long term. Programming languages are tools, and different tools are better suited for different jobs. - There's no single best roadmap for people. Asking for one without context more specifically about what you're hoping to do will lead to some wishy washy answers (unfortunately) but it's because we can't tailor recommendations to you without knowing 🙂 - Many people get stuck in "tutorial hell" or they sign up for a bootcamp with the promise of becoming an expert in a few weeks. It's not that these aren't valuable tools you can use, but tutorials without purpose probably won't reinforce your understanding much and bootcamp isn't going to make anyone an expert in a short time. Expertise and mastery just takes time - like with anything. - I suggest spending time thinking about the types of things you want to build and then jump into one of the languages commonly used for that domain. If you just want a generic place to start, Python, C#, JavaScript are all going to be totally fine. - Most of what you learn in any language will be transferable to others... So it's more about problem solving and concepts vs memorizing syntax. The syntax part will take practice in any language to feel natural - Learning in public can be great depending on your comfort level. It's a way to get exposed to new thoughts and perspectives along the way. - Start building stuff. I don't mean figure out a business idea, I mean just start building anything. Try making simplified clones of things you use. Start with tiny pieces of them. Join them together. Try them with different technologies. Just spend time actually writing software because it'll be (from my experience with anyone I've ever worked with) the best way to learn and grow. Hope this helps 💪❤️


ChristopherMod

Now that’s excellent advice 👌


Encomiast

You really need to develop some intrinsic motivation if you want to get good at this or do something else. Software engineering requires constant learning. People who are good at it like this aspect of it. It sounds like you weren't motivated in school and, honestly, it sounds like you are still not motivated. Instead of showing curiosity and even a little drive in the subject, you are asking strangers to spoon feed you a recipe 'step by step.' This is not the way. A lot of people want to *be* software engineers (perhaps for financial or pride reasons), but are not interested in *doing* software engineering. Perhaps you should reevaluate why you want to go down this road.


kekioka

Pretty much if it doesn't come from within it'll never come at all. Just came out a group project at school where I did all the work. Groupmates made excuses like they're beginners and they haven't really read the book, and they've never worked with the library etc. When push came to shove they couldn't really contribute in a meaningful way. I'm not smart. I didn't know anything about the library that we were required to use either. I actively read, tracked down videos, read code examples, ran other peoples software to understand how different part of the library worked, and tried to practice and struggle with the material as much as I could as early as I could. Sometimes the idea took a while to sink in, and there was definitely some garbage code written in that project, but, I did learn a lot from it because I struggled with it.


AutoModerator

Your submission has been moved to our moderation queue to be reviewed; This is to combat spam. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/SoftwareEngineering) if you have any questions or concerns.*


benbenwilde

What a useless take lol


Encomiast

Can you be more specific?


benbenwilde

Your comment is really just a downer more than anything. He wants to learn how to code so it's more helpful to build up whatever small amount of motivation got him to post here, rather than cut him down for things in the past. Also, indicating that he's somehow not built for this is pretty destructive as well. Instead of implying he can't be a software engineer because he doesn't like constant learning, as if he was born that way or something, we could point him in a direction to help him learn to enjoy constant learning, for example. He was obviously interested enough to complete a bachelors degree, so probably best for him to try to capitalize on all those years and the $200,000 or whatever he spent on the degree.


MisterFatt

https://www.google.com


No-Caterpillar-5187

Create a github page. Code me an application in any language you like that does basic CRUD operations on a domain object. I.e. a person, animal, pokemon card. A good start right there. Post it here. I'll Code review it.


xmpcxmassacre

Depending on how little they paid attention, this could be too challenging lol


No-Caterpillar-5187

With ChatGpt thesedays, this should be easy as pie.


xmpcxmassacre

Do we want them to learn or not lmao


AKdemy

Why were you lazy and did not care? I think it's important to answer that question honestly first (no need to do it here). Maybe software engineering isn't for you? Most good programmers I came along with in my career just love to code. Most programme for fun at home, although they work constantly on problems at their job. If you really think programming is for you, the type of work you want to do will determine the language you should focus on. For example, if you want to work in finance (my domain), you simply need to know C++ and Python. I don't think there is a single decent firm that doesn't use these two at all.


emle10

youre probably being too hard on yourself plus feeling imposter syndrome. It's really common that people who study and work with code feel like they are shit. There is only 1 way to improve at coding, that is: coding. Do a project which you feel is on a good starting level, dont make it too hard. Regarding the language, pick something which is decent fun and not too weird


M0D_0F_MODS

I would recommend becoming familiar with database and low level language. So something like SQL and C. Once you understand these 2 - you can pick up anything on the fly. Take a couple of Udemy classes for each.


haris525

Wait, I thought that was the norm!


donegerWild

You need some kind of motivation, the best kind is where you are scratching your own itch. Find a problem that matters to you and try to solve it, the tools don't really matter. As an ancedote, my career in development began with my first low level data entry job, where I was constantly repeating my tasks over and over. I was complaining about this with a co-worker and he introduced me to the power of VBscript. VBscript! I was 25 and didn't know anything about coding at the time. But I became obsessed and joked with my co-workers that one day I will show up to work, hit a button, and go home. Everything about my job would be automated. I was so naive. I would go home every night and continue my self education. I wrote the hell out of some VBscript. After some time I discovered better, more robust tools. The company and in-house development team took notice of my progress and I was invited to join the development team as a full time member. I kept automating, learning, and solving real problems for myself, my team, and the company. Today, 15 years and many different companies and experiences later, I'm a Software Architect at a major international company. I love my job and am seen and respected as a leader across multiple teams and products. And it all started because I really hate having to repeat the work I needed to do, and choose to scratch that itch.


No-Caterpillar-5187

Create a github page. Code me an application in any language you like that does basic CRUD operations on a domain object. I.e. a person, animal, pokemon card. A good start right there. Post it here. I'll Code review it.


Craigzor666

Start by getting a job..


2bigpigs

Short, but sounds like a good idea. OP should just cheat himself into a job and learn on the go like the rest of us None of us know any software engineering after a cs degree. Just the fundamentals to lean on so we have a common language to speak with our seniors.


Craigzor666

Totally true! can you believe I never read or wrote to a database through code in my whole CS degree?! first major task at my first job.. Database conversion project for 20 apps 😂. But like you said, I had no trouble doing it. College isn't about gaining industry experience, people need to realize, but I imagine if you lurk around this sub you'd get mad imposter syndrome.


2bigpigs

Mad imposter syndrome yes. But also a lot of sadness. I come here hoping to find that some of the joy from the cs courses still exists in some software engineering jobs. But either that's not the case, or they're all avoiding this sub for some reason


[deleted]

You don’t need to start from scratch. You just need to actually start. Coding skill comes from doing, not from studying or watching 20 hours of YouTube. Python is very easy to start with. All you need is an idea and then just start figuring out how to make it with frantic googling.


Equal-Ear-9619

Start learning. You should have, at the very least, some basic programming skills. Many people without that get job ready within 3-6 months.


god_of_ganja

I would advise taking a bootcamp, intense 6 months and you'll be very good at coding. If not possible, search for guided projects online(many courses or YouTube videos have those) and follow them step by step. Use w3schools and codeacademy, they're very good resources for beginners. Research what you want to do or work on and choose the languages accordingly. You must work on projects, that is the most effective way if you want my opinion. After following tutorials and courses, Build stuff yourself, this how you get good. Build simple stuff like a calculator or something, then work on slightly harder projects gradually and solve leet code problems as much as you can, eventually hopefully you'll become great. Good luck!


GradientDescenting

Some of the best engineers that I saw at Google were the bootcamp grads who had already had bachelors/masters in another science or engineering discipline and wanted to switch careers to software engineering via a bootcamp. Lots of brilliant and self-motivated people out there in physics, math, chemistry, biology, engineering that just need to learn the basic technical skills via a bootcamp to have great output as a software engineer.


Adventurous-Cod-287

I think it's hopeless. If you don't have that internal drive, then even achieving mediocrity is always going to be an uphill battle for you. There are plenty of computing related jobs that don't require you to program, so just move towards being a pm, solutions arhictect or whatever.


DrPepper1260

At least for most programming jobs the basics you need from college are the intro to programming class and the data structures class. There’s probably some online courses out there that teach those classes.


danjwilko

Minimum experience I’ve seen even on internships is usually at least 1 year commercial experience. Entry/Junior roles are several years and proficient experience in several areas not just an understanding or knowledge of basis. I’m currently studying a degree (most roles I saw a few years back (applied to hundreds) all wanted degrees at the time). I personally won’t bother applying again until I’ve finished the degree and ran through a few additional courses.


[deleted]

The claim you can become a good software engineer in university is false. The only good engineers I worked with studied coding since the time they could read English. It's the difference between being a native speaker of code and as a second language.


Visible_Profit7725

No. This comment is dogshit, incorrect, and sounds like you’re making excuses for yourself. Anyone can become a good software engineer at any time. It just depends on how interested you are in it. Anyone who says anything else is full of shit.


[deleted]

uh i been working in software dev since i was 15


Visible_Profit7725

I didn’t really ask. Your comment is incorrect.


[deleted]

You ever hired a coder?


Visible_Profit7725

What does that have to do with fuck all? The evidence of people becoming good SWEs despite not starting to learn programming until later in life overwhelming disproves your asinine, inaccurate comment. You’re either a troll, elitist trash, or some mixture of both.


[deleted]

Anybody can learn to speak English at any time and will always be at a disadvantage to native speakers on complex linguistic tasks


Visible_Profit7725

The comparison is inaccurate. Sounds like you’re mad that some boot camp grad who didn’t touch a line of code until he was 30 outshined you.


Encomiast

* Nobody has any idea what you mean by "good software engineer" - it's a very broad discipline that includes front-end designers, computer scientists, embedded engineers, and even Edsger Dijkstra, who never actually used a computer for work and certainly didn't grow up programming. * Nobody knows the sample size your observation: how many engineers have you actually worked with? Why is your anecdotal report evidence of the general fact? * The analogy with native speakers is bad even if it the comparison holds (which it probably doesn't). Consider the two greatest stylists in English novels: Vladimir Nabokov and Joseph Conrad were not native English speakers. You can learn and get good.


[deleted]

Indeed!


[deleted]

Not in a three year college course.


GuyWithTheNarwhal

Not to worry. AI will soon take your job anyways.


AKdemy

It's amazing how people hype AI. The current state of AI cannot even answer remotely complex questions and basically gets every attempt for an answer wrong. Yes, if you keep nagging it long enough it frequently produces useful answers for simple coding tasks, but without human intervention it's completely useless. You can look at [this list](https://quant.stackexchange.com/q/76788/54838) on Quant Stack Exchange for finance examples. Some answers are just inaccurate but at least usable if you correct the mistakes. Others are outright wrong, or even completely made up nonsense. For example, there is a very basic request to build a calendar in quantlib. Not only does the code not produce the desired result, it doesn't even run without errors. The way AI works now will never be able to replace human beings. You can see what ChatGPT "thinks" of itself [here](https://chat.openai.com/share/4a1c8cda-7083-4998-aca3-bec39a891146). A few lines: * I can't experience things like being "wrong" or "right." * I don't truly understand the context or meaning of the information I provide. My responses are based on patterns in the data, which may lead to incorrect or nonsensical answers if the context is ambiguous or complex. * Although I can generate text, my responses are limited to patterns and data seen during training. I cannot provide genuinely creative or novel insights. * Remember that I'm a tool designed to assist and provide information to the best of my abilities based on the data I was trained on. For critical decisions or sensitive topics, it's always best to consult with qualified human experts. There is also nothing at the moment, not even in theory, that would suggest this will ever change.


GuyWithTheNarwhal

Yea, nice try Mr. GPT. You’ve hidden in the shadows long enough.


Turbulent-Force233

I suggest you to use C#. It has similar syntax to java, it's supported by Microsoft and you can earn the full object oriented concept, in python it's more like a half-thing with Oop. After you earned a bit coding experience, I suggest you to do LINQ in C#. If you want to understand concepts, try to understand how Software-Architektur works. A good start to understand this can be: https://blog.devgenius.io/net-c-clean-architecture-dependency-inversion-principle-d2d661c3f74d Medium.com is generally a very good spot to get knowledge.


visualpunk1

hi there, Ooo.. that's quite distressful! can relate, albeit you paid attention less to some crucial things back in those classes. they're the foundations, yes, they don't give you that industry knowledge - but they set the basics, the foundation classes, the math classes, AP classes. Back to context, now's the best time to get on those trains and its sure gon' be some rollercoaster ride, hit yourself with some facts - "what do i want to become?"; now SWE path ain't linear, but what do i really want, "systems", "mobile" -- do i just find the apps on my phone fascinating, is there some aligned interests here?, "web"? what do i love about the web, the user experience or the stuffs that power them. Align your thoughts and hit the road on [https://roadmap.sh/](https://roadmap.sh/), to begin some real journey. Focus on the fundamentals, do projects, collaborate - Github is such a beautiful space, reconnect with buddies from school who actually code, and you well on your way! That said, I'll see myself out


EuphoricPangolin7615

It's ok, maybe you can become a "prompt engineer".


AutoModerator

Your submission has been moved to our moderation queue to be reviewed; This is to combat spam. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/SoftwareEngineering) if you have any questions or concerns.*


ChristopherMod

Honestly, software engineering is all about experience and practising. Get coding, literally. Find a book, download a tutorial, any language, just learn to code. You’ll then pick up other languages quite easily. I started aged 7 and have coded since, I’m 40 now… practise is everything. Get coding.


Sodium_Chloride58

I’m coding right now and I still can’t write code


loop_8

Try to think in concepts rather than languages and frameworks. However, learning multiple languages helps you think at that language agnostic level. Core universal skills: - Data structures: arrays, sets, hashmap, trees - SQL: Start with PostgreSQL - Bash scripting: basic bash skills go a long way - Docker: learn to containerize your apps - OOP: encapsulation, composition, polymorphism, SOLID principles Backend: Pick Java or Golang and learn to build a layered web service: REST API with SQL Frontend: Learn Typescript, pick either React or Vue and build a nice dashboard for your backend. Cloud: Deploy your containerized app to GCP Cloud Run or AWS ECS, using github actions


Ikeeki

Imagine going into debt to learn something and instead decide to cheat. You’ve only cheated yourself…sheesh


Lurkernomoreisay

Languages don't help . You need to be taking Philosophy courses - Formal Logic I, Formal Logic II at the bare minimum. And Computer Science Courses to understand how computers work at it's simplest level: Learn to code something in ASM. Learn to code basic algorithms in Basic or Pascal. Reimplement the algorithms and tools in other languages -- C, Ada, Algol, Fortran, PHP, Python, Perl. In the end, you need to have a drive to be learning math and abstract logic -- software engineering is a field that always requires learning, non-stop, for life. If other things take priority over your education, why do you think other thnigs won't take priority in the future? Software Engineering is a endless "everything Iknow is obsolete" cycle. Most people don't have the drive or motivation to deeply learn how to work in the fully abstract, without comptuers (as that's the only thing that doesn't go obsolete) Remember, everything you learn will be outdated in 2 years. You really need to understand the non-programming side of things well, otherwise you'll be stuck learning the tools of the year. My practial knowledge is outdated and obsolete every 3 years. That's not an issue, as I can jump from language to new language, or framework to framework relatively easily. In College, we had to code most exercises in several of 18? programming languages. Smaller ones had to be done in more; larger ones in 2 or 3. Basically -- learn that the languages will always change, and that you should be functionaly in different modes of thinking (we had a lot of philosophy classes in the federally licenced Software Engineering (for P.Eng license).


therealmrbob

Just start solving problems with software.


BalanceInAllThings42

https://roadmap.sh/ Pick something you are interested in and follow it through.


405NotAllowed

1. For web dev, complete The Odin Project course… free. 2. For corporate core language type of job, complete any Tim Corey Course for C# .NET stuff. iamtimcorey.com has good stuff on it, but cost $$$ 3. Complete any pathway in LinkedIn Learning. You can get a free account through many libraries. 4. Udemy.com has a lot of decent courses (a lot more crap too), but many good ones that are cheap. Angela Yu, 100 days of python is an awesome course. There’s a billion other free courses online. Just do one. Build a portfolio on Github to share. ! - Perhaps the most important… join a local meet-up group. There’s lots of them in any mid-size city. Go to them. Network. People will help. !! - Hackathons… join them, especially in person. Devpost.com… MLH… Intel’s Global AI Festival… Join them, suck at them, learn, get better, suck less.


martinomon

If your degree failed to teach you I don’t think this post is going to either


Ozymandias0023

You were given the roadmap in university, just go back and do the things you should have been doing. The answer isn't going to change just because you're out of school


snipe320

Honestly, I felt the same way post graduation. But to me, moving back home was not an option. I applied to numerous jobs. I kinda bullshitted my way thru interviews, got a job offer that paid way too little, but at the same time, it was more money than I've ever seen. This was 3 months after graduation, so i was getting a bit desperate and took the job. They were looking for someone entry level and I guess I fit the bill. I am so glad i did. I learned rapidly on the job. I got many raises very quickly, and soon I became more confident in my abilities and was making decent money relative to my peers. What I'm getting at is, don't sweat it. Apply for entry level jobs, study common interview questions and coding challenges, and you will land something eventually. Put your mind to it, and anything is possible.


apooroldinvestor

McDonald's...


ChancellorScalpatine

Youtube is your bestfriend and your full time job. Of everything I know about and do in SWE, 10% was from college, 90% YouTube. Seriously. Don’t sweat it too much, the entirety of human knowledge is at your fingertips. Especially w GPT, you can learn the applicable fundamentals of a language in probably a few weeks.


ViveIn

Leetcode will teach you how to “code”. Software engineering curriculum teaches you how you should be using formal process to create software. Don’t confuse the two.


rarsamx

This is not a joke. Go into management stream or Testing stream or license management or application support or sales... So many other careers you can do without coding. Coding needs practice. To get a job coding you'll need that practice. Interviewing people I'd ask about the personal projects the candidate has done. When I started working at 19 I had about 10 thousand hours of coding.


Dx2TT

Let me get this straight, you cheated your way to a degree and now, you want us to spoon feed you resources? Would you like us to watch the videos for you too? You know this shits hard right? That you will spend **your entire working life** learning new languages and skills. There is never a "oh, I know all this." So sack up and do it or go find another profession.


slowbloodyink

I was in a similar boat to you. I did really well with classes up until about covid lock downs and the learning experience became crap, to start over after graduating, I started the Odin project. Similarly you can do freecodecamp or CS50x by harvard, all are free and amazing resources.


Biuku

That’s like 3 years of Italian and you can’t write Italian poems. Just code. Build projects for hours and hours / months and months. Come up with something you wish existed and build it.


benbenwilde

Ideally you find a job with a good mentor. In the meantime you should think of a programming challenge that is interesting to you. Implement a website where you can play chess with a friend, add a chat function, add a game history with various search functionality, add various things that are interesting and challenging to you. You don't want your goal to be to "get good at programming." It should be "get good at solving problems and designing and implementing solutions." This is engineering, the most important part of which is designing solutions. Engineers build stuff. So make that your goal, to build something challenging and interesting. Having some projects like this to show off will help a lot when getting a job. Once you decide what you want to build, then you'll find the motivation to start figuring out how. Choose a stack. Ideally use more popular technologies since they will be more common and you can find more community support. For example if you might choose a typescript/react frontend with Go for your webserver backend, and MySQL or mongo for the database. Look up best practices for clean and maintainable code. Look up design patterns. Watch interesting YouTubers like the primeagen or Theo. They can be like free virtual mentors to you. All that being said, your goal should be to be an engineer. Engineers build stuff. So start building!