Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: No formal software education – is there hope for me?
143 points by polishdude20 on May 3, 2020 | hide | past | favorite | 157 comments
In 2015 at the age of 21 I got a Mechanical Engineering bachelor's degree. Afterwards I worked for two years at a place I didn't like very much and I learned some Python. Then, there was an opening at the school I graduated from for an assistant instructor and I took it. I then went on to teach in courses such as 3d modelling, FEA and transducers and electrical prototyping. I have great fun with it and learn a tonne as well as I get to interact with lots of smart and ambitious students.

So why leave a job like that?

It's mainly the pay but I also sort of fell in love with software this year. I started learning JavaScript last year, learned about databases, servers, React and Linux stuff. Loads of really exciting fun stuff!

So now I don't know how to transition to a software role. Many places I apply to want people who have experience in software development or they want to hire a junior for some super low pay. I can't put the words "software developer" on my resume but I have written a lot of programs for my classes and in hobby projects.

It feels like nobody looks at your GitHub profile though. I've got lots of projects I've done in the last year. But maybe that's just the grind? Just need to apply to enough places?



>Many places I apply to want people who have experience in software development or they want to hire a junior for some super low pay.

That's because you are a junior developer and you're only worth a junior engineer's pay. Sorry if that's harsh, I'm a bit blunt; but it's not a value judgement or a criticism, it's a statement of fact. Go work at a place that pays you a junior engineer's salary and learn the industry skills you need to earn a better salary.

>I've got lots of projects I've done in the last year.

That's really great, and it'll give you a leg up on the other junior programmers who are applying at places. But projects don't confer industry experience with a team, which is what places are looking for. It's a world of difference between "I've done projects on my own and I can complete them," and "I've worked with engineers, product managers, managers, designers, non technical people and together we have shipped software." All of the stuff you're doing is setting you apart from your competition, but realize your competition is for junior roles.

To answer the question:

>Is there hope for me?

Absolutely. You seem smart and driven and capable of communicating. In my 14 years of coding professionally, I've worked with people who studied communication, linguistics, a foreign language, creative writing, IT, electrical engineering, mechanical engineering, electrical engineering, music composition, etc. Some of the best engineers I've worked with had no formal training. It's totally doable. Being able to teach is a really good indicator of at understanding complex issues and being able to communicate them, all valuable skills for a software engineer.

Also, don't get discouraged during the pandemic. A lot of places are buckling down and if they do hire, it'll be an experienced person who normally wouldn't be on the market but is because of the virus. It's gonna be tough for junior engineers for a while until the economy spins back up.


> "Also, don't get discouraged during the pandemic. A lot of places are buckling down and if they do hire, it'll be an experienced person who normally wouldn't be on the market but is because of the virus. It's gonna be tough for junior engineers for a while until the economy spins back up."

Also, junior engineer require a bit more guidance to get up to speed, and that's harder to do with everybody working from home. On the other hand, your experience working on private projects might be a bit more relevant. What would be more relevant is open source projects where you do need to coordinate with other open source developers online. That's suddenly much closer to the standard work experience now.


> On the other hand, your experience working on private projects might be a bit more relevant.

I think this is a bit closer to OP (although I strongly agree with your first sentence in general), because they are clearly putting in a good deal of work themselves.

> open source

Couldn't agree more. The best thing to do right now would be to outright abandon those personal projects and start contributing. OSS is not only a portfolio of your personal skills, but also your interpersonal skills. Personal projects are only the former. (Maintainers are also typically great mentors)

Edit: this is a great place to get started: https://up-for-grabs.net/


This answer resonates with me a lot. I was in a what I consider to be a similar situation as the OP three years ago. Graduated with a fine arts degree, made a switch in developing software skills, took a few quarters of community college classes. Had over 200 side projects when I started applying around in 2017. I did a year at a part-time internship for almost no pay. In 2018, I started applying again with much more responses, and I finally landed a full-time software engineering role with my current company. Been really enjoying working here.

Open to chatting, email me at "~ (at) mtso (dot) io".


I feel that this may present overly negative outlook. Sure, you will likely take a junior position but the I think the variance between junior and senior within firms will be less than the variance between firms. That is, if you think offers are low this may depend a lot more on the location/size/type of firms making offers than on the position they feel you qualify for.

It may be worthwhile to consider different sorts of companies: smaller companies may not be able to face the cost of getting you into the position where they feel are profitable and so may charge you a lower salary top cover for it. Larger companies may feel they can more easily cover the cost of training and have you profitable sooner and so they may be better able to look for raw potential, which hopefully you can show. Some larger companies may try to exploit you for cheap/inexperienced/naive labour.

Possibly there is an advantage to being able mix in your mecheng knowledge, possibly not.

The current pandemic is a large confounding factor in any difficulties in your job search. Apart from many companies struggling, others may not have set up systems for hiring while they are wfh, and there is surely more supply of labour than demand compared to usual because of this.

I don’t really know if this advice is any help. I don’t think I’m particularly representative (though I wonder if anyone is). I would take everything here with caution if I were you (this sentence of advice is something which I more strongly feel is good)


Also consider getting your masters degree in CS. If your school offers it you will probably get super low tuition while working there (sounded like outside the us, must be even cheaper elsewhere). Then you will be very employable and also count for two categories in some companies that want a programmer with other skills, just like mine does.


How can you get a master's in CS before getting a bachelor's in CS? I've got a bachelor's in mechanical but I doubt id be able to get a master's in CS with just that.


I think it depends on the educational system you have access to. I went to university in England, and the bachelor's degrees are 3 years long, and completely domain focused e.g you just learn computer science. So the MS degrees in that country in that country expects that material as prior knowledge.

In the US, bachelor's degrees are four years, and also include "general education" requirements. So in England, they would often expect you to do a 2nd bachelor's before doing a masters degree, whereas in the US, it would be a waste of time for you to do a second bachelor's, so instead they tend to give you "conditional" admission to the masters, but expect you to complete undergraduate (bachelor's level) CS courses before proceeding to the MS level courses. The bachelor's level courses don't "count" towards your MS, but you still have to complete them before you can start or complete the MS courses.

It sounds like you do have the opportunity to go work as a software engineer, but the pay seems too low to you. Instead, think of it like a university where they pay you :) As another person commented, the real value is the industry experience that you get, the (low) pay is just a bonus, so take it unless you actually can't survive on that for a year or so.

Even 1 year of low paid industry experience will be more valuable to you than a BS + MS in computer science in the short term. In the long-term, the skills you learn in an CS degree can be useful, but they get more useful the further along you go in your career, so better to learn them part-time as you proceed in your career.


In general, in the US if you don't have a BS, you won't be accepted to any MS program.


There's a backdoor. You get admitted into the MS for Mechanical Engineering, and then internally transfer to the CS department. Requirements are fairly low if you go that route.


Still have to have a BS. And generally transfers between MS programs aren't allowed.


The submitter has a BS, and I saw transfers between MS all the time. There's still a process and you still need to get admission, but it's much less stringent.


Sounds risky, apply for a MS that you don’t want them do a semester trying to transfer to another?


any Bachelor's degree is the requirement, not specifically a Bachelor of Science


Don't worry about it. I have a bachelor's in Physics, worked a few years as an engineer. I'm currently in a CS PhD. A lot of people in my department don't have CS undergrands. Several other physicists and mathematicians (lots of us work in HPC). One guy even had a bachelor's in business. I'd also say that work experience goes a long way. I kinda wished I applied to more schools, but I am really happy with where I'm at (so I got lucky). You can jump ship going into graduate school as long as you show the basic competency. I'll even say that there are a lot of people with bachelor's in CS that are shitty programmers (you'll often hear HN complain about how a degree doesn't mean you know how to program well).

So don't worry, take the shot.


The US and the rest of the Anglophone countries aren’t like Germany or other European countries where it’s impossible to difficult to do a Master’s unless you have a Bachelor’s in (almost) the same discipline. You might have to have some specific courses to get into some Master’s but what your degree was technically in isn’t that important. If you want to do GA Tech’s Online Master in CS you’ll generally need to have Algorithms and Data Structures but it’s not a hard requirement. If you have a Math or Physics degree or you’ve worked as a software engineer doing complex technical work the lack of a cognate Bachelor’s will not disqualify you. If you’ve got a completely irrelevant Bachelor’s like English or Sociology and no relevant work experience you’re probably going to have to do some CS courses as a post bac to be admitted.


I often see masters in CS as a way that people from other backgrounds transition to CS. I got a bachelors in EE and then a masters in CS. Don’t worry about the piece of paper though, focus on what topics you are missing the theoretical foundations in and take classes that fill in those gaps.


It can be done. I have done it twice.

My bachelors is in electrical engineering. I got into a part-time masters course in computer engineering. Due to work pressures and travel I dropped out. Years later with several years of diverse work experience, I got into a PhD software engineering program, successfully completed that and graduated. Both experiences at two of Australia's top universities.

I believe that my key to success was writing strong proposals in both cases and handling the interviews well. And in both cases I got adjunct teaching work as well.

In your case you appear to have a strong portfolio of work and teaching experience to support any proposal you may present. Good Luck.


There’s plenty of programs where you don’t need a BS, you need the requirements.


I got a MSc in Computer Science from Bristol University (UK), having previously done a BA in History.

It's deliberately set up as a conversion course. You study an extra semester and there's a lot of work.


You can do it but you need to talk with the head of that program to see what is involved. It might requires to take a few extra courses to fill in the gap.


I have a bachelors in finance and got into U Mich MS in CS. It's certainly doable.


I agree more or less. I have only 7 or so years in the industry but everything I learned is self taught. You will be fine. You just have to put in the time to be a grunt. Junior dev jobs last but a second and once you have the production level (be sure to network your butt off at these early roles and alway be interviewing to get to your next more substantial role) you will be fine.

You have a solid STEM background, a passion for development (something that I’ve had come and go — it’s easy to get discouraged: I place too much value in what others speak of me or about the quality of my code — at least for me but that’s a personality trait that I’m working on you might not have the same issues as I do), and a growing portfolio of work. The only thing you need now is patience and time spent as a junior dev but with your set off skills I’m sure you’ll work your way up rather quickly.

Good luck!!


-- "I've done projects on my own and I can complete them," and "I've worked with engineers, product managers, managers, designers, non technical people and together we have shipped software."

You've managed to describe everything awful about programming in one sentence. You are the reason he can't get a job, only you, you god awful human.


I have about 10 years experience across different big tech companies. Kudos to you for a well written, realistic response.


Yeah I'm sort of hesitant to enter a new career during this pandemic since a lot of companies are going under. I'd rather wait it out at my current job while I keep working on side coding projects.


That’s totally reasonable but just be aware side projects have severe diminishing returns after awhile. Unless you are shipping complex software as part of a team it is not preparing you more. You will still be junior. The exception being if you invent NPM or some similarly massive FOSS contribution. But if you could do that you wouldn’t be asking if there is hope for you. The sooner you write code with other professionals for money, even part time, the better off you will be when you make the switch. Personally I haven’t done side projects in years and it has come up zero times in startup, consulting, and FAANG interviews. Once you have experience pretty much nobody cares and until you have experience no matter what you do, you will still be junior. Writing code and building things is the easy/fun part of being a developer but its the other stuff that matters.

Also I came from a non-traditional background and have lead teams on quarter billion dollar projects. Once you prove you can ship nobody who matters remotely cares about other, preliminary or proxy credentials.


Yeah that's why I feel like I may be at the point of applying now. I'm thinking of maybe getting a few leetcode problems under my belt for a few weeks just in case that comes up. But yeah, the pandemic being what it is, if I'm applying for a job I want to make sure that 2 months in I don't get let go cause the industry isn't doing well anymore.


I'd suggest jumping in, if you have some financial buffer.

The reason is all your future peers are getting paid to spend 25+ hours a week writing software. You need to get on that same plan.


Maybe at large companies, but startups in SF will hire you as mid-level if you have some good projects and interview well.


You will then be expected to work at thst mid level and evaluated against actual mid level engineers.


Do tell, what is an "actual mid level engineer"?


These are actually pretty well defined at the lower to mid levels. This is a ball-park.

- IC3: Executes well on what is assigned to them by their manager. Requires direction. Does only what is told. Frequently an up-or-out role. "New Grad"

- IC4: Identifies proactively what needs to be done and works with their manager to justify and schedule it. Beginning to show signs of independence, but requires managerial guidance. Frequently an up-or-out role. "Junior Engineer"

- IC5: Identifies proactively what the team needs, and leads a cross-functional effort involving 2-3 individual contributors to complete it or solves the hard problems. Effectively autonomous, low blast radius. Terminal role. "Engineer."

- IC6: Identifies proactively what the nearby organization needs beyond just the specific team, and leads a cross-functional effort involving 4-6 individual contributors, PM, marketing, design, etc, to solve those needs -- and solves the hardest problems. Effectively autonomous, high blast radius. Terminal, well-paid role. "Staff Engineer."

The poster sounds like an IC3, and is likely to be paid like an IC3 until they can demonstrate their chops.

At a start-up especially one without an engineering ladder, you start as an IC5. You will need to perform like one, as there's not a whole lot of room for folks who don't.

FWIW, these numberings vary from company to company but expectations are roughly in line industry wide. Even if your company doesn't have a ladder, you should act like it does because when you company gets one, you wanna be up top.


Someone that does more than just the work assigned to them by someone else. It's largely more about how much influence you can be expected to have than a hard delineation in technical competence.


Man, as true as that might be, the delivery could be a lot more considerate. I was going to write a comment to the effect that, yeah, without the relevant experience, you will generally have to start out at a more "entry-level" position, and work up to a more senior position over time, after you've grown and learned more etc.


I think that was very considerate. Sometimes the best form of communication is to the point. This is the best response you could give to this question. And for OP to succeed long term, this sort of communication is precisely what they can expect from the best mentors out there - absolutely correct, honest and terse.

Between engineers not everything needs to be wrapped in ‘business standard’. If you communicate like this to non-technical stakeholders it will make you come out like an asshole. But that’s a different venue, then.


The idea that technical aptitude is somehow inversely correlated with how much consideration a person should receive is a terrible concept that is constantly used to validate toxic behaviour.

I understand the rationale. We don't need the "filler" or "extra padding", or perhaps the "hand-holding". The fact is, that's all irrelevant. You can easily communicate the exact same information and not be cold and careless about it -- as I demonstrated in my prior comment which I casually typed up in like 10 seconds while getting ready to go out.

When you communicate with people, it affects them in some way or another. As a result, how you communicate makes a big difference, whether on the job or elsewhere. Some people may be more sensitive about that kind of stuff than others. So you "assume the worst", especially when someone is coming to you for help, and you treat them kindly and with consideration.

Great mentors never say things like "your code is shit", they say "this will probably run slower than it could - let's get on a call and discuss this". I understand that communicating like this as a standard doesn't come naturally to a lot of people, but it's not "business standard" or some kind of special ask because of executives or MBA guys. Further, it goes a damn long way with people, pretty much anywhere in life.


One should not take savage pleasure in pointing out others errors to them. This is the pathology that I think we find disagreeable.

"The idea that technical aptitude is somehow inversely correlated with how much consideration a person should receive is a terrible"

Let me rephraze this. A technical person should be able to receieve constructive feedback.

Think of a great editor for a book. Usually a writer cherishes editorial feedback for a book.

The situation is that both parties want the best possible outcome. It's not about egos. It's purely about ding and sich - the technical output.

I didn't mean one should cherish abusive behaviour.

But one should cherish candid constructive feedback.

The candid feedback should come with two guarantees: 1. It's honest and correct 2. It is given with the implicit will to make things better. 3. It's intent is not to abuse the other party in any way. 4. The giver is willing to support the other party until they reach a mutually satisfactory result.

It's not okay to use words to hurt. It is okay to use words to teach. You should not be afraid of giving candid feedback.


> Many places I apply to want people who have experience in software development or they want to hire a junior for some super low pay. I can't put the words "software developer" on my resume but I have written a lot of programs for my classes and in hobby projects.

Truth of the matter is that you're going to have to do the junior role for a year or two. However much you think you've learnt, you're going to have holes in your knowledge if you've not done it professionally. For example around reliability and handling edge cases, making things work when the underlying platform is buggy, etc. Good news is, if you're good at it you'll progress up the ladder quickly.

I'm self-taught, and I'm pretty good at what I do: at my first job I was already teaching my boss things he didn't know (I'd been programming for about 5 years as a hobby at that point). BUT I also made a ton of stupid mistakes. 3 years of professional experience on (broken up over a few different jobs, with breaks and Maths & Philosophy degree in between), and I'm leading a small team. But I definitely needed particularly the first year to fill in the gaps in my knowledge before I was ready for a senior role.


> Many places I apply to want people who have experience in software development

> I can't put the words "software developer" on my resume

> I have written a lot of programs for my classes and in hobby projects.

It sounds like you might be selling yourself short. You might not have experience as a professional software developer, but you have experience developing software nonetheless.

Don't forget that your resume is an advertisement. You should absolutely highlight the experience and knowledge that is relevant to the position you want. People spend very little time looking at resumes, if your knowledge of databases/servers/react/linux/python isn't immediately clear in the first 6 seconds of reading, your resume will likely be discarded.


MechE here as well (B.S and M.Sc). I don't think it's as bleak as you think it is. I would argue a MechE degree is one of the most versatile engineering degree out there. I have plenty of friends who ended up not even touching anything MechE related out of college. As for me, I'm a couple years older than you. I did apply to a couple positions at FAANGs with the hope to transition my career (I've been in hardware design for most of my career). I ended up getting a couple interviews for a SWE/ML researcher. But funnily enough I ended up taking another hardware role before my interview rounds ended because I learned I wanted to do a hardware+software role (60/40 maybe?). End of the day is to work on projects and upload them to some sort of a git repo (GitHub or gitlab). Also prepare to leetcode/CCTI like it's your job. I had to for about three months before I felt like I was ready for interviews.


I'll start by saying that I've worked with many self taught programmers and they were all excellent (perhaps there was a selection bias?). They also always had humorous holes in their knowledge (which they were always quick to rectify).

So it's totally doable.

> Many places I apply to want people who have experience in software development or they want to hire a junior for some super low pay

The truth of it is that you'll probably have to take a junior job first. Even with a great GitHub profile, there is no easy way to know if you can actually do it, since there is no way to really know how much of your Github profile you actually created.

The good news is that if you really are good, you'll get promoted quickly (or be able to quickly move to a more senior role elsewhere). But sadly, you'll probably have to suffer at least a year in a junior role to "prove yourself".


> I'll start by saying that I've worked with many self taught programmers and they were all excellent (perhaps there was a selection bias?). They also always had humorous holes in their knowledge (which they were always quick to rectify).

My guess here is that the selection bias arises because self-taught programmers that get to the point of applying for professional SWE roles have probably put significant amounts of work into learning how to program. I can actually go one better with this though: one of the better junior engineers I've worked with didn't even have a high school diploma.

Full disclosure: I am also a mostly self-taught programmer, so I may be biased here, as well. ;)


> They also always had humorous holes in their knowledge (which they were always quick to rectify).

Can you elaborate on some of these areas? Were there common patterns you have seen? Asking as a mostly self-taught engineer always looking to uncover unknown unknowns in my knowledge.


Some of mine humorous holes that I learned after getting a job:

- I didn't know any Git command

- I was very uncomfortable working on a terminal actually (I remembering googling what a "terminal" was at the beginning of my studies, by the time I got my first job, I was only capable of following step-by-step tutorials for anything CLI related)

- I had no idea what "cURL" meant, a senior dev told me to send him the "cURL", saying that just had to "copy as cURL in the devtools" and I had no idea what to do it. When he got to my desk I was googling it. He was nice enough to have a discreet smile and teach what I had to do.

- Btw, I was completely unaware what I could do with Chrome devtools too. About as uncomfortable as with CLI

These are just the ones that I actually noticed and remember now, for sure there are others that I never noticed or forgot.


Funnily enough those sound exactly like the holes in knowledge in some formally educated software engineers I know. Unis generally teach you computer science concepts and algorithms, and not tools like Git, cURL, and especially not Chrome devtools. While using they may introduce students to command-line interfaces you're much more likely to become comfortable with it through personal projects than academic lessons.


Hm unless you weren't doing web dev before. Those seem like pretty normal things you would encounter daily for any moderately complex project.

I was expecting more HN like answer like the big O notation, data structures and design, algorithms related stuff since those are the holes you should find in someone without academic background as most web tutorials never go into that and neither the bootcamp courses though I have seen a few that do.

Something like, the guy didn't even know his code was O(n^2) or couldn't even implement dijkstra.

Your experience speaks more of academic settings than bootcamps. Just an observation.


My experience is as self-taught. I believe these are different holes from bootcamp or academy.

It might be possible that it is a sum of both holes even


I wouldn't expect a fresh CS grad to know any of those things.

I personally wouldn't have immediately gotten "send me the cURL" if that was said to me personally, though I know the menu option in question. (It would help if it was a more distinctive word.)

Don't overestimate the average fresh CS grad.


There was never a pattern but it was usually something that you would learn in an upper division algorithms course that doesn't come up often in practical applications, like Big O notation or Bloom Filters or Depth First Search.

Oftentimes they would know the topic intrinsically (like a search algorithm) but not know it's name or the typical use cases.

But like I said, usually by the next day they would be an expert.


You think not knowing about Bloom Filters is a 'humorous gap in knowledge'? Are you saying you worked some place that expected people to know about them and also hired self-taught engineers? I've worked at some companies people here think of as 'elite' and I can't even begin to imagine how this might occur.

In fact, it smells to me a lot like the mentality of certain people at said companies who liked hazing interviewees by testing esoteric knowledge (e.g. twisted DP problems, reservoir sampling) instead of talent and potential. A part of me would have loved to see those companies implement a policy of using those interview questions on other employees, like a kind of 'random drug testing'. I imagine many would have been humbled rather quickly by such a process.


The bloom filter one wasn't really one of the humorous ones. More like not knowing the name "Big O notation" despite understanding the concept. It was humorous that in all that time they never heard the term "Big O" even when using the concepts.


^ as a self-taught dev, this is accurate. I still don't really know Big-O notation or Bloom Filters. But it's never come up as an issue.


I've found that Big-O comes up any time you're wracking your brain trying to figure out why something is taking so long, and then you realize you've created something n squared with some nested loops.

And bloom filters are super cool, you should read up on them. You'll find an interesting set of problems that can be solved with them. The key to remember is that if you ask a bloom filter if something is in the set, and it says no, you are guaranteed that the answer is correct, and if it says yes, it may be there, but it's super fast at giving a no answer.

So if you expect that the answer will be no most of the time, a bloom filter may be a good data structure.

Here is one place it comes up: on reddit (or HN) when you load a page it shows you all the stuff you've already voted on. There are usually many things you could have voted on, and chances are you haven't voted on a lot of them. So when you ask "did user X vote on item Y", the answer is usually no. Storing the votes in Cassandra, which uses a bloom filter, makes answering that query super fast.


Of course, it's important to note that bloom filters by themselves can give false positives.


Right, I said that. I said that it may return yes when it isn't in the set. But it never gives a false negative, which is key.


For junior engineers, it's mostly contextual. How to act on a team. How to communicate with engineers and non engineers alike. What your personal coding style is. What you value as an engineer. How to take and give criticism. How to use common tools like git, a debugger, browser dev tools, etc.

A big one: that it's usually a really good idea to say, "I don't know what that means." Being honest when you don't know what someone is talking about is probably the single biggest 'hack' a junior engineer can do to level up faster (provided they have a supportive team). A lot of junior engineers don't know what someone is telling them and end up burning a lot of time googling what could be taught in a few seconds. Any decent senior engineer will understand that you don't know very much and you're going to need to be taught. Exceptional engineers will be able to read you and see that you're confused and help you, but you can't count on having one of those on your team, so you'll have to let them know when you don't understand things.

For more experienced engineers without formal training, by and large the biggest way I've seen they can level up is learning about data structures and algorithms and how the two concepts play with one another. We mostly deal with arrays and hashes in our day to day, but understanding graphs, stacks, queues, linked lists and being aware of more exotic but usable data structures like tries and bloom filters (for example) is a great way to round out your coding skills. Understanding the read and write time of certain data structures and the algorithms that go with them and how you can sometimes trade space for runtime efficiency (e.g. copy your array into a hash/dict/object that is keyed on what you're checking on for fast look ups in a loop) or vice versa will help you write better, more performant code with intent.

Another big sleeper skill you can fill in is learning programming language design. It was a really tedious subject in school that I hated, but studying programming languages and how you take a C expression and turn it into an instruction the computer could understand introduced me to a ton of concepts. I don't necessarily directly use them regularly, but they inform my development style - tokenizing, grammars, context, tail recursion, scoping, etc. I'm really glad I spent the time to learn that subject, even though it was really hard at the time.

The other thing I had the benefit of was a formal math education. I don't necessarily use calculus every day, but understanding the idea of a derivative or an integral is very useful in software engineering. A graph of metrics for instance - taking the derivative of a graph that changes frequently will tell you the rate of change - understanding how this works and why it's important helps you make smart decisions, and also gives you a seat at the table when you get into the upper levels of engineering.


Regarding working on a team, communication, handling criticism, and admitting ignorance, I think most of those are really properties of junior employees, rather than junior engineers, specifically. I know I had a few issues in my first couple years, but I worked it out. I'm definitely a much more effective team member now than when I first started.

As math, I also have a pure math background, with an undergrad degree and some graduate study. Other than having that certain rigor of thought, and a problem solving mentality, I haven't really found a lot of use for it specifically in my work. For example, I probably know a lot more about graphs than any of my colleagues, because I took several graduate level courses in graph theory, but, in actual code, not much of that matters as long as you can recognize when a problem is a graph problem and find the correct algorithm (usually some variant of BFS or DFS). Every so often, I know some random fact that helps with a problem that comes up at work due to that math background, but it's not frequent. The last one I remember is that we needed a good way to compute the area of an arbitrary polygon.

Other than that, I can't think of much that I've used in work that was directly applicable. I wouldn't even say the derivative/integral concept is specific to a math background, since a lot of STEM majors require at least a 2 semester calc sequence. CS typically requires linear algebra. Stuff beyond that doesn't seem to get a lot of use, unless you're in the exact right specific field (e.g. writing graphics or other math-heavy software) from what I've seen.


Another poster said “well you are a junior developer” and while that’s true there’s a major “but...” in your favor.

It’s true you are junior in programming skills as you acknowledge. But you also talk about other experience: mech e, modeling, electronics, and teaching.

You may enjoy a job that values those other skills in addition to programming. E.g. a robotics company; car startup; a company like Coursera or Udemy or Kahn academy which are educationally oriented (the three have very different models) — even LinkedIn’s Linda division.

In these places you can probably add value beyond what a mere junior developer could, and after being at a place like that for a while you could go anywhere.

Good luck.


For an industry where talent is supposedly in such high demand, it seems surprisingly hard for newcomers to break in that don't follow the traditional college->internship->junior hire path.

I think there are a number of factors that cause this:

1) Even juniors get paid quite a bit compared to many other professions. 2) Software engineers have an uncanny ability to be worse than useless. A bad software engineer means you need several other software engineers to clean up their mistakes. 3) Given the above points, generally speaking, the companies that actually can afford to take a chance on someone without a proven track record are also the ones that don't need to. FAANG companies can attract top talent using their brand and deep pockets.

I think 2) is somewhat misguided, though. The ones making terrible, costly decisions probably aren't junior programmers anyway.

Jeff Atwood has a really good post that I think is relevant: https://blog.codinghorror.com/nobody-hates-software-more-tha...

Re: your post in particular:

> I can't put the words "software developer" on my resume but I have written a lot of programs for my classes and in hobby projects.

This can certainly go on your resume, just don't misrepresent it. A common pattern I've seen is for folks to have a "Projects" section on their resume that mostly takes the place of what they would list as their relevant employment. If people don't look at your github, put your github where they do look.


> A bad software engineer means you need several other software engineers to clean up their mistakes.

This also sounds like a problem with incompetent management. If an engineer can spend so much time building bad code that it takes multiple engineers to clean it up, it means that there was a long history of ineffective code reviews and inadequate training (e.g., nobody bothered to give the engineer an overview of the architecture of the system they were hired to work on).

And if the engineer is truly incompetent, it's also management's failure that the employee wasn't let go before they could create that amount of damage. Not to mention that management's interview process wasn't good enough to detect glaring incompetence.

If management takes their jobs seriously, the risks of a bad hiring decision can be minimized to the point where it's not that risky to hire someone without a CS degree or inside connections.


>And if the engineer is truly incompetent, it's also management's failure that the employee wasn't let go before they could create that amount of damage.

In some places it's not that easy to get rid of people. I know there's someone at my current workplace who I secretly wish was let go, but I know that the only realistic option I have is find a new job myself.


Yes, in a well run organization it should be difficult for any one person to cause too much damage. Thats one of the benefits of bureaucracy! But at many startups, especially in the early stages, developers have a lot of autonomy (and rightly so). In a small environment like that, you need folks you can trust, and a mis-hire could be devastating.


> For an industry where talent is supposedly in such high demand, it seems surprisingly hard for newcomers to break in that don't follow the traditional college->internship->junior hire path.

Is that really true though. It seems to be one of the only, if not the only, high pay fields someone who never went to / completed school can enter.


I agree that it is easier than most industries, but I still think the degree to which it is easier does not accurately reflect the alleged demand for talent.


What's worked for me is what I retrospectively have come to call "Trojan Horsing", whereby you use interdisciplinary fields to move diagonally through one or more institutions. Being lucky doesn't hurt, either.

[incoming potentially helpful, very self-indulgent summary of what that looked like for me]

I was one of those teenagers who always wanted to be a web dev but ended up majoring in biochem because I felt that, while both were interesting to me, self-teaching web dev was working for me and it's not easy to get your hands on centrifuges.

I made sure that my masters (experimental medicine) would encorporate wet lab work, as well as a big machine learning part (since that got me closer to code) and wound-up falling in love. After I submitted my thesis, I applied on a lark as an ML dev after I saw an ad on HN for an oppening at large-ish software company. This was a scary time and I was sure I wouldn't get it. The hiring manager had a PhD in CS, it was a Scala job and I never wrote a line of it, and I had a hard biology background. But I aced the take-home technical they gave me and snagged the job.

I'm now doing my PhD in Electrical Engineering to get that formal background in ML and could promise you I never knew exactly how I would make this diagonal move, but always felt it was likely.

[how I see that drawn out anecdote to apply to your case]

You have a background in 3D modelling and FEA, and I would suspect (though may be wrong) that there are plenty of positions that are looking for tools development for e.g. Engineering or Animation (the Autodesks of the world). Do you think that's something you'd be interested in/can learn? You seem to be a self-starter, which is key in this sort of thing.

Include in your search positions that don't have developer in the word but are technical roles in e.g. 3D modelling that would require you or benefit from you coding now and then.

Finally, the GitHub stuff is largely ignored from my understanding. It's great to give back to the community, you can meet great people (some of them who hire people), but short of that it isn't really an application boost.

Best of luck!


Why don't you look for a software role that would put your ME training and experience to some use ? There are tons of web developers but we live in a physical world and there's certainly a need for better software in virtually all fields. I think even 3D modelling experience should open a lot of doors for you, it just probably won't be web dev roles.


I came from a completely unrelated background in massage therapy and taught myself to code in my spare time. I felt a lot of what you're feeling.

You can absolutely get a job with Software Developer on your resume, but the first one is the hardest. I ended applying for 3-5 jobs per day until I got hired. I applied for the job that hired me over a week in. don't be discouraged, and remember it's a numbers game for sure


This. I have a BS in Comp Sci but have several friends who got in after finishing bootcamps and this is what I've heard from them as well. Just keep applying everywhere and someone will take a shot at you. It gets a heck of a lot easier to move around once you get your foot in the door.


Good job. How many jobs did you end up applying to before landing that first offer?


> Is there hope for me?

Yes, but you might have to adjust your expectations.

It is not quite clear from your question whether your gripe is with having to apply for a junior role or that the pay is bad?

If it is the former: Why do you expect to enter a field above an entry level? From your self-description it does sound like you are in fact at junior/entry level (not meant negatively). I would expect you to grow out of that level faster since you do have prior working experience in a different field and maybe already in the interview process I'd put you higher. But I'm not going to take your word or cv for it.

If it's about salary. Depending on the area, I don't think there is much if any shortage of developers looking for their first jobs unlike at the more experienced levels. It can be that you face quite the competition for the jobs you are applying, many of which will look better on paper(especially from the perspective of automated resume scanners). So I think the options are:

- Keep going with the grind, finding the first job is probably the hardest. It gets a lot easier after that.

- Consider just taking any job to get the foot into the door, even if it is not sexy and not well paid. Having say 6 months industry experience as a developer can already easily outweigh all your github projects.

- Try to find a job, where your specific background gives you an edge over others. For example instead of going straight into a developer job, you could find a role as a mechanical engineer that can code and from there slowly transition into software engineer. Or a developer job in a company that deals with mechanical engineering one way or another. Domain knowledge can be a huge bump in hiring considerations.

Lastly regarding github profile. What recruiters will do varies a lot. Some really like looking at them, others never do it out of principle. Personally, I never look at profiles, I only look at specific projects if they are mentioned in the cv / cover letter with a description of what it is and what the candidates contributions are.


I think there's an under-noticed property here: you have an engineering degree - an ME degree.

Hiring boards will often be concerned that the person applying doesn't have an engineering level degree, and may not have the intellectual horsepower to do the work. (I'm not defending this - I'm saying it is a thing).

You have an ME degree - which, say what you will, is, intellectually speaking, a lateral move, as compared to software engineering. They are comparably hard.

This is great! You won't get dinged nearly as hard, which will make your transition vastly easier.

You will have more opportunities than someone without an engineering degree, so that's a bright spot on your resume.


As a hiring manager, this is completely true. I've interviewed a lot of mechanical engineering / physics graduates as well as humanities & other non-technical people who have gone through a boot camp. I am a self-taught developer with a humanities background, so I absolutely support people without technical backgrounds, but the reality is that rigorous math and science backgrounds are a good signal.

That said, the other comments about having to deal with a year or two in a junior dev role are also correct. No way am I recommending someone for a senior role who hasn't had hands-on experience building and deploying software professionally. I will happily teach that person and argue for them to be promoted quickly once they prove themselves, but I can't just gamble and fill a role with someone who looks like they might have an aptitude for it.


I'd look maybe in an area where your Mechanical Engineering degree is a big plus, that is areas where familiarity with math and linear algebra is a must. Computer vision, machine learning and software for industrial robots come to mind. Obviously you would start out in junior roles there as well, but you will be able to grow and work on interesting stuff. Databases, servers, React and Linux may sound like fun now (it was fun for me about 20 years ago, replace Linux/React with Java/Swing though :-)), but that stuff gets pretty boring pretty quick.


Combining your existing competences is definitely the way to go. Like someone posted on HN a while ago (I'm heavily paraphrasing): Being a developer is boring, but being a lawyer/teacher/engineer that knows how to code gives you a superpower.

There's room to improve things by coding in every field, so don't get locked in the coding part. Think about what you know and how you can use that to write code that solves real life problems.

If you're having a hard time finding jobs, maybe try a hobby project that is somehow related to what you've done in the past. Having "domain knowledge" is crucial for writing software that is actually useful. Like Linus Torvalds said once, "without users, your program is pointless".


Apply to lots of places, be honest about your experience. You might have to take less money for a year or two but you are still young. The first job is by far the hardest but the challenge of interviews never goes away because as you get more senior people expect more from you in the interview.

Do you just have code in Github or do you have an app running somewhere that people can actually interact with as well as the code for it on Github? If you don't have something live, push something live. Use Heroku or some other simple hosting solution if you want to get it live quickly.

You can also try to get involved with an existing substantial open source project. Try fixing a bug or adding a feature. Get advice from the project maintainers and work from there. That's as close as you can get to work experience of collaborating with a team. Get something merged to an OS project. And then when you interview you can talk about that experience so the company knows you can work with others to get production code shipped. You might have to log into IRC or Discord or send a bunch of emails to get started with the kind of direct communication necessary to do this. But learning how to take that kind of initiative is valuable in a company setting as well. If you do good work those open source maintainers could even become leads or references to help you find a first dev job.

Lots of people change careers into software development with less technical backgrounds than yours (I've met former actors, artists, lit majors...). You have much more than hope, if you're persistent you will find the job you're looking for, it just takes some hustle.


I used to be on the side of no college, but as someone who almost dropped out and decided to finish I'll give you the following advice:

I have many friends who have arguably more successful careers in tech, they did not finish college. However, they are also incredibly talented and driven people (more so than me in many cases). If you don't finish school or don't have formal education know that there will always be certain forms of "high risk" or "critical" work that no amount of effort will qualify you for in the eyes of the people hiring you. Outside of that, the world is your oyster. But know that the lack of a degree will put you in the back-seat for raises, new jobs, and always be used as leverage AGAINST you. The reason I finished college was I knew I wouldn't have the drive / energy to always go up against this and knew that I'd never be okay knowing that something like that could've closed an unknowingly large number of doors on my career or startup ideas. It sucks but it's reality.

Companies like Apple and Google saying they "don't care about education" really just means they're excited to have another reason to pay employees less.


This is not universally true, as someone who didn't finish college and is at a FAANG. I can't even remember off the top of my head which of others of my colleagues didn't finish college, because it simply doesn't matter. There's more than enough evidence from the quality of work that people do to produce a rough ranking for who might get tapped for critical/high risk work; who went to college simply doesn't play into it in the least.

That said, if you didn't go to or finish college, it's entirely incumbent upon you to fill the holes that you likely have in your knowledge. If you managed to get hired despite some glaring deficiencies in certain areas, then you're going to be in the bucket of people who get picked last for critical projects. That has nothing to do with your degree and everything to do with your skills, though.


> Companies like Apple and Google saying they "don't care about education" really just means they're excited to have another reason to pay employees less.

Interestingly, not having a college education will often get you passed over there.


For a junior position, probably. If you have 20 years of industry experience, but no degree, Apple, in my experience at least, couldn't care less. So long as you can do the work. I have several friends without degrees who work there. But they also didn't start there.


Yes, of course. Trying to enter the industry without a software engineering degree is fairly difficult. If you have work experience, it gets much easier, and most people don't really care about your degree at that point.


100% agree with this. However, a few years in college could for someone without a degree translate into 5-8yrs of underpaid drudge work.

Pick your poison. Pick your pain.


If you think that "trait" alone is resulting in a "pass" in a technical interview you either have a juvenile view of the industry or have just maybe been an intern?


No, I'm saying that even trying to get to point where someone will interview you is made substantially more difficult by not having a college degree.


You've misread. "Passed over" means rejected. You were reading it as "... will get you passed, over there."


Ahhh, in that case I completely agree!

Thanks for correcting me :)


My experience suggests that it is entirely possible. When I started college the plan was to major in Aerospace Engineering, with a minor in Psychology. (My university required that you do a minor in a field completely different from your major.) When I got to my junior year I discovered that I really didn't like Engineering that much, so I switched to a major in Psychology with a minor in Computer Science.

When I graduated I got a job writing computer programs for the Psychology professor I'd done my senior thesis with. After a couple of years I got a job as a software engineer with a defense contractor, and the rest of my career was spent working for defense contractors.

So it is possible to get a job as a computer programmer without a computer science degree. I would think that there would be a lot of software involved in Mechanical Engineering applications, and your degree and software experience would make you a good fit for those kinds of positions.

On a side note: I've often thought my background in Psychology was a big help in in dealing with my co-workers.


The formal education does not matter. Your actual experience in commercial software development does (i.e., working on and getting paid on projects developing software in a team with all that comes with it). Code written for class, or as a small hobby project carries a little weight but not enough to bump you up the ranks. It is just not the same as being a part of a team working for a common goal.

In well over 20 years I have never once had my education (or complete lack of) be an issue. I don't even think I was once asked about it. So don't worry about that. I suggest to up your game and build something with commercial potential. Go through the whole life cycle. Release it. Pick a domain you know (education? 3d modelling? Electrical prototyping etc.). It's possible you might luck out during the process and land a job you like (or decide to take a low paying junior role), but if you don't, by the end of it you'll have a complete project notch on your proverbial belt, and your chances will improve.


Yeah about releasing something I recently wrote and released an online game that gets around 2000 plays a week. It's probably the closest I've come to making something "commercial"


Give your self more credit then. Building and completing ANY game and having it played that many times a week is a very handsome achievement indeed. Link up and share :)


Oh I've already shared it here on HN but here it is: http:those.codes Enjoy :)


Dang, and I call myself a budding developer. Forgot how to do URLs properly...

Http://those.codes There :)


I've spent a part of my life interviewing candidates for a former employer of mine. It was big tech, so we got our fair share of candidates in. I understand that you feel like you are not the most qualified candidate but I think you are selling yourself short. My advice is to find maybe ~10 companies you would like to work for. Look them up, read info about them and find openings you like. Tailor your resume for each position/company and send it. Empirically, most candidates fail getting an interview because they send in a resume that's either huge or highlights parts I'm not interested in. Highlighting experience basically means writing "I'm polishdude, I developed blahblahblah using this technology, I tested my code using this, I configured a CI/CD, pushed changes to git during my work as an instructor. Also, as part of my teaching I taught blahblahblah and picked up such skills.". Show them what you've done basically. All the best :)


I left a job as a chemist at the the age of 41 (with family & 3 kids) in order to start in iOS development a few years ago. I got a job as a junior software developer that did not pay a lot, and like you, no one was interested in anything I had out on GitHub, nor an app I was working other than the fact it showed I probably had actually written some iOS code.

But I was confident then as you should be now, that if I stuck around and pursued improving my skills as I worked over the next few years, I’d become a valuable asset that lots of employers would gladly hire. In fact, I did. I eventually had recruiters contacting me!

There’s a lot to learn and it simply takes time and a commitment to doing good work. If you are excited about programming, then it’s a bit like a dream come true, that is getting rewarded for working hard.


you're 26 you got heaps of time. You didn't include all sorts of info like your location, your target pay, and any identifying markers. The industry has a lot of bias; whether or not you need a degree is a question of the existing biases in the place you live and your status within that system.

> or they want to hire a junior for some super low pay

probably still better than what you were making in another field.

get a recommendation for a recruiter from another developer in your city.


I transitioned from marketing to software development at the age of 37yo. I studied full-time for 8 months until I got my first job as a junior frontend development. I had a few very basic projects on the personal portfolio (not Github though) that I do think helped get the job. But most important is that I applied to jobs that had code assignments to do at home. As a junior with time, those were a blessing. I could prove my skills without counting on college credentials or experience.

I accepted what you would call a "super low pay" though, and I think you should too.

I think it is ok, and actually fair in most cases to accept as low pay as a junior development for your first job. Once you are in, you can get promotions/raises on your company or apply to different jobs for promotions/raises.


Yes, definitely. I dropped out of college to be a missionary. While I was there I taught myself programming and servers and took care of the ministry’s websites.

When I left, because I was still living overseas, I applied to many remote jobs with no success so I just started doing lots of freelance work on Upwork. Essentially I got paid while I was learning.

The pay was lousy and a couple clients were terrible, but two years later I landed my first ‘real’ software job for a startup in SF doing Rails and React.

So yes, it is possible. If I could make it so can you, especially since you have a degree in engineering and I had no degree at all, I don’t think it will be as hard for you.

Of course, as others have pointed out, your pay will be in line with real world experience, but it will go up over time.


When I was 27, I picked up and moved from the Midwest out to San Francisco kind of on a lark. I didn't know anyone, and despite having a CS education it was from a no-name school and I had basically zero relevant experience. I had an exceedingly difficult time "breaking in". I eventually found a job with a startup at a relative pay cut, and some time after that was able to find an actually-decent job. Every job change since then has only become easier.

Looking back now I can see why it was hard for me to break in. The factors holding me back, in descending order, were:

1) No industry connections 2) No relevant experience (.NET didn't count in SF at the time) 3) Wasn't really "plugged in" to the prevailing tech culture 4) Nobody had heard of my university. 5) Frankly I wasn't very good.

5 almost doesn't count; very few people are any good when they start their career.

The single most significant factor (the dominating factor, really) was simply a lack of connections. Nearly every significant job I've ever had is a result of a referral from a friend, and this is true for basically everyone that I know. I have coworkers now who not only have no CS degree, they just don't have _any_ degree, and we happily hired them on reference.

I guess my point is that yes, it'll be tough for you at first. Not having those magic "CS" letters will definitely hinder you. That said, it's not an impermeable barrier. The best thing you could do for your future is make friends in the industry. The second-best thing (in my opinion, others may not agree) is to participate in a well-managed Open-Source project. Not to burnish your resume, but to learn the processes people use to collaborate - source control, issue trackers, code review practices. That stuff doesn't get taught in CS programs either, but it's essential knowledge. Having it will help get your foot in the door.

Skills are important, to be sure - once you get the interview you still need to be able to successfully sell yourself - but IMO getting the interview is the hardest part when you're new.


You can absolutely do this, many of the best programmers I have met are self taught, and you have an existing college degree that's just going to make you more valuable.

You are going to need to sell it though, you need a good looking website highlighting all your projects, link to github and keep your github clean.

The way I started was doing freelance projects until you're confident enough to move into enterprise ( somewhat ironic because freelance work typically involves more understanding of every part of the system ... and better skills ).

Do projects in the language/technologies that you want to work in and highlight those.


I came from a mech eng background, got a master's in computational and applied math (no formal computer science), and have since had two different software dev jobs. There are lots of places that don't require a formal CS education. If you have programming experience, have done projects, and have demonstrated an ability to learn and solve problems, that goes a long way. There are also places that hire mechanical engineers and the roles involve a lot of software development; maybe not the exact role you're looking for, but it can be a pivot.


I am a software engineer, now engineering project manager for a FAANG. My degree was in humanities. Degree might matter for entry level jobs at established companies, but skill and hustle can get you in the door at smaller companies which you can then leverage to go bigger if you want. In my experience, after you get past the junior/entry level barrier, nobody cares about your degree after that. As an anecdote, one do the premier Ruby on Rails guys, one that literally wrote the definitive books on it, only graduated high school. My advice — dig deep and become an expert in something rather than trying to be good at everything. “Well rounded” might sound good on paper, but when I need an expert on a particular thing, I am looking for an expert in that particular thing — not simply a generalist. If you are really great at build systems for instance, I’ll hire you without any consideration as to degree or school. If I have an itch, I need to scratch it as quickly and skillfully as possible. If you are a great scratcher, I don’t care how you got there. I got my start at being really good with fixing test suite technical debt in Rails. I developed a minor reputation as someone who could rescue Rails projects that, pun intended, went off the rails. I had a profile on Dice.com and pretty soon, I was flooded with inquiries for high paying contract work. One of those contracts was to fix some esoteric thing for $major_tech_company — that then turned into a full time offer.

Be fearless. Don’t waste time worrying about what you haven’t done and start worrying about what you can do.


Just another anecdote, granted this was over a decade ago so YMMV now.

Grew up doing web dev "as a hobby", basically self taught since middle-school. It was my passion, but never thought of pursuing it as a career or anything. Went to college, got a EE degree. Partly because parents thought it was generalized and better able to land me a job out of college. I partly agreed. Went to work at for gov't contractor and hated it. I would still code on the side when I got home. Left after a year and had my mini quarter life crisis lol. Decided to apply for a few jobs around me with zero experience in the industry.

2 interviews stuck out to me. First one was an a small agency. They gave me a coding test and I realized that I know a lot more than I thought I did and shouldn't imposter syndrome myself as much. Second one was a small startup. They saw a lot of apps I built on the side and were intrigued which netted me that offer. Decided to go for the startup and that experience really solidified my confidence that I could actually do this.

IMO, your engineering degree will help you get a foot in the door at least. ME isn't a piece of cake and you've proven yourself competent in that regard. Your lack of "formal" education might be a hindrance to some, but I think it demonstrates the ability to self start and figure shit out and most importantly to just build stuff. Just keep grinding until you find the opportunities; you might have to take a step 'sideways" to get them.


> It's mainly the pay but I also sort of fell in love with software this year. I started learning JavaScript last year, learned about databases, servers, React and Linux stuff. Loads of really exciting fun stuff!

Programming is fun and exciting when it's a hobby or you are learning it. It's an entirely different beast when it becomes your job. There is a reason why burnout is so high in the tech industry. It's less "cool hacker" and more "code monkey". My guess is mechanical engineering was fun for you while you were learning it or it was a hobby. Then you got a job and it killed all enthusiasm you had for mechanical engineering.

> Many places I apply to want people who have experience in software development or they want to hire a junior for some super low pay.

Junior dev with super low pay? Where are you based? Maybe you should expand your search to other locations with better prospects?

> I can't put the words "software developer" on my resume but I have written a lot of programs for my classes and in hobby projects.

Why not? Put whatever you want, but just be able to back up your claims if it comes up in an interview.

Also keep in mind that even if you start off as a poorly paid junior dev, you can rise quickly in an organization ( senior dev/team lead/etc ) if you are competent and increase your salary accordingly.


It's absolutely possible. I have an art degree and what I have found to be important is to have some impressive personal projects to show employers. Maybe not all of them will look at your portfolio but enough do that you should be able to get a job if it's good.

Falling in love with programming has been very fortunate for me because it is one of the few professions where you can show your skills with a portfolio instead of a piece of paper, and it pays pretty well


How did you manage to make the transition? I'm doing a PhD in music tech, lots of coding but not necessarily commercial applications. I'm not sure academia will work out for me as the jobs are so scarce and hard to get not to mention the insanity of things like impact and the REF (UK). Any insight would be great!


I made a bunch of mobile games with Unity that worked as a porfolio for Unity Development jobs. I had been wanting to transition into more traditional software development, and I was fortunate enough to be able to learn a front end stack at my previous job. I made this project over nights and weekends, and it was a significant factor in me getting my current job doing react development:

https://bitmelo.com

My best advice would be to try to make projects that are undeniably good. So good a company would be dumb not to hire you. Def easier said then done though.


Heya,

Just wanted to let you know that I don't have a degree (nor do I know know FEA, transducers or electrical prototyping are)

I've been in the industry for hmm, a little over two years now, getting on perfectly well so if I can get in, so can you B)

I actually applied for a graduate role (after being turned down plenty of times) and partly through sheer luck, an opening in a different city being unfilled, and a bunch of self directed learning, I got an offer

Partway through, I actually left the graduate program through a bit of sneakery (I applied for a regular dev role and passed the interview) and have been working as an SRE ever since.

I happened to have a decent background with the skills required (Python backends) but my brief experience with React came in handy as we've flipped some internal APIs into self-service internal products and so on

Personally, I'll usually poke around people's Github profiles out of personal interest, as part of the interview prep process, but I don't assign any weight to it if there's not much to see. More like a cool added bonus but nowadays I don't publish much that I work on :)

For reference, I think I was 22 when I got my first role and I wasn't someone who had been programming since a young age (although I had picked up a bunch through osmosis reading eg; HN and so on) but there are people who make career moved even later in future

None of the above is necessarily actionable but I guess just know plenty of people have been in your shoes before so don't think it's impossible or even improbable!


It's doable! I never even went to collage and I'm doing just fine, currently doing systems development at Mojang. I learned to code online, did some free classes, then built my first application using nodejs and mongodb. My application wasn't amazing, and neither was the job it helped me land, but it was a start, that job helped me land the next and so on. Today, about 6 years later I introduce my self as a senior Java systems developer.

If you really want to do this though, you might want to buckle down for a couple of less than glamorous years. You can get into the software industry without qualifications, but you won't get in at the top with your first gig. You're gonna have to work your way there.

Some advise: keep doing hobby projects, keep learning new stuff constantly, and if you have a choice, pick the jobs that will serve to evolve your skills, not the jobs that pay the most.

It's been ages since anyone even asked me about my education, the only thing that matters is my current and previous assignment, and that I can demonstrate logical thinking on the interviews.

I'll add as a disclaimer that YMMV, we're currently in difficult times, and it affects even software Devs. I also don't know where you're at geographically, here in Sweden I'd go so far as to say that if you can land a software job before going to collage/university doing it is a waste of time, as you'll learn far more relevant stuff way faster while working. But I hear in the States that diploma is more important, so I can't be sure.

Believe in yourself and don't give up! You can do it!


This is how you transfer to a software role when nobody knows who you are and you have nothing in production to show for it. You learn everything about company app X, and then you start at the bottom as 'customer support engineer' or even lower as 'customer happiness' or w/e they call it these days.

When you are not putting out fires of angry customers, you learn everything you can from the developers that work there even starting to write features, starting to find bugs, optimizing the software, creating new tooling, whatever. It's simple to transfer around internally, impossible to get in externally. Then from there you transfer into a developer role because now you're not just some unknown guy they don't want to risk hiring. Once you are no longer junior, meaning you put in the work at that imaginary place moving around roles internally you jettison out of there to the higher paying positions because now you're an experienced developer and probably have a little network you can use, in other words no longer a risk.


I'm a self-taught programmer with a Mech E degree (1993) as well. I've never worked a day of Mech E in my life (well, an internship at Mercedes was writing code for vision and control systems, which was maybe 10% Mech E, 90% SWE). e Everything else was pure software.

Has never detectably held me back and I very rarely even got questions about it. It was entirely "can you code? let's talk about it to be sure..." [just like anyone else]


There are many Physics/Maths graduates in FAANGs from my experience (and you only find it out if you ask them, i.e. there's no noticeable difference otherwise). Your degree is certainly not holding you back, this is not medicine or law.

I had to explain how to use std::function and lambdas to a fairly high level employee once (we were using C++). A Maths graduate (a PhD, actually). Problem? No, he was really good otherwise, and he got how it works in less than an hour. It is not complicated compared to what he normally did, he just happened to never need to use it in the past.

Needless to say he wouldn't know how to do find-union or how to write a compiler or write a formal spec for a programming language or how to compute GCD with C++ metaprogramming or any other "theoretical" fun things you would learn before you get a CS degree. It's not that important.


An engineering degree probably gave you a leg up over, say, a History degree.


I don't know how things are in Poland, but in my country, you can get a great junior SWE job with your background.

The problem with GitHub profiles is that they tend to contain a lot of noise that nobody has the time to go through, and when they do, the projects are usually not very impressive. They tend to look like they were made by a project generator with little subsequent work by the actual human.

My advice to you would be:

1) keep applying to jobs

2) clean up your GH account to only contain 1-2 extremely great projects. Hardly anyone would look beyond that. Get rid of the CRA based CRUD projects if you have any, they will not impress anyone.

3) use your unique background to stand out. Make sure your projects are unique, interesting and draw attention visually. Use your background in 3D graphics. Use your ME background where there's a wealth of data to be analyzed and presented. Be creative. Put up informative and interesting READMEs for your projects, as they will be the deciding factor in whether anyone decides to spend more time on your project.

Good luck! Feel free to contact if you need advice or guidance.

edit: can never get HN formatting right


I did a robotics degree, (half mech eng and half elec eng) then I helped out my dad with a software side project of his and turned the experience into my first job.

I did 5 years of elec hardware design and then got a job as a software dev. Been doing it now for 7+ years.

My advice, look for a scale-up. A business with a proven product market fit, but still looking after the pennies. The one I found was willing to take the risk of a good find because the “formal education” lot were more expensive. I’m reasonably sure my first boss would back me up in saying that the risk was well worth it’s. Apply, show them real world work, I’m sure you will go far. Engineering mindset is actually a real skill, most formal education backgrounds I talk to don’t think of things like failure modes or really understand the importance of good requirements like mech/elec engineering I’ve met.

Also, email me whenever to talk chris at matheson dot it


Just as an aside, for those of you looking to hire, I think engineers like this are an untapped goldmine. Most are paid 2/3rds or less of an average software dev (at least in the uk) but most have had experience programming and all will have the sort of mind needed to ferret out problems at the design/ideas stage of the dev lifecycle.

Hire all of them.


I’m curious to the degree culture plays in hiring practices for SWEs in different countries. It’s not uncommon at all for tech companies in the US to hire engineers without a software engineering background or a college degree (I know an engineer at Google with no formal education whatsoever).

But, I’ve heard of people from other countries talk about getting “certified” in a particular coding language or technology. I can’t tell if that was just a scam, or things like that have some weight in other parts of the world.

I’m sure people here have worked for a small company led by some sales guy who didn’t know what he was doing and would expect engineers to have degrees and certifications. I wonder if in other parts of the world, where those with knowledge of running a modern software engineering organization haven’t risen into leadership roles yet, it’s impossible to become a SWE without a whole bunch of diplomas.


It is not. I don't hold a degree and I've been offered jobs around Europe. Certifications are mostly of interest to capital-E Enterprises.


20 years ago, I was looking for a software developer job. I had quit university, because I didn't feel like I was getting anything out of it - I had no previous formal experience, and now no degree either. What I did have was a love of coding, and I'd been part of an online "clan" selling commercial Quake mods, but as silly as it sounded, I put it in my CV/resume. What I also did was try to stand out, so when sending my CV, I also included a CD (20 years back, mind!) and URL, showing some programming stuff.

Eventually I got a break - and it was all because of the CD!

Just as most hirers today don't look at Github profiles, most back then would have binned the CD - I reckon if your Github profile checks out and you keep at it, you'll get a break eventually.


Software talent is not in demand but fairly high wages for untalented seat-fillers are sticky for a number of reasons. It's pretty hard. If I were hiring right now, I'd consider hiring you, but I'm instead looking to be hired, so sorry.


I went to art school for college, which has zero math or science. So my math/science education is at a high school level. I was able to shift my career from art to programming just by studying on nights and weekends. You can do it for sure.


Keep going. More side projects, more interviews (with startups). If you get a "resident" offer to work your way into fulltime, take it. Maybe the pay isn't ideal for 6-12 months, but the gratification of building yourself into a legit software engineer should make it worthwhile.

My path: undergrad and masters in MechE, learned a little machine learning with matlab in grad school, taught myself python and hacked at AI/ML side projects while working at a startup doing FEA for about a year, eventually got an internship with an ML startup... eight years later I'm Chief Scientist at a near-unicorn AI startup.


Droped out of collefe, self taught programmer. I've been coder at a big multinational, tech lead in state and federal government, currently VP at one of the big three. Don't worry, try to be a good coder.


>> It feels like nobody looks at your GitHub profile though

Of course they don't. Unless you built something that many other developers use, nobody will know you exist. The industry is extremely competitive.

Given your current optimistic frame of mind, I would say yes, there is hope for you but you're going to have to work yourself to the edge of insanity to get a shot at getting your GitHub profile noticed at all.

If I were in your position, I would try to work in some area of software which is related to your expertise (mechanical engineering). That can give you an upper hand.


Check out https://www.nocsdegree.com/ made by a friend of mine. You'll see that there are plenty of cases where you don't need formal education as long as you have the drive.

For applying to jobs, consider being creative in your application. Can you speak directly to the hiring manager? Can you make your application stand out somehow?

The best engineers I've hired have usually been ones with the drive and without formal education. Best of luck.


I don’t have an engineering degree but worked in QA for 4 years before becoming a SEIT and then an actual full-time engineer. Took a long time but if you’re heart is in it you’ll find your way in eventually.


Can speak for my employer.

At RedHat, we mostly don't care, if:

a) you still are a student of at least a vaguely relevant field (we had someone from Linguistics, I'd think Mechanical Engineering bachelor is fine)

b) you have some relevant experience (i.e. I had 2 years as a sysadmin on friends projects?)

c) you don't need the degree for employability (i.e. we had people needing degrees for visa purposes, but you have bachelor's so that is fine)

So, you should be fine. Ask friends for entry-jobs, or start building a pipeline for consulting projects.


>super low pay

I changed careers from one where I was making 6 figures ... but tired of that line of work and decided to try my hand at coding and start over as a jr. developer.

I got paid very little when I joined but proved my worth and QUICKLY my pay rose.

The key as a Jr. is to get experience, get your foot in the door, do the work, and then evaluate your pay / options.

Really your first job doing a thing is less about up front pay, than it is experience, resume, and then deciding what to do next.


Don't be discouraged at the moment. A lot of places aren't hiring. That being said, i myself don't have a formal comp sci education either, but I haven't let that stop me from being a dev. Comp sci is the one field where regardless of your former education, you can still make it based on your own merit. Plus the way i look at it if you have an undergrad is engineering i am sure you can learn comp sci. Keep on learning and don't give up.


Back in 2015, we hired someone who is an undergraduate ME student. I trained him, and I was amazed at how fast he learned, and he is now one of our devs. Your background in Mechanical Engineering will help you a lot, with the right training, you can learn a lot of things fast. Knowing the technologies, you stated above already gives you a solid foundation. If you need help getting training materials to strengthen your skill set, feel free to contact me.


Been a bridge between two fields is a differential factor in your favor that you can enjoy and monetize.

One of my first projects was a lisp + cad + export bill of materials + inventory + versioning. I was the younger and the only one they can find to automate the workflow. That was a big lever for next salary negotiation.

Software in industry is always applied software, being able to speak mechanics and software place you in an invaluable place. Use it on your favour.


My experience: just try to land a programmer job first, even if the company/job looks shitty.

I only had an Economics degree with no formal IT education and now I had a software dev job.

Like you, I was self-taught and only had built some personal projects, but it was enough to land me my first IT job in a shitty startup. And then you can have easier time finding other software dev roles.


You have an actual Engineering degree!? You're miles ahead of any "boot camp" or self-taught people that lack formal training in math. Many of the software people I work with have degrees in EE. There shouldn't be a problem and it wouldn't be seen as a negative by anybody.


Juniors dont get super low pay. Just lower than seniors. Hobby projects don't count as work experience, but i don't doubt your experience in teaching will count for something. It's a bad time to be asking a lot of money though. You might have to settle for less.


Well, I got there with a cello diploma.

Maybe you could leverage your domain knowledge to get some software-adjacent gigs to pad your resume? I started my software career in musical audio signal processing, which branched out to mobile, games and machine learning, gradually opening more and more doors.


Honestly just start applying and make it clear, in your CV, that you can code along with links to some code you’ve written. A lot of people applying for junior dev roles are far worse than you’d imagine, you sound like you’d have a shot if you show enthusiasm.


Omscs, or other online ms programs, could boost both your self confidence and career chances.


Totally doable, I work for a large (public) corporation in the bay area. I dropped out of school about 10 years ago. Take contract gigs, hustle and grind. It sounds like you just need to prove yourself.


I love the freakonomics podcast, especially when it gets into behavioral economics. There's a ton of good episodes. If you've never listened before try the Trader Joe's episode.


I have no degree at all and I've got a leg in. Keep looking in unexpected places like forums, fellowships, and FOSS. Keep making true friends. They will come through when it counts. I am more fortunate than a lot of people.


Not that this is helpful in the moment, but the first job is going to be the hardest.


Whenever I’m hiring, I consider an engineering degree equivalent to (if not a little more impressive than) a CS degree. Of course, you do have to be able to show you know what you’re doing.


I was a tech recruiter, and I was able to transition to becoming a software engineer. I'm pretty confident you can do it, too, if you want to.


Plenty of hope. I've worked with a guy who was an ME although I wasn't a coder at the time. He was doing very well for himself.


i'm a 39y old ex-banker (>15y in banking). finished a bootcamp in 2018. now working for a startup as a frontend developer for the last year. i'm not saying i'm a success story. but if i was able to come this far, i'm sure you'll do much much more better than me. i actually envy you :-) good luck and have fun


Have you considered consulting? You sound like a driven individual, so why not set your own rates and cut out the middle man?


maybe you can try something thats not a developer proper

i have absolute zero of formal software education, and i'm pretty senior devops i bet there are other near-software fields that could be relevant and hiring managers are more flexible


You’re in good company with Steve Jobs, Bill Gates and Larry Ellison.


My background is in pure math. I've had a total of about 4 CS courses throughout 4 years of undergrad and 3 years of grad school. My first software role was 6 or 7 years ago, in SoCal, at a salary of $70k with no stock options or RSUs. I did have a bit of an advantage in that I had been playing with computers since I was 7, and started using programming as a tool in my 20's. I also had a copy of CLRS that I had studied large portions of, and that helped quite a lot, especially with concepts like Big-O notation.

If you're going to follow my example (and I'm not necessarily suggesting you do -- my path did not feel close to optimal), then you should start applying for those "junior for some super low pay" jobs, for at least a year or 2, as long as it's enough to support yourself.

What I did after that was move to the Bay Area and ended up taking a job at a startup for $105k and some worthless options. From there, it was a steady progression. Next job was $140k and some probably worthless options, until now where I'm over $200k total comp at a public company.

I'm not saying any of this to brag, either. If anything, compared to online salary and comp resources, I'm probably around the median for 6 YoE in the Bay Area. But, the median SWE comp is still really good, and you can live quite well on it while maxing out 401k's, paying off student debts, or whatever your financial priorities are at the moment.

If you go this route, be prepared for a lot of rejection looking for that first job. Some companies will see no CS degree, no tech internships, and no coding-related work experience, and just bin your resume. Even on my second job, I was finding myself getting rejected or ghosted for positions where I felt my resume was nearly a perfect match to the job description [0]. Persistence is the only way through.

Stuff I would advise you to do that I didn't do so well would be things like get a LeetCode premium subscription and start solving the problems. I don't mean "grinding LeetCode" like you see people bragging about on /r/cscareerquestions; I mean start with the easy problems and use those to learn more about programming, then move on to medium problems and use those to learn about CS, while also gaining insight into interview questions you'll see in the wild.

If you have friends in the tech industry who are at companies you'd like to work for, try and get some referrals. This can get your resume looked at, even if you wouldn't appear qualified on the surface.

If you land a position that's primarily coding/software-oriented, but it's not literally called something like "software engineer," consider putting it on your resume like "$ACTUAL_TITLE (software engineer)". Part of my problem after my first job was that the position title wasn't called "software engineer" even though writing software was literally all I did.

There's probably more, but those are the main things I can think of right now.


Generally speaking, yeah, without directly-relevant industry experience you'll get stuck entering a more junior or intermediate role.

The vast vast majority of job postings are looking for experience in particular areas, such as programming langauges, game engines, commonly-used libraries, software suites etc. Some places will literally not even consider candidates who don't match some of the stricter requirements, like a certain number of years writing C++ or whatever. Fortunately, many places will overlook a "miss" in key categories if there's a lot of good stuff elsewhere.

As someone who has been programming for work for over 20 years, I'm going to disagree with some suggestions you got on here about getting a master's degree. My personal advice, based on my own experience, is you're better off getting in the industry as soon as possible. You will be literally getting paid to learn, and making contacts who can inevitably be your "in" at other companies over the years (if necessary).

Everyone's experience is different of course. I'm one of very few people at my job who are at my level and have no degree at all. On that note, I know many people who say their degree was completely useless for getting to where they are now (other than maybe looking good on the resume).

I think most places will look at your Github profile if you link it -- depending on the company. Even if I didn't mention it to them, I've looked at the open source contributions of every single candidate I've ever evaluated, if they linked it.

From what you're summarizing, you can absolutely put "software developer" on your resume. It sounds like you've done a bunch of programming over multiple years and built a bunch of real, working projects. Though unfortunately, those are not usually given much weight because most companies want to see your experience building shipped products, with a team, over some period of time. Regardless, you're applying for a certain role, so tailor your resume (skillset and experience) to correlate best with that role.

Anyway, yes, search around for places that seem interesting and look for the roles they have open. You may have to apply for many! There were many places I was so sure I'd get an interview at, who didn't even respond -- even when I had quite a bit of experience. It's not a big deal, just keep trying man.

When you get asked about stuff you don't know in interviews, don't worry about it - just say something like "Ahh I don't know about that, but I'd love to learn about it". I mean, assuming you actually would like to learn more stuff, and excel at new programming/technology skills! :)

If you want to discuss further I'm actually totally glad to talk, though my experiences might not be directly relevant to where you're living. Either way, take care and best of luck!!


I realize I'm not doxable so you can consider my comment "fake" but I am a contractor SE making $83K/yr in midwest, no degree. Granted also means I have no health insurance(personal choice).

I went to school/failed out, left with some debt(still in debt). I was going for Phys/Eng co-op program(5 years).

I got into web development luckily(personally trying to make high traffic ad revenue websites) that didn't work out but I became a full stack developer(can build an interface/make matching backend with auth in LAMP).

I freelanced online(UpWork) then got into a local web developer agency(WordPress... templates...) then I got lucky to make the jump into a local corporation in my state where I'm now an SE. It was unreal to me at first as my previous job I only made $50K/yr and mandatory 45 hrs for "salary".

Now I just keep learning so if I lose my job I can hopefully get hired elsewhere.

I was washing plates/worked in a factory/did data entry... yeah I'm super lucky I made it.

So it's entirely up to you and I'd say with a degree the odds are even more in your favor since that always bothers me as a lot of jobs I can't apply to "no degree".

It's entirely up to you, you have to want it. For reference I was not into computers when I was younger, we had one and I just played Runescape on it. My journey in this field started in 2013 so it's not something I just pulled out of my ass overnight.

Use LinkedIn by the way it works, but be truthful as well, don't game the system.

...

Personal rant

This is a personal opinion but I've been pretty stressed out at my job, mostly the "bureacracy" like "every line of code" is traceable. JIRAs, design docs, unit test/selenium/regression testing... so much work I can't just "solve this problem" you know... I don't know. It's interesting, my prior job sucked because there was no chance to learn and it got super repetitive building template after template from a design. But there was also barely any sort of structure/no testing... we barely knew how to use Git as a whole.

Clarifying, I'm not against the concept of testing. It's nice being able to run old ones and see the app didn't break when a new feature is added. Just saying there's a lot of "paperwork". Which... get a hobby right or change jobs(what I'll probably do).

I'm at the point now where I can almost make anything I want. Granted I am not a scaling-god or super devops heavy(aside from using Docker)/not an algorithm guy. Also have not bit the ML/AI bullet yet. But yeah, there's a lot to it, the surface area, but a lot of technology now makes it super easy to get into/accessible. Think React and React Native/Electron so easy to build cross platform. Crash courses online to quickly pick something up.

And all the commoditized services eg. Twilio/Mailgun/AWS/Browserstack/etc... (I don't like AWS expensive).


> I realize I'm not doxable so you can consider my comment "fake" but I am a contractor SE making $83K/yr in midwest, no degree.

You are making half of a new grad salary at a FAANG, if that. They have offices in the Mid West. Please consider boning up on LeetCode or Elements of Programming Interviews or Cracking the Coding Interview and getting paid much, much more.


thanks for the suggestion

> grad salary at a FAANG

I need that mindset, plenty of work/opportunity/more pay

I actually was hit by Amazon/Google but I think that's just recruiters on Linked In looking for "software engineer" matches in profiles. I just thought with my "no degree" thing and that I'm not a heavy algorithm guy, I didn't really see myself as a FANGULTAD person. The $83K is nice with my means(single/midwest) but I'm still trying to get out of the debt that I have/wasted from school that I didn't use with my "savings"/credit.

Since I don't have nice savings/investments I'm not really secure. It would suck if I lost my job but I have a burn rate of close to a year.

> boning up on LeetCode

Yeah I was doing some. I know you should at least know the big O/sorting... mainly so you don't make poor architecture choices.

I am making sure that I have value by learning a lot(granted I have stayed away from Microsoft stuff as I never personally used it eg. setup an IIS server) and I'm sold on React.

I don't know. I also think I'm aware I need to be on some meds or something to be "truly performant" so I'm also looking for freedom as well(my own SaaS products) but I don't have ideas currently and so I'm just a do-er at this time. I also suck at all the scrums/meetings I feel like I make an ass of myself all the time... so idk.

I'm also not a super maths guy eg. linear algebra/ML/AI stuff.

But yeah I know it's up to me "I'm not, I'm not, I'm not, etc..." so I won't haha. And it is all about mindset as you pointed out, it's not a lot of money elsewhere. The rent is insane there(SF) that's my monthly salary ha.

last edit: I would like to break 6 figures, that would be cool.


In short, you have no degree and no software engineering experience, so getting hired for a junior dev role with super low pay should be the realistic next step.

I have no degree, but I started my career with a lot of open source projects on Github. If you work hard enough there, and you actually market your projects and your own brand, you will have a chance at getting hired. I was offered my first job at a very, very low salary and I took it. After a year, they realized I was worth my salt and they wanted to keep me, so I got a hefty raise.

If you want into this industry, I recommend you do the same. Make some open source projects which are useful and market them. Make them look good, visually, and do the same with your own website. Meanwhile, apply places and talk to recruiters. If you get an offer and it's a low salary, you should probably take it. The only reason you shouldn't would be if your personal expenses require a higher salary (i.e. you have a kid); you may need to lower your class of living, if you're single and used to making a lot more. However, once you get that first job, do everything you can. Learn everything you can. A couple years in, people won't know you don't have a degree; you'll just be another dev.

There's one key thing about practice that I'll mention here, though: stick with one thing, at the start. You need to make up for your lack of credentials and experience, so it would be good if you're very comfortable with something. For me, it was C++ and game engines.

With that said, the lack of degree still bites when it comes to job changes. Even later in my career, I've had teams give me the "okay" and even welcome me to the company before someone higher up sees I don't have a degree and calls the whole thing off. That primarily happens with larger companies, though, so you're better off sticking with smaller companies until you have enough work experience to make people no longer care where/when you went to school.

Lastly, I mentioned this above, but it's the most useful point here and it's worth saying multiple times: market your fucking brand. Firstly, if I spent a weekend making a FOSS project, I'd spend the next week adding documentation, CI, code coverage tests, and everything else which people expect from a Github project these days. Why? Because it looks better and it makes you look better. Secondly, if I make a ray tracer or game engine, I'm not going to show it rendering some spheres; instead, take the time to parse some file formats to show a whole scene. This is because people make up their mind about something they see in the split second when they first see it. It doesn't matter how slick your code is; make it look good to recruiters, team managers, and passers by. Thirdly and finally, know your audience when you're making things look good. When you build your website, build it not for super technical people, but for the most average mouse clicker you can imagine. That's who you need to impress in order to get your résumé in front of a dev.


Go to a hacker school. They have machinery in place to get past the level 1 filter.

Or maybe write a lot of public code. This is highly risky, though. Few places consider those credentials.


Respectfully I’d dissagree. The OP has (at least I would read it this way) that they can allready code. Hacker school time could be better spent searching for the right fit of employer


That's fair and if I think about it an alternative path may actually be finding a startup that will take a risk on someone.

To be honest, he just has to get past the L1 filter. Once he's in the stage where he's interviewing the predominant dominator of whether he'll get the job is interview performance not resumes.

So yeah, I've changed my mind. Probably well worth searching first before falling back. I guess in my head I'd assumed he'd already searched unsuccessfully but he never mentions that.


I'm not sure how hacker schools will look on resumes in a recession.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: