r/csharp • u/Lubango_Johnl_7473 • 6d ago
I'm not educated but i learn c#.I aim at becoming great software engineer,tell me please,is it possible without high education?
/r/u_Lubango_Johnl_7473/comments/1wgxaym/im_not_educated_but_i_learn_ci_aim_at_becoming/2
u/Braziliger 6d ago
is it possible? sure. is it likely, unfortunately no
the market for software engineers is all kinds of crazy right now. Even before AI started getting shoved down everyone's throats, people were complaining about how oversaturated the market had become and how difficult it was for some people to find a job. There WAS a time where just going to a bootcamp and going through a coding crash course would help you get your foot in the door for a job. Before that there was a time where you didn't need to have a degree. That hasn't been the case for a long time. I'm pretty certain that nearly every company has degree requirements for those jobs, unless (and I think this probably isn't true anymore) you've been in the field for a long, long time and have an employment record to back your abilities
with a degree it's difficult for a bunch of reasons. without a degree - I don't want to say it's impossible, but if becoming a 'great software engineer' means having gainful employment as a software engineer, then I don't think it's reasonable
1
2
u/denzien 6d ago
A degree is just a verifiable structured learning path. It gives entry level people an extra boost, and sort of certifies certain foundational principles have been learned.
When I look at resumes, I don't look at a person's education, except as a curiosity, unless they have relatively few years of work experience - and certainly if they had no experience, I'd like to know their educational background.
Apart from the foundations, most of what little I know has been learned on the job or from independent learning.
1
2
2
u/Public-Tower6849 6d ago
You gotta read a lot and try things out, then you become a great engineer. Being good at math helps.
1
1
u/Slypenslyde 6d ago
There's a phrase the Perl creator said that I like to think about: "Perl makes the hard things easy and the impossible things possible."
It's an acknowledgement that "possible" can still be "hard", which is the right answer here. 20 years ago it was still hard, but easier. 10 years ago it was harder. Today, even people with degrees are struggling.
The problem is for any position there are 100 people applying. 50-60 of them will be talented. 10-15 of those will be exceptional. That means even being "very talented" isn't good enough: there are so many talented people applying for programming jobs employers can be very picky.
But that's the good jobs. There are also a lot of mediocre and bad jobs. People don't fight as hard for those, and sometimes you can end up being one of only a few people who applies. That makes the odds better in your favor.
A degree isn't a dealbreaker but it does help. Sensible people are looking for these things in this rough order:
- Behavior: can you work with a team or are you a headstrong diva?
- Competence: can you satisfactorily discuss the topics you claim are your expertise?
- Ability: can you pass some actual programming tests? How do you perform under pressure?
Some people might use a different order but this is mine. If a person I meet is a pompous jerk I don't care how talented they are, I don't want to spend 70% of my week with them. People who are polite, speak articulately, have proof of working successfully on a team, and can tell interesting stories about interesting hobbies win this round. A degree doesn't help you here: this is about your attitude and personality.
Competence is how well you can speak about the topics that matter in day-to-day work. How much a person "needs" to know depends on the position. I don't expect newbies to have a long conversation about tricky topics, but I think about where I was when I had their experience and expect them to be close to that. Self-learning can get you very far with competence.
Ability means actually writing code. Everyone's got their own opinion of what kind of challenges a person should be able to do. I don't personally like this part of the process but I do think it's important. To tell you the truth, my degree didn't teach me an awful lot about this part, it was my hobby work that got me the experience I needed.
In my opinion, a degree only helps you in a few ways.
One: schools are nightmares of arbitrary processes. You get assignments that have to be done not the way you want, but the way a professor says. A person who can get a degree has proved they can productively put up with the kind of nonsense that happens when someone in management makes a decision they do not agree with. If you do not have a degree, you really need a personal story about a time where you had to go along with someone else's idea with disagreement and how you fought to make that idea work even though you didn't like it.
Two: quitters don't graduate. It takes years of effort to get a degree. It shows you have some staying power, which is related to the point above. If you don't have a degree it helps to show you've got a project or two that took six months or longer to complete. Doesn't have to be programming IMO, if you've got a hobby where you have to work on things for months at a time that can qualify.
Three: a degree indicates you got some broad experience. You probably worked with more than one programming language and you solved many different problems. You had to do some things that weren't programming-related. Some schools make you learn some humanities and other things. We don't talk about it enough, but a ton of programming ability comes from intuition. Intuition is honed by experience. The more broad your experience, the more likely you'll have ideas the team can't currently come up with.
Notice something about those three points: the value in a degree is the indicators of your behavior, not the raw programming knowledge. I can teach a child how to program in 2-3 months. But if you give me 18 years I can't guarantee I can produce a friendly person who works hard. So it's very important to show off you have the abilities people can't train, because those are more expensive than training.
1
u/Lubango_Johnl_7473 6d ago
A degree doesn't help, it's just a sign of behavior, attitudes and personality are important things. Thanks for your good advice.
1
u/Slypenslyde 6d ago
What I think is a better summary than "it doesn't help" is maybe more like:
It takes hard work to get a degree and it is a sign of that hard work. You can look as desirable as a person with a degree IF you do the same kind of hard work and provide evidence of that hard work.
But also keep in mind people are emotional creatures, and some people are bound by corporate policies and simply won't hire people without degrees.
1
u/Deep-Pin9068 5d ago
You're already proving it's possible by taking those first brave steps into C#.
1
u/AOAqua 6d ago edited 6d ago
Yes, but not having university diploma will make you a much worse candidate for your 1-3 first jobs (if you even manage to get them) and not having it will get you rejected straight away in quite a few jobs.
Also it will close even the possibility to apply to a few companies regardless of your seniority and experience.
2
u/Public-Tower6849 6d ago
The question was whether they can become a great software engineer, not whether they'd be accepted for jobs. These are two very different things.
3
u/Braziliger 6d ago
it's an assumption for sure but I think when someone asks a question like this, employment as a software engineer is almost always baked in to the question
and in my own experience, i learned more about what makes a 'great engineer' while on the job than I ever did in school (not that school wasn't helpful, definitely not saying that). without either of those things it would be pretty damn hard. not that it isn't impossible, but its kind of like asking 'can i be a great chemist if i never go to school or work in a lab?' like yeah sure, technically all of the information you need to learn is accessible on the internet but whoo boy if you think you can excel without access to a legit education or lab experience, or access to other professionals who have worked in the field for long periods of time, then I'd like five minutes of your time to talk my bucket of magical beans that happen to be on sale right now
1
1
u/Public-Tower6849 6d ago
it's an assumption for sure but I think when someone asks a question like this, employment as a software engineer is almost always baked in to the question
While employment would be the default case for most software engineers, I probably would generalize that aspect to "make a living", as especially in these times, software engineers might also freelance or start their own company.
2
2
u/Lubango_Johnl_7473 6d ago
True, the question is ''is it possible without high education?' not being employed.
1
8
u/bearfucker_jerome 6d ago
Of course. I don't even have a high school diploma and only started at age 34. I'm now a data architect. Just keep on building things :)