
Ask HN: Working remotely on first programming job? - lttlnwthrww
Hi HN,<p>I&#x27;m a beginning programmer and I need to work remotely because I can&#x27;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&#x27;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?<p>And if so, what should I make sure to master before I start?
======
kafkaesq
_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.

~~~
lttlnwthrww
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.

------
coderKen
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.

~~~
alashley
> 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?

~~~
coderKen
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.

~~~
atom-morgan
As for Twitter?

~~~
coderKen
@JavaScriptKicks @JavaScriptDaily this should get you started.

------
smt88
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.

~~~
atmosx
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.

~~~
lttlnwthrww
It's great to hear that it is indeed possible, thanks a lot!

------
facorreia
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.

~~~
lttlnwthrww
Thank you very much! That makes a lot of sense and I'll try to focus on those.

------
jadoti
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. :)

