DEV Community

Cover image for Can self-taught programmers get jobs?

Can self-taught programmers get jobs?

Programming with Shahan on September 22, 2023

“Can self-taught programmers get jobs?” In other words, can self-taught programmers actually land themselves a job in the world of coding and softw...
Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

All the best programmers I've known over almost 30 years in the industry have been self taught.

Oh, and a portfolio site is entirely unnecessary

Collapse
 
dumebii profile image
Dumebi Okolo

I think you're right about the portfolio. But recruiters do ask for it.

Collapse
 
thec0def0x profile image
CodeFox

They ask for it, but one time in an interview the interviewers were impressed that my answer was that I cannot show them the work as its proprietary to my customers and confidential, just like they wouldn't expect me to go and show off the work I'd done for them to other potential employers.

Collapse
 
anderspersson profile image
Anders Persson

Thinks this can be a country/area thing, i have work now over 39 year, and never got a question about portfolio!.

Thread Thread
 
dumebii profile image
Dumebi Okolo

Oh. I see.

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

Really? I've never once been asked for one, and have never asked a candidate for one.

There's really only a very limited amount of information to be gleaned from a portfolio.

Thread Thread
 
dumebii profile image
Dumebi Okolo

In job applications for software dev, after the spaces to put your github account, LinkedIn and other stuff, they ask for yiir portfolio.
In some it is required, in others it's under "additional information."

Thread Thread
 
codewithshahan profile image
Programming with Shahan

That's true. But having a portfolio will definitely make you more valuable in the eyes of employers, I believe.

Thread Thread
 
jonrandy profile image
Jon Randy 🎖️ • Edited

Not necessarily - I've rejected a fair few applicants actually because of their portfolio sites (over-engineered, bug-ridden, only work on one browser, contain nothing but cookie-cutter 'portfolio' projects, etc).

A portfolio site might dazzle HR, but won't mean a great deal to managers who want to determine if you can code - and at what level. Most portfolio sites tell you next to nothing about that, whereas an interesting and active GitHub/GitLab/whatever will reveal an awful lot more.

Most portfolio sites are curated vanity projects. A good hiring team will look straight past that - unless it is something truly unique... which is very rare.

Thread Thread
 
codewithshahan profile image
Programming with Shahan

That makes sense!

Collapse
 
pvivo profile image
Peter Vivo • Edited

I simplified the portfolio to a 1 page CV with link to one of my github repo. That is work very well. ( +30 years works from coding to design to coding and so on, my first program written in Z80 ASM), maybe now I can share my insta with few AI images but that is only hobby beside with gardening.

Collapse
 
thec0def0x profile image
CodeFox

Agree, I've never needed a portfolio of work. For the most part the projects I have built are usually proprietary for businesses anyway so I can't show future employers those systems and their data.

Collapse
 
rleddy profile image
Richard Leddy

So, another response.

I am making GitHub repositories. copious-world and npm packages. Why?

A reason: Well, I need to finish code for my website that should be built in the way that I want it built. So, there are things I am making that might be declared as already done by someone else. But, if you look closer...

Another reason to create repositories: I actually own my code. So, you think sweet deals of partial company ownership dangle from trees like sugar canes at Christmas? I got a deal like that once, working for stock, and well... so they closed their company. Wimps!

Yet another reason: Last job I had (Google?) the typical game of someone maneuvering to get you fired from the day you walked into the building was really clearly obvious and played out with such contempt for honesty. Well, so there was this one guy joyfully walking around boasting about making sure that I never worked again. (And, not just Silicon Valley). So, if they are ever asked if I can program and they tell everyone that I am hopeless at it, I still have my repositories. An honest client should get that if the code is there and it is good, then there must be something wrong with detractors from the past. But, then... (Anyway, the reason for ending the contract was that I just simply did too much work. Really. And, they had real problems with bugs getting fixed, etc.) This is usual.

Another trick: Get ranked in the top 3% of Hacker Rank or something else. Of course, then the guys who want to have their buddies hired instead of that 'awful' guy who knows what he's doing start to downplay the importance of knowing what you're doing. "It's all about 'getting along' these days." Translated as, "My cousin is too stupid for this, but I like him better than you. 'Cause you're not my cousin. And, what are deep pockets publicly traded companies or if I can't use nepotism liberally?"

So, actually, really, one should be able to show a body of work. And, yes, that means going out on a limb doing your own stuff, and working double time, because you can't give away other people's stuff. But, if you can still point to other people's stuff and that's all OK, you still don't own any of that and it won't help you to retirement or a future for your kids.

Collapse
 
amelie_jones profile image
Amelie

What if you're a self-taught dev with no previous work experience in the field?

I haven't attended a bootcamp or anything; is there a way better than a portfolio to demonstrate that I actually do know how to code?

Collapse
 
puneet_grover profile image
Puneet

If you don't have a website, you will be providing your knowledge worth millions free of cost at GitHub etc. where recruiters will ask you to present your work and use your programs for free on the name of testing your abilities.. especially so called educated programmers with some degree but no practical projects as they can cram but they can't program.

Collapse
 
peteking profile image
Pete King

I'm totally self-taught, no university, didn't finish school. 25 years ago I took a leap, a leap to learn. Fast forward 25 years to today, I'm still in the game, albeit a Director of Engineering. Believe in yourself, put the effort in, persist, and take calculated risks.

Collapse
 
budyk profile image
Budy

woww, that's cool

Collapse
 
ryencode profile image
Ryan Brown

When I'm doing hiring, I tend to give more weight to self taught skills than to completed classes/programs on the same technologies.
Competence still needs to be gauged. Knowledge on the generalities may be taught by the class, but the self-taught experience tends to out-pace formal education when it comes to a) edge cases (and if you're not touching edge cases, what even are you doing?) b) generalized aptitude outside of the specifics c) problem solving... self taught tend to encounter more problems needing solving. Formally taught tend to teach happy-path or unhappy-path-that-i-can-easily-teach-solution-to problems.

I've been lucky to have a very few, long time, development jobs. Those time-spans and and positive role-changes during those spans along with a few career highlights have made being hired a bit easier. (I know that my experience likely isn't common, and cannot, should not be used as anyone's metric for how things should be. I try to remember that when I'm participating in hiring decisions.)

Collapse
 
sattineez profile image
Sattineez_SSC

I'm missing jobs because I don't have a bachelor's degree, passed their interview coding quest but in the end I was discarded 😔 I dunno if it's just a Portuguese enterprises' picking or if isn't 😅

I'm doing CS50 Harvard computer science, maybe then I started landing some🤞

Collapse
 
awaisalwaisy profile image
Alwaisy al-waisy

I did not finish University. I have 3 graduation degrees. No plan to do graduation. My background was medical not now. I took risks and failed in all subjects of my dental degree, I invested time in IT, even though I taught myself Python on my mobile phone. Those days...

I have been on Job since December 2021, this is my 3rd Job but it is remote US. I am working as a Frontend developer. I did not join any academy. Thanks to Dev YouTubers. I will also say thanks to illegal websites hosting free Udemy courses. But soon I will be paying back to authors.

It is all about passion developers! You can do it.

I am ending my TED TALK speech. lol... But self-taught journey is fun.

Collapse
 
squidbe profile image
squidbe

I really hope you're serious about "paying back to authors". I used Udemy for years, and the courses are always "discounted" (I think they set it up to have you believe that you're one of the "lucky" ones who pays $12 instead of the "full" $150 price even though virtually everything is virtually always "discounted"). Point is, most Udemy instructors make very little money despite having put a lot of work into their courses. Paying for the courses you took will make you feel better knowing you're doing the right thing 😊.

Collapse
 
moremoney32 profile image
moremoney32

je suis aussi autodidacte et developpeur frontend ravis de vous ecouter,je me demande coment fait ton pour passer des entretiens aux etats unis moi jen suis en Afrique

Collapse
 
6502 profile image
Andrea Griffini • Edited

Having a degree in my opinion only shows you can provide some effort and continuity.
It doesn't mean you're smart, it doesn't mean you can build things properly, it doesn't mean you can work well with others on a common goal.

In other words it doesn't mean you're a good hire.

Of course NOT having a degree doesn't show anything (doesn't tell you cannot provide continuity: degree => continuity, !continuity => !degree... it's a simple implication, no two ways arrows).

Note that the implication degree=>continuity was for what a degree meant 30 years ago... at least here in Italy a degree is less and less meaningful every day and I'd be not surprised that a reasonably smart individual could today get a degree without any real effort at all (I knew no one that could get a STEM degree 30 years ago without any effort: may be they existed but never met such an individual; passing high school with flying colors without any effort was common, but university degree? no way).

Most good programmers I know do actually have a degree today, but that's just still a "coincidence"; the vast majority of programmers with a degree are bad (the vast majority of everything is "bad").

The good programmers I know have a degree, but programming was MUCH more to them for long before they got the degree... it was their personal passion and for example they've a degree in math or physics or chemistry or got their degree in IT after becoming proficient programmers, not before, just as a nice-to-have.

In general, all schools are always unavoidably way "behind" current bleeding edge; the reasons is that to have good teachers you need time for:

1) finding out what is good and what is bad,
2) finding out a way to teach what is good,
3) form the teachers

each of these steps takes at least decades and in IT (in my opinion) we're still fighting on step 1.

In this sense IT is the worst degree in terms of what is being taught... our field is still very young and moving way too fast to have school system to catch the good stuff.

May be in a couple of centuries things will be different.

Collapse
 
thec0def0x profile image
CodeFox

I'm totally self taught, in my career at Natwest Bank I essentially ended up creating myself a software engineering role. From there I moved on to a different company and after a year I'm now the lead developer in charge of developers who went to university studying conputer science and for the most part they're clueless. I don't think you can teach a critical thinking and problem solving mindset. You can study the theory behind code but we all know software engineering is problem solving. Self taught developers are more passionate I guess and love what we do, we didn't just see software engineering earns a good wage so pick that at university.

Once you've got experience professionally on your CV for a number of years in your first jobs the subsequent ones are a breeze to obtain.

Collapse
 
slex1onemusdy profile image
Mustafa

The topic covered in the blog is broader in scope than just self-taught programmers. The suggestions mentioned are applicable not only to self-taught developers but also to junior developers and entry-level programmers. Thank you for sharing this blog; I found it enjoyable.

Collapse
 
codewithshahan profile image
Programming with Shahan

Glad you enjoyed! Have a good day!

Collapse
 
devoskar profile image
Oskar Pietrucha

I got my first job before graduating high school. Then after an year, the company has offered me to do the studies on weekends and they've paid 80% of the tuition.

Collapse
 
madc0d3r profile image
Michael Diaz

I've been programming for 20+ years and have also been working regularly for the same amount of time. I'm also self taught, but I do find that there are holes in my knowledge that I'm constantly trying to remedy. Those holes tend to be related to the kinds of things you learn in school like data structures, algorithms, and terminology.

Collapse
 
boldright profile image
Bold Right

Nice, self-taught programmers reinforcing each other that it's ok. Educated programmers are getting the big money meanwhile. I always found that for some tasks, self-taught guys are ok, but they mostly lack the systemic, architectural oversight, and much of the common background that allows us to share thoughts easier. It's very hard to get above a level if you are self taught.

Collapse
 
dedsyn4ps3 profile image
Ed Rutherford

Great Work!

Definitely a nice article with some good points! I too have contemplated the viability of getting a job solely with self-taught programming skills. Regardless of whether or not it would end up having a significant impact or not, I still decided to dive in to a number of different languages to build a decent skillset...with the hopes that if it wasn't enough to get me a job, it would at least prepare me for having one...

Turns out that all the various personal projects and self-taught programming skills did in fact contribute to me getting a great job in tech, and quickly advancing as a result of the numerous things I had already learned on my own time!

Collapse
 
rleddy profile image
Richard Leddy • Edited

I was not self-taught. I went to CMU. I learned to program in Pascal. Then, I was supposed to learn ADA, but I failed to drop the OS course since I really didn't want to spend any time with ADA. Should I learn ADA now? Maybe I should brush up on my Pascal! Then, there's that forgotten FORTRAN. What about all the control codes for the VAX OS? Maybe I should take a refresher on that! (Boy! That university was really leading me in the perfect direction. Absolutely up to date with that knowledge. Even AI was all about LISP and symbolic processing. You know, no machine could ever pull off a neural network in this lifetime.) Know any Forth programmers? How's your ALGOL68?

Who's gonna teach me Rust and Zig? (Grammarly corrects to make the English worse.) Anyway, I was looking around. Looks like it's gonna be me! Autoditacting once again!

Bad enough that I switched from PHP to node.js! Then again, I suggested to Ryan Dhal that he write node.js because I was sick of PHP. Anyway, PHP is not like Pascal. And, I had learned C++ after it was invented but well after college. And, how would I have learned node.js in college? It was some thirty years after college before I thought it up.

So, where did our great node.js meeting take place? In a tall glassy building in SF? No! It was in a little coffee shop 50 miles north of SF. I was sitting playing a piano there when a guy happened by looking for an idea or an open-source project. So, I sat at the piano and he stood at the door and we talked. Now, there's probably a course in college somewhere for node.js and I would probably flunk it. (too many of my own ideas).

Guess I'll have to get good at Bun.js.

What language should I learn next? Maybe I should just create a new one. But, will it have hireable keywords to go along with it? (You know... it's about the keywords.)

Collapse
 
jefflindholm profile image
Jeff Lindholm • Edited

Yes, I am self-taught, and I have hired self-taught people, be warned though, some companies require a Bachelor's or equivalent no matter what. I would have graduated from college in 1988, but got turned down for a job for not having done that, would it be relevant now, not a chance, but still they said no. I even went through multiple interviews and people wanted to hire me, but the owner said no.

So yes, but not at some companies, just keep that in mind. Of course, if you had a BA in "insert any nontech degree" that would work for the company above :)

Collapse
 
nimmneun profile image
Stefan

The job market in which you're applying also makes a huge difference. Are you one of 50 react js devs applying for the same role or are you one of 5 ruby, c, c#, ... devs applying.

And 50 might often even be conservative estimate. Friend of mine told me they had 20+ applications a day for a junior react position which was vacant for a few weeks 😅

Collapse
 
ralphhightower profile image
Ralph Hightower

I started out as a freshman engineering student at the University of South Carolina. Our first freshman engineering class voted to use the department's DEC PDP-8 that we could see, touch, and interact with, instead of the monolithic IBM 370 that was walled off. The first class learned FOCAL, a Dartmouth BASIC clone. In the next class, we learned the PDP-8 assembler language. That provided the base where I could learn the assembly languages of the DEC PDP-11, IBM 360/370, Intel 8080/8085 and Zilog Z80, and the Motorola 680X0 family.

When I switched my major to computer science, FORTRAN was the first language; but the next year, they switched to PL/1; so I learned PL/1 on my own with next year's textbook and driving about 65 miles one-way three times a week during the summer after my day as a member of SC's Department of Highways and Transportation. Class languages: PL/1, FORTRAN, SNOBOL, COBOL. Self taught languages: Algol, Pascal, Visual Basic, APL.

Collapse
 
nikunjbhatt profile image
Nikunj Bhatt

Self-taught can be divided into two groups: who are graduate from a college, who have never joined any college or they have not completed graduation.

I don't know about other countries, but in India, a self-taught programmer without a graduate degree usually can climb up only 2 levels in companies. Here, graduation is considered a minimum requirement for many jobs. So, even if a non-graduate self-taught programmer is bright, he can't become more than a senior developer or team leader. The problem is, the people working below his position will complain upper management that how can a person having lesser education than them can be their leader/manager!

In India, to be at the top position in a company is generally only possible for a self-taught and/or non-graduate person if he owns the company.

Collapse
 
nikunjbhatt profile image
Nikunj Bhatt

Self-taught can be divided into two groups: who are graduate from a college, who have never joined any college or they have not completed graduation.

I don't know about other countries, but in India, a self-taught programmer without a graduate degree usually can climb up only 2 levels in companies. Here, graduation is considered a minimum requirement for many jobs. So, even if a non-graduate self-taught programmer is bright, he can't become more than a senior developer or team leader. The problem is, the people working below his position will complain upper management that how can a person having lesser education than them be their leader/manager!

Getting a top position is generally only possible for a self-taught and/or non-graduate person if he is a founder of a company.

Collapse
 
squidbe profile image
squidbe

Peachtree! I had forgotten all about that software. You win the old-school-software-reference prize of the day. Here's a cookie for you! 🍪
😁

Collapse
 
mrdulin profile image
official_dulin
Collapse
 
knifecentipede profile image
knifecentipede

I'm learning web dev on my own, without a degree or any white collar job experience, and I really needed that advice and encouragement. Thank you very much!

Collapse
 
chivalry21 profile image
Chioma Nwadozie

For young developers like me that just finished learning and looking for place for internship how is it going to be like. Cuz sometimes I feel like have not learned anything.

Collapse
 
lhthang96 profile image
Leo • Edited

Setting goals is very important. After you have specific goals, for example making an authentication system or an e-commerce page, after achieve each goal, you can review what you have learned and what should you do next.

Learning by projects is a good way to boost your learning progress.