
Ask HN: How to make the most of a slow job? - scmoore
Hi HN,<p>I&#x27;m in my late 20s and I&#x27;ve been doing web development, back end mostly, for a couple of years.<p>I just moved back home to Virginia, where I&#x27;ve just started a new job at a university. I&#x27;m worried because it seems like a little bit of a backwater.<p>For example, there&#x27;s no version control, and no bug tracking system (all requests made via email). I was told this was because it&#x27;s such a small operation -- only two of us writing code. My boss doesn&#x27;t seem to be resistant to those practices, but they&#x27;re not implemented yet. The applications being built typically have very few users (maybe only a hundred or so). It&#x27;s all ColdFusion, which I don&#x27;t know much about. The pay isn&#x27;t great but it&#x27;s enough to live on and save a little.<p>There are some upsides. One is that I think I&#x27;ll have a lot of free time and choice in how I spend it.<p>Later, I might be able to take advantage of steeply discounted tuition at the university. I don&#x27;t have a CS degree and this one would be pretty cheap as they go.<p>How can I make the most out of a situation like this? Should I be looking for a more sophisticated workplace now, rather than sink time into this one? Should I hang on for the sake of the tuition? Or just loaf around drinking coffee and reading HN?<p>Also please let me know if I&#x27;ve left things out, I&#x27;ve tried to be brief.<p>Thanks!
======
cnp
Honestly, I would recommend looking for another job. I was in a similar
position recently and took advantage while I could, but it really starts to
get the best of you. Also, considering we're in a development renaissance
right now, why would you want to miss out on the possibility of advancing your
skill-set and doing something interesting?

It sucks to change jobs but trust your gut.

~~~
scmoore
Thanks, I'm afraid changing jobs is the answer.

------
jared314
It sounds like you have a less demanding job, thus allowing you to choose your
own adventure. Don't loaf around. This is a gift.

My suggestion:

1\. Learn the existing CF system, with full knowledge that CF is not a
"marketable skill". (Even though there are a ton of legacy systems written in
CF out there.)

2\. Institute the process changes (source control, bug tracking, testing, etc)
yourself, just to learn them and experience the problems in implementing them.

3\. Use the free time to build a complete replacement for the existing system
in a currently marketable stack (Node / Javascript, Elixir, Clojure /
Clojurescript, .Net, etc).

4\. Socialize / network with other developers at meetups and conferences.

5\. Start the CS degree (and possibly explore options for transferring).

Extra Credit: Start a side business as a web dev consultant or, even better, a
product. The education market is full of niches that can be better filled, and
you have a front row seat.

------
mooreds
What do you want? What are your end goals? It's hard to answer this without
knowing that.

For example, if you want to work for a SV startup, I'd move out there asap, as
the skills they want are decaying right now.

Or, if you wanted to teach CS, or even IT, at the college level, you should
take classes and get a MS or PhD in CS.

Or, if you want to do webdev and support for local companies and ColdFusion
interests you, you could learn the ins and outs of ColdFusion, learn project
management and estimation, and set up some of the basics of the Joel Test (
[http://www.joelonsoftware.com/articles/fog0000000043.html](http://www.joelonsoftware.com/articles/fog0000000043.html)
) for your current job, and learn a ton.

~~~
scmoore
Unfortunately I just moved _back_ from the SV area, my wife didn't like being
so far from family. A startup sounds interesting though. I'm still pretty
vague on what I want -- I've only worked (as a developer) for one other
company. I guess the standard advice is to do a lot of side projects to find
out what's interesting, but I've had a hard time motivating myself to write
code outside of work.

------
redmattred
ColdFusion is kind of a dead language at this point, but there are still many
legacy products build in CF that need to be maintained. With CF developers in
short supply, you could carve out a valuable niche for yourself if you want to
deep end on the language.

Getting a CS degree on the cheap seems like the big pro here and would help
you down the line. Even though its possible to get a developer job without a
CS degree, it certainly helps. Many companies screen out anybody without a CS
degree altogether.

If you have a lot of downtime you might be able to pick up some consulting
work as well and broaden your exposure to some other technologies.

------
saluki
If you're interested in getting a CS degree now might be the right time.

CF isn't the most popular language but you could gain skills setting up
version control and a testing/deployment system.

A ticket system would be nice as well.

I would recommend giving startups for the rest of us a listen and see if
creating your own products or apps is a good fit for you to start working
toward now.

It's nice being close to family and picking up a discounted degree is a plus
too. It might be a nice job to relax in, get a degree and start building your
own products/SaaS app.

Good luck.

------
derekp7
Whatever you do, do not let yourself become too idle. It will make the days
drag on, and at the end of the day it will feel like you wasted the day.

You should at least use version control for what you are working on. Even if
it is just a local Git repo (that you keep backed up, of course). Same with
ticketing, either pick up one of the open source ticketing systems just for
your own sanity, or take time to create your own ticketing system if there is
that much slack time.

~~~
scmoore
Thanks, these are all good points!

------
mikkow
Try to improve the situation. Software development is all about team work, and
skills and experience in developing the development are appreciated. If you
can tell in your CV that I made this and that improvement, I would consider it
a great plus. CS degree also sounds like a good idea (I'm in Finland, don't
know about scene there).

If it does not work out, you can always look for a new place.

------
michaelmcmillan
Make yourself as valuable as you can. Learn ColdFusion, be humble, suggest
using other alternative technologies, and perhaps most importantly: show
initiative! It will get you very far, even if you're only there for a short
period of time.

If I were you I'd start out by attending some interesting classes and if
possible sign up for them.

------
scmoore
I just want to say thanks for the advice & support in this thread -- I'm
meeting with my boss next week and will hopefully get started on implementing
these improvements.

------
arh68
How quickly could you acquire the degree? 4 semesters? Is the department going
to grow any time soon? Certain commuter schools in nova seem to get bigger all
the time.

~~~
scmoore
I think 4 semesters is a good estimate. I get the impression that department
won't grow quickly.

------
papaf
I recommend this talk by Zed Shaw. I consider it a classic and worth the time
to watch:

[http://vimeo.com/2723800](http://vimeo.com/2723800)

~~~
scmoore
Thanks, I'll check it out.

------
techjuice
I'll just say you are in a very good position for now to advance your skills
to the max.

Your in a place that needs some renovation and your the chosen one to do it.

1st Phase: Doing an survey on what can be implemented to improve the work
environment. From what you have listed the first thing I would recommend is
setting up Git on your machines to implement modern version control. Then
setup a testing, staging and testing environment. You can then setup an
integration server and run ColdFusion tests in the staging environment before
you deploy your code to production. This will add development, automated
continuous code integration and source control management to your resume.

2nd Phase: Setup a ticket system for all requests for bugs, features, etc. to
be funneled through to decrease email support.

3rd Phase: Build analytics into the system, first start out with setting up
monitoring for the web and database servers. If you only have one web server
create a new server to put the database on to enhance security. Have the
database server only accessible internally. Then duplicate the same to your
staging and testing environments. This will help increase security of the
overall infrastructure if this is not done already. For you this will allow
you to add designed secure muli-tiered server infrastructure, infrastructure
monitoring and analytics.

4th Phase: I am not sure if you are able to change what your running as a
server side language from Cold Fusion if not I recommend that you master
Coldfusion, also not sure what version of Coldfusion you are running but if it
is the enterprise edition there is a nice bit for you to learn.

If you are able to change the language I would recommend doing a survey to see
what features you currently have in the site and then choose a language that
you can migrate the system too and get industry certifications to help you
become more marketable.

If you choose Java you can get certified in Java SE, Java EE, 11g,12c, etc.
use this until you get all the way up to expert level for each cert if
possible. If you do not see this as a route due too the required class costs
you can choose an alternative from a highly demanded programming language or
framework like Ruby, Ruby on Rails, Python, Django, C#, ASP.NET MVC, NodeJS,
Go, Closure, ClosureScript, Scala, Dart, etc. Then setup the frontend in
AngularJS and create a WebAPI to interface with the website.

5th Phase: After you have a strong site setup you can use the API to interface
with mobile applications you create for iOS and Android to add both to your
resume. I

This should help you add some meat to your resume and if your going to be
working somewhere for 8 hours a day you might as well make it work for you and
get your experience and certifications. Check with your manager, admissions
and HR to see if there are any opportunities for you to get a B.S. in Computer
Science fully paid. You might even be able to move up the ranks over time to
higher positions within the company or start your own consulting company.

I am also sure you probably see a nice bit of variation of people at work. Get
to know them go out to eat from time to time. They might be a very good
contact or business associate for you in the future. You could become friends
with the next Mark Zuckerberg or become the next Mark Zuckerberg and might
need some college buddies to help you get things started up.

Once you have done what you feel has fulfilled you there it will then be time
to spread your wings and fly to a new job. If you can get the B.S. in Computer
Science degree that would be nice but don't let that hold you back.

