Hacker News new | ask | show | jobs
Ask HN: Breaking out of a career silo
2 points by bleakcabal 4320 days ago
I got my first job as a .Net programmer doing line of business applications. Nine years later, I have been doing this ever since (at different jobs).

I would like to make a switch to something else (different language, different type of application, different type of organization, something non Microsoft related) but feel I am stuck in a silo career wise.

While I have acquired experience with other languages (ie: Ruby) and tools on my own or on small open-source projects and on personal projects, specific job postings require strong skills simultaneously in many frameworks or tools I do not have experience with.

I recently applied to one such job and got a rejection email before even getting an interview.

I have a job, a family with kids and a house so my time is limited.

There seems to be many options I could pursue; open source contributions, personal projects, online training, professional certifications, bootcamps, hackathons, blog, freelancing work and so on.

I was wondering what is my best bet? What would be the best path for me to make this switch career-wise?

4 comments

I'm in the same boat, more or less, so I can't give advice that I know works, because I'm still in the transition period. What i'm doing is:

- Learning linux ...because every other language I want to learn is not on the .NET stack, and pretty much every interesting job requires linux knowledge.

- Learning other languages I have a todo list of languages I want to try. There are a few I know I will want to go deeper into, which include Scala and Clojure, but for now I have a list of every popular (non-C#) language that i want at least minimal exposure to.

My todo list consists of concrete tasks like "Ruby hello world", "Scala hello world", "Angular hello world". Just knock these things out and then once I have basic exposure to a broad array of languages and tech stacks, I'll decide which I want to focus on, and start adding more concrete tasks to my todo list. This might include contriving a side project that is simple, but more involved than a simple hello world, and then building it out in one or two or three of the languages/stacks. At this point you'll have to start thinking about what direction you want to go, what kind of development you want to focus on. You might want to freelance as a Wordpress or Drupal dev, so you might decide to dive into PHP, or you might want to specialize in distributed systems, so you might focus your experimentations/hello worlds on more back end type stuff.

- Getting better at front-end development. This is the area people like you and me can use as a bridge to transitioning over to non-.NET tech. Assuming you are working in web apps with .NET, you can start to focus on the front end, which means getting really good at HTML, CSS, and javascript, and learning front-end frameworks like bootstrap/foundation, SASS/LESS, and angular/ember. You can do that while still doing .NET on the server side. You can also start working in front end build technologies like grunt or gulp into existing or new .NET projects, to handle front end optimizations, and bundling/minification, image optimizations, etc. This also builds your javascript knowledge, and knowing angular seems like a really marketable skill these days. This in combo with learning linux is enough to get you to a point where you are able to get front-end dev jobs that have nothing at all to do with .NET.

My two cents. I'd be really interested to hear from other developers who have successfully made this kind of transition. I have no idea if what I'm planning will actually work.

I spent 12 years at Microsoft, working on .NET technologies, half of it as a manager, but still very technically involved in design and coding. Last year, I left Microsoft and joined a much smaller SaaS company, built on non-Microsoft technologies. I am a manager here as well, but I made the switch to get exposure to these technologies and I have actually been in the code quite a bit. My current company looks for raw smarts while hiring and so the Microsoft background doesn't matter, even for the engineers. In fact there are a bunch of ex-Microsoft engineers across the engineering org. Unless you are applying for a role that requires very specific expertise, most companies shouldn't care that you don't have experience with a specific language or framework.

I am hiring right now on my teams! Let me know if you are interested and we can figure out offline if there's a mutual fit.

I find side projects to be very helpful when attempting to learn a new framework or language. Start small and slowly build up the complexity as you move on.

It will be difficult at first, but fellow developer and Stack Overflow are your friends. It also adds an extra layer of enhancement if the open source the project, as it allows others to review your code and improve it, allowing you to contribute something to the community while learning at the same time.

You should also check out open source projects written in the language you're interested in. I find that CMS source code covers a huge amount of tips and tricks I find helpful when starting a new language.

Edit:

Also, http://selfmaderenegade.net/minimum-viable-skillset was just posted.

Thanks!

As for the link, I hadn't checked back the new submissions. I'll go over it.

Regardless of how much of the checklist in a job ad you can check off, if you believe you can do the job then apply. Incorporate any feedback into your next application. Repeat until done. If you can spare an hour to two once in awhile, go to local tech meetups, hopefully in the area you'd like to transition to, but go anyway.