[HN Gopher] Ask HN: How to switch software engineering domains
___________________________________________________________________
Ask HN: How to switch software engineering domains
Hi! I've been a Software Engineer at a medium sized Canadian
company for almost 4 years now. It was my first job out of
university. The work is backend application development for the
company's platform. While the work can be interesting at times, I
feel like I don't enjoy it anymore. I want to switch into a new
software engineering domain that isn't as high-level. I'm fine with
switching to any other field, I'm just don't know how to properly
make that transition in a way that would allow me to get a job.
Currently, I've been doing some personal projects in computer
graphics, and I've always enjoyed C programming (I was a TA for my
systems programming course in undergrad). I also just completed my
Masters in Computer Science. Despite this, I'm having trouble
applying for jobs. I usually don't meet any of the requirements, as
I don't have actual work experience that the job description
expects. And when I do apply, I get rejected before an interview.
For those who have switched domains, any advice on how to go about
this transition?
Author : SomeDaysBe
Score : 33 points
Date : 2023-06-29 18:44 UTC (4 hours ago)
| eklitzke wrote:
| I made this exact career transition, the first ~10 years of my
| career were doing backend development at web companies (mostly
| Python, but later Go) and I switched to working in C++ in the
| autonomous vehicles industry.
|
| The key is really just to apply to these jobs, even if you don't
| have direct work experience. I had a blog on my website that had
| a lot of C/C++ stuff which I think helped a bit, but in the end I
| just applied to a bunch of jobs and eventually got a technical
| phone screen. I described some of the C/C++ projects I had worked
| on in the past (mostly personal projects). I got grilled fairly
| hard on C++ stuff in that interview because the company knew that
| I wasn't coming from a professional C++ background, but I knew my
| stuff so it ended up not being a problem.
|
| The other way to do this would be to try to get a job at a
| company like Google or Facebook. Typically you're just another
| person in their recruiting funnel and whether or not you know C++
| doesn't actually affect how their hiring pipeline works. At both
| companies you're typically not applying for a spot on a specific
| team at the time of your interview, so you don't even necessarily
| have to write C++ in your interview to end up getting matched to
| a C++ team.
| Solvency wrote:
| What does C++ grilling look like? Types of questions they asked
| etc?
| esafak wrote:
| Find a team that does what you want, and get a position doing
| what you are currently qualified to do. Learn to do the other,
| new thing, then get your manager's help to make the transition
| official.
| keb_ wrote:
| Is your company's product a web application? While looking for
| jobs, maybe try looking into WebGL or WASM to see if you can
| apply your interests in a way that you cab still do graphics work
| at your company in the meantime.
| ajhurliman wrote:
| I would recommend dabbling in different fields and writing open
| source stuff. If you like the work, you'll probably build
| something cool that may get you hired. If you don't like it, drip
| the project and try something else.
|
| I got really into options trading and built a paper trading site
| that eventually got acquired (for actual money!), and that's been
| the talking point of every interview since I sold it.
|
| If you decide you like robotics and you build a library that does
| fast matrix multiplication leveraging webgl or something, I think
| a lot of people would be very interested in at least having a
| conversation with you at that point. People who can "get things
| done" are always valuable.
| giantg2 wrote:
| It seems like using one's network is how you can get into a job
| that you don't currently meet the requirements for. If your
| current company has any role in a different domain, they might be
| open to you requesting a transfer.
| petesergeant wrote:
| Find a company that does both, and that will hire you for your
| experience in one. Maybe that's a Python company that needs to do
| Rust stuff, or occasionally has performance constraints that mean
| they need to use C?
| earthboundkid wrote:
| Yeah. Companies hire you to do A, but they let you do B, and
| then you find a new company that will hire you to do B, but you
| end up doing C, etc. Your job title is always the thing you
| were doing at your previous job, not the thing you do now.
| throw1234651234 wrote:
| If you wanted to get into full stack dev or something, the answer
| would be obvious - do a project, apply, get job because you know
| the fundamentals.
|
| If you are trying to get into something specific like graphics, I
| imagine the formula is the same, but probably with much lower
| likelihood of success.
| sillysaurusx wrote:
| I've switched domains four or five times now. I started with
| gamedev, went to finance, then pentesting, then machine learning.
|
| The key is to have a strong portfolio. Every successful switch
| was based on that. Even in areas where you can't really show a
| portfolio, like pentesting, I was good at it and was able to
| demonstrate it.
|
| It's really that simple. Be good, and show that you're good.
| Don't wait for someone to show you what to do.
|
| Oh, as for the mechanics of getting the job, it's the same as any
| other: Forget the resume process. Find someone in the industry
| you want to work at, flatter them (everyone likes to be
| flattered, and you should lean on this tool as much as possible)
| and show them you can be useful.
| __dave__ wrote:
| Nice. I've worked for awhile in backend dev and
| infrastructure/cloudops, and thought about trying to transition
| to pentesting to try something new. What did you like about it?
| What did you not like? What made you decide to leave the domain
| for ML?
| sillysaurusx wrote:
| It's mostly a writing gig. (tptacek disagrees, but that's
| fine -- we disagree on lots of things.) You don't really make
| anything, and I liked making things. It was kind of that
| simple.
|
| But! I also met some of the most interesting and capable
| people I've worked with. So if you're interested, I encourage
| you to give it a shot.
|
| As for "why ML," I liked ML and it was full of mystery, which
| was good enough for me.
| __dave__ wrote:
| From the outside looking in that's pretty much what I
| guessed: Lots of report-writing and little if any
| programming, but a lot of very talented and interesting
| people.
|
| It seems like with the proliferation of bug-bounty
| platforms today, there's a fairly clear way to prove
| yourself and get in the door while picking up a little cash
| on the side. Heck, maybe just dabbling in bounty programs
| is enough to scratch the itch.
| maxlamb wrote:
| For your switch to ML did you also work on a portfolio of
| ML projects? If so, what's an example ML project you worked
| on that you were able to show your future employer?
| PaulHoule wrote:
| It helps to be be entering areas where demand is exploding and
| the supply of experienced people is thin. I have a long track
| record of being fast to pick up the methods of new domains and
| I've frequently had people riding my tail to help them out with
| a project in a new domain, even if I wasn't really that
| interested in the switch.
|
| It's a part of my origin story because the whole reason I left
| physics and went into software development was that I watched
| one of the best physicists of our time crying every night
| because he had no idea where his next job was coming from
| despite having written half of a very good textbook and
| numerous great papers. He made it big in the end but I had
| neither the tolerance for that nor the talent or motivation.
| I've had the occasional job search that took most of a year but
| I've had some that lasted 72 hours.
|
| Thus I skip all the fancy programming languages and work in the
| big commercial ones in demand unless I get cash on the
| barrelhead. For years I avoided Python but I worked for a few
| people who needed "data science" so they paid for my education.
| mehagar wrote:
| Does your current company have any lower level positions open? It
| may be easier to switch internally.
| nitwit005 wrote:
| It may be easier if you wait till you have exactly five years
| experience. I suddenly got a bunch of recruiting emails when I
| crossed that threshold.
|
| It tends to be much easier changing around what you work on
| within a company. I started doing embedded and server software in
| my first job by just helping out on bug fixes without asking.
| mindcrash wrote:
| I assume you are trying to break into the game industry?
|
| I applied as a intern and a tool developer once at two pretty
| famous AAA studios (due to friends, both actually didnt work out)
| and trust me when I say the bar is MUCH higher than a average
| backend job.
|
| I do not want to discourage you, but if you have zero credits on
| MobyGames expect that they DO want to see proof that you can
| develop something like a fully working game engine from scratch
| (which means you understand the base concepts of game system
| development). Also, any proof of handson experience optimizing
| code for modern consoles which nowadays amount to Playstation 4,
| Playstation 5, Xbox One and Xbox Series S/X will probably be a
| huge plus.
|
| If you can't show any of those things I am afraid most, if not
| all, studios will not be interested.
| ellisv wrote:
| > I assume you are trying to break into the game industry?
|
| Curious what lead you to this assumption.
| clarge1120 wrote:
| You mentioned computer graphics and C language, so game
| development strikes me as a reasonable guess.
| havkom wrote:
| Apply "lower level" approaches to your current job and get
| experiences you can talk about in application processes. For
| example, if you code backend C#:
|
| - Apply "lower level algorithms" to tasks where it fits (if you
| find good use cases you will be seen as a genius by the other
| "high-level" programmers)
|
| - Implement "lower level programming approaches" to solve
| problems. For example, there may be good use cases for emitting
| MSIL-code in parts of projects (for example where interfaces are
| injected, you could inject emitted classes on the fly for example
| in some instances). Again, you will be seen as a genius if you
| find the right use cases.
|
| - Implement "lower level" communication protocols where suited,
| for example a home made UDP protocol where you benefit from not
| having a stream and some packets are not needed.
| extr wrote:
| As a hiring manager, I'm not averse to hiring someone with non-
| domain experience for a domain-specific role with but I usually
| have a few apprehensions. You can make yourself a better
| candidate by pre-empting these questions:
|
| * Were you actually good at your previous domain? (Be Good)
|
| * Does this person know they actually like working in this new
| domain? Or do they just think it might be "interesting"? (Show
| some proof that you are already investing yourself in this new
| domain)
|
| * Do they have a track record of successfully learning new things
| in the past? (Any other non-domain skills you've picked up that
| show me you can be successful doing that?)
|
| * Are they at a natural career inflection point and a good time
| for a transition? (You just got a Masters, so this is covered)
|
| Trying for a totally cold start is tough though. I would try to
| get a foot in the door via career fair or university contacts.
| Use whatever coursework you have completed in the area to show
| aptitude/interest. Good luck.
| lylejantzi3rd wrote:
| > Were you actually good at your previous domain? (Be Good)
|
| Can you define "good"? and, more importantly, how do you
| convince others that you're "good" within the context of a job
| application?
| vsareto wrote:
| You advertise some qualities that you think is good and see
| if it passes their bar of good. There's certainly some
| subjectivity here.
|
| A more general indicator is how far down into the details you
| can dive. Another is how well you can teach things to others.
| cameronfraser wrote:
| With things like computer graphics you're competing with a very
| different pool of applicants than you likely were before. People
| with PhD's and Masters in related fields. I have found success
| with positioning myself as someone who works on the edges of
| multiple domains. So if you were a web developer before it would
| be at an intersection of web development and computer graphics
| which could be web gl or operationalizing graphics applications
| for web or cloud integration. This won't work very well at larger
| companies that have a lot of clear boundaries between positions,
| but it will work at startups where boundaries are less clearly
| defined and people wear multiple hats. In summary, try startups
| and position yourself at the intersection of multiple domains to
| get your foot in the door.
| myth_drannon wrote:
| Right now, just changing a job is hard. While waiting out the
| downturn you can work on some personal project, just to have
| something to show. I hope in a year or two it will be easier to
| change domain as the market recovers.
| koblas wrote:
| Keep in mind that the layoffs earlier this year have still had a
| huge impact on the job market for software engineers. Many
| companies moved their hiring bar higher and have gotten more
| selective over their canidates. 2 years ago, if you pretty much
| had a pulse you could have jumped fields (yes, some jobs did
| require specialized knowledge).
|
| Many Canadian companies are not doing "interesting" things so I
| can understand the perspective of being at the long end of the
| funnel on sprint tasks for a product that might not be getting
| huge marketing wins. You've already taken the first step at
| figuring out what's interesting to you. As others have said,
| start learning about some topic areas find the meetups over those
| topics and start networking and getting to know people in the
| field.
|
| Lastly, interviewing is a skill.
| JohnMakin wrote:
| > Keep in mind that the layoffs earlier this year have still
| had a huge impact on the job market for software engineers.
|
| People keep saying this like it's a fact but I've not seen
| anything in the employment data to suggest this is remotely the
| case. Tech unemployment is startlingly low, and even during
| some of the massive layoff months, tech was still adding jobs
| faster than it was shedding them. Last I checked, tech
| unemployment was at 1.5-2%, much lower than the national
| average (USA at least).
| tracerbulletx wrote:
| My anecdote having just switched jobs is that It did not take
| long to get a new job, only about one week to get an
| interview, a month to complete the process and start and I
| had 2 offers. However I applied a bunch of places, and even
| with referrals, only a small fraction got back to me which 3
| years ago when I last changed jobs almost everyone always
| did.
| myth_drannon wrote:
| Tech hiring is completely frozen. 2 years ago I had ~80%
| response rate, now it's 1%
| sokoloff wrote:
| I think what I've seen is that with the near hiring freeze at
| Amazon and a substantial slowdown at Google means that the
| next tier down of employers are having their pick of
| candidates that they might have had a harder time landing
| when Amazon and Google were hiring 5-figures of SWEs every
| year. So, even if everyone ends up being employed, the
| selectivity could still be higher than normal. I know we
| amped up our thresholds for hiring quality.
| [deleted]
| ramesh31 wrote:
| >Despite this, I'm having trouble applying for jobs. I usually
| don't meet any of the requirements, as I don't have actual work
| experience that the job description expects. And when I do apply,
| I get rejected before an interview.
|
| That's just how it is. Keep applying. I doubt anyone is getting a
| job these days without making dozens of applications, or having
| serious connections. It's brutal and discouraging, but you just
| have to stick with it.
|
| For some more actionable advice, focus on your framing.
| Interviewers don't care at all about what interests you, or what
| things you're most excited about getting to work on. They care
| about what you can do for their company right now, especially for
| a mid-level role. Think less in terms of "I'd love to join your
| company because I'm excited for the opportunity to learn more
| about XYZ" and more "I'd love to join your company because I have
| a good working knowledge of XYZ, and believe it would be a huge
| contribution to your development efforts in that area."
| willio58 wrote:
| Agreed, I think OP will get there eventually but it's just
| going to take a lot of work taking into account the change of
| work domains.
___________________________________________________________________
(page generated 2023-06-29 23:02 UTC)