Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How do I transition to be an SWE?
1 point by kleiba 5 months ago | hide | past | favorite | 4 comments
I've worked in academia for roughly ten years but don't really see my future there. I've always enjoyed working with computers since I was a teen, and have reached an advanced level as a programmer, however, mostly for academic prototypes and hobby projects. What should I do/learn to prepare for a successful career as a software engineer in the industry?



I think there's a lot of advice floating out there about how to become a SWE, from well-intentioned but misinformed people. Some of the soft misconceptions which are commonly distributed:

- Proficiency in xyz language is extremely important. I think this is misunderstood to mean that becoming a Python/Typescript/whatever expert is what differentiates the pros from the bros. I would actually recommend studying the theory of programming languages from first principles, instead - Dan Grossman's "Programming Languages" class on Coursera is great for this. It lays the foundation for understanding how any programming language works, from a theoretical and mechanics basis. I was able to pick up new languages and understand concepts in existing languages way, way faster after building this foundation. The "10 hours to Python mastery" types of courses are a waste of time and focus on the wrong things in my opinion - invest the time in foundational knowledge instead.

- YouTube videos and blog posts are sufficient to become a proficient programmer. This is a bit of a con in my opinion. Both formats are like a sugar-heavy diet - you'll feel high and satisfied quickly, but in the long-term, the lack of information in these formats will starve you of high-quality information. Get into a habit of returning to first principles - figure out what the canonical textbooks are for the subject matter you are trying to learn about, acquire them, and read chapters out of them when you are stuck on a problem. This will deepen your understanding and give you a basis for exploring related subjects. Also, read the man page. Read the man page. Read the man page.

Also check out OSSU (https://github.com/ossu), which has a bunch of great recommendations for free/nearly-free courses that will complete a full CS curriculum. I lack a CS degree, so I periodically reference this curriculum when looking for a new subject to study in my downtime.

Happy to talk more if you're interested, we need more smart and capable individuals like yourself in this field.


Thanks for taking the time to give input.

You might have missed the part in my original outline, but I am already a proficient programmer with decades of experience in a number of programming languages. Also, I've taken theory of programming language courses at university.

What I'm lacking is hands-on experience in everything else that's relevant in the profession.

Like I've pointed out, I spent my professional career in academia, and although I've done lots of project work in the field, I doubt that the academic setting is comparable to professional software development.


Sorry I missed that. Hopefully my comment is useful for someone else then.


The entry pathways I know of (as a web dev):

1. Credentials & connections: You went somewhere (graduated from a good program) and/or know someone who gets your foot in the door. Some FAANGs will hire this way through internships.

2. Horizontal transfers: You're in a company doing something that also has SWE roles, and you ask for a transfer into a team and gradually work your way up, maybe from some adjacent feel (QA, DevOps, UX, etc.)

3. Applications and interviews: It used to be possible to come from no real background except whatever you learned on your own / in school / online / at boot camp, pass some preliminary interviews, and get a job.

#3 used to be very common for most of the people I knew, actually (in small-med local businesses, not big FAANGs), at least from the mid 2000s till during and just after COVID. Then the bubble burst and hundreds of thousands of layoffs happened and I don't think anyone is hiring junior SWEs right now =/ I'm not sure if that pathway will ever come back, since AI can do most of that now. (And yes, nobody knows how we're going to get new seniors if we cut off the pipeline of juniors... but I guess that's a tragedy of the commons situation that no one company wants to try to solve on their own.)

If I were you, I'd try #1 or #2 instead. Does your uni have any IT/SWE-adjacent jobs? Usually they have some website hosting service etc. that they maintain for faculty to use; maybe there's some coding involved in there. Or do you have any connections you can reach out to?

If not, I'm afraid this is very tough time to break in. Even for people with a lot of experience it's really tough.

Maybe if you're going to try applying, having experience in academia could be helpful in verticals that particularly value that, namely government, consulting, R&D, science, pharma, etc.?

Best of luck to you.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: