Got the job. Advice for surviving it?

Hello, everyone! Sorry for the huge blitz…

Summary of current situation - details to follow - :

  • Only developer for an extremely small “government agency”
  • Main duties - at the moment - include:
    • Upkeep of legacy software written using Delphi - trying to retire these, ASAP -
    • Writing new software/services, so far (mostly) in .NET/C# - command-line and WinForms - and MEVN/VENoM-Stack

Challenges:

  • New (01-2020) to MEVN/VENoM-Stack, Delphi, and Winforms - background is in ASP.NET MVC Web Development, mostly
  • Solely responsible for all security concerns in new/existing custom software
  • Microsoft/Windows Server-only Development and Production environment
  • No one to perform code-reviews/testing/etc., other than myself
  • Almost everything on-prem - cloud-anything frowned upon
  • Getting/staying organized - files, notes, and website links, mostly –. The mess getting bigger every day
  • Keeping tools/settings synched across Desktop, Laptop, Dev Server, and Prod Server

Questions:

  • #1 concern at the moment : What tools/services should I request in the upcoming budget-year? My slice of the IT budget will be fairly small, I’m certain. Specifically, what tools/services would you recommend to address the challenges above, given the summary previous?
  • What groups - other than this one - would you advise that I join (or attempt to join)?
  • What have I not thought about, that’s likely to bite me?

Details:

I was hired late last year to be an Application Developer, with side assignments as a DB Admin, OTS-software consultant, and a bit of everything else. It’s a job that dreams are made of, but it’s also extremely daunting and overwhelming.

Aside from the usual turmoil and confusion that comes with starting a new job, since I’ve been hired, there has been a change of leadership - my boss, Director of IT - and the covid-19 crises - been working from home since March. It’s been “interesting”.

As for the actual work, aside from writing code, I am responsible for:

  • gathering requirements
  • designing the UI/UX
  • documentation; both “internal” docs for IT and whomever may inherit my code
  • including my future self, of course - , and “external” usage docs for whomever will be using whatever software/service I create
  • setting up and maintaining development and production environments
  • creating and maintaining self-hosted git repositories
  • any testing I might have time for
  • a host of other odds and ends, including resolving any Tickets that may full under my realm of knowledge, and things that I’ve forgotten to include here

I use OneNote a lot, but it is not organized well. I’m trying to do most of my “official” documentation in basic HTML/CSS, so that we can eventually work it into a usable KB on our Intranet, but I find this slow going – been thinking of using TinyMCE to make this go faster.

Current tool/service-set:

  • Visual Studio Code; …with quite a few extensions
  • Visual Studio 2019 Community Edition
  • Notepad++
  • Delphi (10.3, 10.1, XE7)
  • MongoDB; with Compass Community
  • SQL Server Management Studio
  • Vue Devtools plugin for Chrome
  • Packet Sender
  • PowerShell
  • Git
  • Sourcetree
  • PuTTY
  • WinSCP
  • Inkscape
  • Microsoft Office Professional Plus 2019
  • Trello
  • Greenshot
  • HandBrake
  • Gimp
  • Blender
  • Audacity
  • OBS Studio
  • Speechnotes
  • CodeBeautify
  • MindMup; free account
  • Figma; have not had a chance to use – just have a free account there
  • InVision; have not had a chance to use – just have a free account there

Any advice on how to rock this job without going crazy would be greatly appreciated.
Thank you!!!

Hey @swin1.swilson!

Congrats on the job!

I wish I could give you advice on the job situation but I just started my coding journey 4 months ago. So unfortunately, I won’t be much of any help in that department. :laughing: But the good news is there are a lot of great experienced developers on here and I am sure they will give you some great advice.

When it comes to other coding communities you could look into some of the reddit programming groups like CS Career Questions. Since it is reddit you will definitely find some interesting exchanges but they can be really helpful too.

Good luck!

1 Like

I can’t offer any help/advice to the technologies your using, but I think I can offer some help on the overall situation.

Sounds like a “DevOps” job where your basically 100% of the following:

  • Developer
  • Project Manager
  • Designer
  • Quality Assurance
  • Tester
  • Operations
  • Support
  • IT

So its one thing to wear a lot of hats on a small team, its another if your wearing all the hats.

Your #1 problem is your doing too much in a situation that may be bound to fail eventually simply because your in charge of so much without even someone to watch your back. This isn’t your fault, but it is your responsibility to point this out to management. I’d worry less about the budget and more about time.

Assuming your the only developer/Project Manager/etc anything your doing means something else is “stuck” as WIP. If you wear a lot of hats it means more things are stuck WIP and start to build up. This might not be that big of an issue if nothing comes in through the pipeline that fast and you can keep up and finish this WIP stuff quickly enough by yourself. However if you can’t keep up then the software development system of 1 you will end up falling apart at some point due to a back-log of requests/bugs/features. This is essentially early signs your falling into an IT death spiral.

Best case scenario is you just have a lot of work, but can manage it and can see yourself managing it for the foreseeable future. Yes your flying solo but it sounds like you have enough experience to manage everything and keep it in a steady state. In this case keep doing what your doing, optimize the process where you can to save yourself some work when and where you can, even if it that means losing some productivity now, your future self will thank you.

Worse case scenario which may be happening or could happen in the future is your workload is slightly or dramatically higher than what you can keep up with and work starts piling up at some point in the software development workflow. If you feel like this is happening but aren’t sure where in the proccess, then your in the worst case scenario. You could have more bugs in the system, or more features than you can create, or increasing complexity that starts getting unmanageable, etc. If your in this situation you need to raise the alarm to management before it gets worse. This doesn’t mean management needs to give you more budget, management could lessen the load of your work so you can catch up, or have a feature freeze, or just give you more time and less work so thing stay stable.

One perk of being the dev is you already know what everyone knows, since “everyone” is yourself. The only blind spots are your own blind spots. The biggest worry I’d have is there being to much work than you can handle.

At which point you can have the largest budget in the world, but you still are limited to the fact your 1 person.

1 Like

Thank you, @jwilkins.oboe. I will certainly check out CS Career Questions on reddit, as I use reddit a bit, but have never been to that sub before.
Best of luck on your coding journey!

@bradtaniguchi, Thank you for your sage advice and thoughts! I will take this to heart, and give much thought on how to avoid the worst-case scenario. I’ve spent the last two days getting plugged-in to different dev groups, and hope to contribute and learn from each.
I know that I’ve been lucky so far, but luck only lasts so long. Therefore, I’m attempting to position myself so that when (not if) I start getting slammed/behind, I will be able to be able to deal with all requests in a thorough, timely, and secure manner.
While I don’t quite wear all the hats (at least all the time), I wear enough to know that I need help. Again with the luck, I have found in the last 24 hours that a fellow employee has coding experience (not in my stack, but at least knows concepts), and he is not only willing, but enthusiastic, about handling some code-review. If I can get our boss to agree to it (which I’d hope should be easy, given the circumstances), then we can have this gentleman code-review for me as an official part of his job. :crossed_fingers:
Thanks again, and I’ll “see you around here”.

1 Like