[TriLUG] Developer environment for starting programmer

Igor Partola igor at igorpartola.com
Tue Dec 23 13:41:11 EST 2014


While this thread is full of great suggestions, I'd like to offer a couple
of thoughts as well.

First, don't have him start with vim, git, command line, SFTP, etc. He is
interested in web development, not in new editors or version control
systems. These things are fantastic tools (indeed I use them literally
every day of my life), but they are also a barrier of entry. The value of
knowing how to use VIM is not much if you could have spent the time
learning how to write code. Eventually, introduce these things, but at
first, find a simpler way.

I can think of several ideas. First, and simplest to set up is sshfs +
whatever local editor he's comfortable with. I worked with a developer that
cut his teeth on GEdit. Sublime is a decent advanced option, and is one
step closer to vim. Even Eclipse could be used for this purpose, though I
wouldn't recommend it to a beginner without an expert looking over his
shoulder at all times. The problem with this setup is that depending on
where the remote host is, and how unreliable the network is, you could run
into issues with the FS locking up.

A slightly less nice alternative is using SFTP and having a local editor
save files remotely. This doesn't suffer from the sshfs locking up problem,
but is slower.

If you want him to continue to do all his work on your LAN (vs having a
server running on the Internet), you could use Vagrant. This tool is
invaluable, and mostly stays out of the way. For those not familiar,
Vagrant wraps the functionality of VirtualBox (and other similar things),
and controls the VM it spins up from the command line. Its magic is in the
ability to create a mounted filesystem inside the VM that contains your
code. Thus, you edit the files on your laptop, and they are instantly
available inside the VM. It also can map VM ports to host ports: one of my
projects maps VM's port 80 to my laptop's port 8080. That way I hit
http://localhost:8080 and get the response from the VM. Making this work
requires one line in a config file. Let me know if you'd like for me to
elaborate on this more, or just hit up
https://docs.vagrantup.com/v2/getting-started/index.html.

I use Vagrant daily to develop for Linux servers while working on a Mac.

Igor

P.S.: Don't use SVN. Outside of projects that use it for legacy reasons,
there is no good reason to use it. git (or even mercurial) are
fundamentally better, and much more useful on the job market/at work.


More information about the TriLUG mailing list