Ask HN: Working remotely on first programming job?

14 points by lttlnwthrww ↗ HN
Hi HN,

I'm a beginning programmer and I need to work remotely because I can't work where I live. I studied information science (not CS) and worked for startups and programmed in a volunteer setting, but never had a programming job. I'm diving more into JavaScript and trying to learn all I can now. Is it possible to work entirely remotely even in the first job in the industry?

And if so, what should I make sure to master before I start?

16 comments

[ 1.9 ms ] story [ 71.7 ms ] thread
It's possible, but you'll get an enormous amount of value from working alongside an experienced developer. If you start out remote, I highly recommend saving up your money, looking for on-site jobs, and moving when you find one. Teaching yourself is a pretty slow way to get better, because you don't always know what you need to learn about. Having a mentor drastically speeds up the learning process.
I had an educational experience yesterday, remotely. Working via a shared tmux session while talking via google hangouts - it was a troubleshoot but I was able to observe the way of thinking, the work-until-you-get-the-bug-down mentality along with some nice tricks.

The good thing was that I was able to follow, the bad thing is that it was impossible to grasp everything at once. Having worked with different people in many jobs, my lead engineer yesterday made me feel way more comfortable than people I've known since childhood.

So, today there are tools (share-screens, tmux sessions, you-name-it) to educate someone remotely as long as we're talking about IT-related jobs. The most important thing is for the lead engineer to be communicative and open to Q & A sessions no matter how stupid the question might seem and the new entrance to put up the hours and get up to speed ASAP.

It's great to hear that it is indeed possible, thanks a lot!
Thank you, this is kind of what I was scared of so it's good for me to hear it. And I'm glad to see no one has found it impossible so far.

I shall also try to find a mentor anyway, local or not, colleague or not, that's a good idea!

It's a challenge. These are a few things you should look out for:

* Feedback: when you have a boss/leader close by, they may be able to give you more immediate feedback in case there's something you're not doing right or if there's a better way to do it. You can partially overcome that via regular check-ins.

* Mentoring: as mentioned by smt88, you learn a lot by observing how other people approach their tasks, and talking to them e.g. over lunch. You can do that partially in a remote setting (e.g. observing their commits, chatting, etc.) but it won't be as effective.

* Bouncing ideas: it often helps a lot to be able to quickly chat with someone (particularly if more experienced and/or more knowledgeable of the existing system and domain) -- sometimes a few minutes of conversation can help you get a better idea of how to solve a problem.

In short, I think this is not impossible to overcome, it's just harder, particularly when you're getting started.

You may want to find out if there are meetups in your local area that you can join to be able to talk with other developers. That might help a bit.

Thank you very much! That makes a lot of sense and I'll try to focus on those.
If you use twitter, I'd recommend following a couple of Javascript groups, this will help keep you informed. Also follow a couple of JavaScript publications on Medium too.

It's important that you are always updated as a developer because tech is really fast-paced, I was not fortunate enough to know this when I started programming 4 years ago in college because we had poor/no internet connection.

But with regular internet connection, I have learnt a lot and in a very short time.

I cannot not over-emphasize the importance of having steady source of programming info, especially if you do not have a mentor around you as was my case too starting out.

Also familiarize yourself with Git, create a github account because many companies use it a lot for collaboration.

PS: I live in West-Africa and I currently work remotely as a software developer for companies in New York and San-Fransisco and write a lot JavaScript daily.

> If you use twitter, I'd recommend following a couple of Javascript groups, this will help keep you informed. Also follow a couple of JavaScript publications on Medium too.

Which ones do you recommend for starters?

If you are not a very social person i.e you are not usually on twitter then Medium is the way to go, they deliver really juicy information right in your inbox every morning for your consumption. You'd be wise to follow topics like HTML/CSS, JavaScript and NodeJS.
As for Twitter?
@JavaScriptKicks @JavaScriptDaily this should get you started.
Thanks a lot for the advice, this really helps! It's great to read about your experience. Did you always work remotely or did you start with local jobs?
at first, I worked at local jobs for almost nothing just to get my foot in the door, after which I freelanced for almost a year (still local jobs) by then I had a lot of confidence in my skills so I started looking at remote Jobs.
Is it possible to work entirely remotely even in the first job in the industry?

Absolutely, and you'll learn quite a lot from it. The biggest (somewhat hidden) risk is that of communication disconnects that happen from the lack of F2F. Amplified by the fact that companies (especially startups) love to do weird things, like put inexperienced people into management; not communicate generally, and misunderstand things as if on general principle; fire people at the drop of a hat, etc.

So (aside from particular collaboration tools), mastering the art of what we might call "defensive communication" might be particularly helpful. By that I don't mean being continuously neurotic and fearful about people what people are thinking about you when they're not right in front of you. Rather, much more mundane stuff: (1) getting all important agreements (as to compensation, promotion) in writing (or at least in email); (2) not assuming that people are always reading / understanding (or even seeing) your emails, or other electronic leavings -- quite often they aren't; (3) being very efficient in your own communications (so as to triggering or further amplifying any such misunderstandings as they do occur); and (4) maximizing F2F, and other opportunities for bonding (softly, naturally) with others, as they do occur (without putting so much time or effort into it that it seems like you're putting too much effort or time into it).

That kind of stuff.

Great advice, thanks! For the encouragement also.

I have experienced such problems before working remotely in non-tech jobs and this advice will help a lot avoiding that in the future.

Watch the communication - even as a seasoned developer, my first remote position lacked good communication and I ended up having to be the driver all the time, which was a weird situation for me.

There's alot of "ambient communication" that you get in an office building or cube farm that you won't get as a remote dev... So be prepared.

Other than that, do it. It's been an amazing experience (besides the communication issue) and I certainly will be doing (or atleast trying to do) remote work from here on out. :)