DEV Community

Ben Halpern
Ben Halpern

Posted on

What software development tools (libraries/frameworks/apps/whatever) make you feel most anxious while you're working with them?

The reverse of this post...

Top comments (90)

Collapse
 
missamarakay profile image
Amara Graham

Wireshark.

Because at that point, something is VERY wrong.

Collapse
 
phlash profile image
Phil Ashby

Similarly - gdb at assembly level...

Collapse
 
khrome83 profile image
Zane Milakovic

Docker, every time I touch it I feel like I waste so much time. I get it working, but I feel like I could of done better.

Collapse
 
adamkdean profile image
Adam K Dean

Keep going, once you master it, you'll reap the rewards my friend!

Collapse
 
xgrimau profile image
Xavi

Thing is that most of us just deal with docker when we absolutely have to. So you mostly have to relearn it every time '

Thread Thread
 
adamkdean profile image
Adam K Dean

Could you give me some examples of some of the things you have to do? Would be interesting to see it from another's perspective

Collapse
 
jaakidup profile image
Jaaki

Right, I try not to use it unless it's absolutely necessary.

Collapse
 
dfockler profile image
Dan Fockler

Same, the docker developer CLI and I don't particularly jive. Luckily docker is pretty much 'set it and forget it' once you set up a Dockerfile.

Collapse
 
metalmikester profile image
Michel Renaud

I've just lost three days of work because of that thing. Looks like a fourth in the making.

Collapse
 
terabytetiger profile image
Tyler V. (he/him)

Watching someone/working in Production Databases. There's so many easy ways to accidentally bring the system down in a fiery mess. Especially when watching someone that doesn't give off a strong sense that they know what they're doing.

Collapse
 
rudolfolah profile image
Rudolf Olah

Just as anxious-inducing for me is copying a production database to your local development box. If there's private customer data, ugh. (One consulting gig insisted I copy the production database over for local development or connect to it directly and it was a small business so the owners and employees and contractors can lose their livelihoods with one messed up SQL query or ORM command).

Collapse
 
markoshiva profile image
Marko Shiva

Same with me. Well that is a scary situation playing with the production database.

Collapse
 
phlash profile image
Phil Ashby

Heh, that's referred to around my way as 'playing Operation in prod', aka live heart surgery...

Collapse
 
codypearce profile image
Cody Pearce

AWS. The web interface is really complicated and I always worry I'm going to some how rack up a huge bill by doing something wrong.

Collapse
 
wceolin profile image
Will Ceolin

I have a similar fear when using Firebase. The web interface is okay but logging/debugging is really poor. For example, we pay by the number of reads/writes we do to the database.

One day I was setting up a side project and I was getting like 1,000 reads every time I opened up my app. It was freaking hard to debug where those reads were coming from as they don't provide a way to see stats by documents in the database.

I'm always afraid I'm going to do something stupid and end up having a huge bill.

Collapse
 
jaakidup profile image
Jaaki

The way firebase works is that all the debugging should be done on your app's side, unless the problem was with cloud functions.

Collapse
 
leob profile image
leob • Edited

AWS pricing is notoriously complicated and opaque.

I did a price calculation recently, comparing what it would cost to host something on AWS versus Linode, and I was pretty shocked to find that data transfer out was approximately 9 times more expensive per Gigabyte compared to Linode (I'm not affiliated to Linode in any way, although I've been a happy user for a couple of years).

But this is nothing new, I believe that billing being notoriously complex and nontransparent (and expensive compared to competitors) is a known thing with AWS.

Collapse
 
jaakidup profile image
Jaaki

That is the number one reason I decided to go with Google Cloud, as it's easier to use.

Collapse
 
rudolfolah profile image
Rudolf Olah

Anything to do with Android. My first attempt at making an app was about a year or two after Android launched (2009?) I tried again later on and didn't get very far.

And in the last 2 years I've tried to work on an existing app and that went okay except it was 99% React Native/TypeScript (which I already have experience with so I'm not anxious about it, I'm only anxious when people write JavaScript/TypeScript as if it were Java!).

Now I'm trying to give it another go, this time by using Kotlin to cut down on boiler plate.

But it still makes me anxious knowing that the official docs and some books won't have the help I need, it'll be some obscure question on StackOverflow or a random blog that has the answers to my questions about Android.

Collapse
 
cescquintero profile image
Francisco Quintero 🇨🇴

In general, mobile development. It seems soooo cumbersome to setup, tools are like too heavy, too many downloads, so tedious to test(sometimes).

Collapse
 
leob profile image
leob

Apple/iOS is even worse with their complicated Xcode and "iTunes Connect" tooling (which you have to use even when you're creating a mobile app with Cordova). Android tooling is much, much simpler. And with Google you pay USD 25, one time, while Apple makes you pay USD 100 per year (!) for the "privilege" to enrich their App Store with your apps.

Collapse
 
deciduously profile image
Ben Lovy

Vanilla JS. I had a dream about [object Object] once.

Collapse
 
adamkdean profile image
Adam K Dean

Was it the [object Object] of your desire?

Collapse
 
deciduously profile image
Ben Lovy

Uncaught TypeError: desire is not a function

Collapse
 
dpashutskii profile image
Dmitrii Pashutskii

For me "Eloquent JavaScript" and "YDKJS" were huge breakthrough on making up with JS.

Collapse
 
ben profile image
Ben Halpern

I'll say Redux. It's been a while since I used it, and I like the high level concepts, but the amount of verbosity and boilerplate always makes me anxious.

Collapse
 
patryktech profile image
Patryk

I've never used React/Redux, but Vuex is pretty nice. Especially if you use Vuex modules (which e.g. Quasar does by default). Plus Vue.js uses pure JS/ES6 (or Typescript, if you're into that sort of thing), as opposed to JSX.

I never got the appeal of React, tbh.

Also, I rally need to check out xstate - a JS state machine (library?|framework?).

Collapse
 
gyandeeps profile image
Gyandeep Singh

same. If you have typescript then it just so much bloat that you just go crazy. :)

Collapse
 
leob profile image
leob

And the amount of hassle to write 'immutable' code, which can however probably be avoided by pulling in a 3rd party library.

Collapse
 
scrabill profile image
Shannon Crabill

Anything NPM/node related.

It's probably just a permission issue, but I've run into an infinite loop of trying to update one thing, it says I need to update this dependency, but I don't have permission/can't for some odd reason.

I avoid it if I can.

Collapse
 
muttsuri profile image
Muttsuri

I had a permission issue to install elm, I ended up creating a folder in my home directory and change that to be the global one.
Npm actually recommend such an approach (though they recommend npx for global execution, while I just added the folder to path)

Collapse
 
dpashutskii profile image
Dmitrii Pashutskii

Oh, yes! I definitely forgot NPM and overall Node package experience in my list. Huge headache.

Collapse
 
patryktech profile image
Patryk

Windows.

I've been lucky in that I haven't really had to use it since ~2013, and I know my way around it (have basically used all versions from 3.1 to 7), but after using Linux, not having a drop-down terminal, or virtual desktops, or built-in SSH, GNU utilities, etc. means I hate every single minute I have to spend in that garbage bloatware.

P.S. I know, you now have WSL (and even when I used it, you had cygwin), so you can make it somewhat usable, but I'd rather not bother.

Collapse
 
kid_jenius profile image
Daniel

Windows 10 (released 2015) has improved immensely for devs that need bash/terminal/ssh/etc.

WSL literally changed the game. I used to hate Windows because I just want to use terminal (I used Linux, vi, terminal, etc for many years). But then WSL came out with integration in VS Code and it's been a godsend.

I encourage you to grab a Windows 10 device and try it. I guarantee it is light years ahead of Windows 7. You don't have to believe my words, just try it out yourself and form your own opinion.

Collapse
 
patryktech profile image
Patryk

I'm aware. In fact, I mentioned WSL in my P.S.

I encourage you to grab a Windows 10 device and try it. I guarantee it is light years ahead of Windows 7.

Yeah, but is it ahead of Linux?

Thread Thread
 
kid_jenius profile image
Daniel • Edited

For my uses, it's way better than Linux. But that's my situation. Your situation may be different. Regardless, it would be good for you to try the latest builds of Windows 10!

Thread Thread
 
patryktech profile image
Patryk • Edited

Regardless, it would be good for you to try the latest builds of Windows 10!

I focus on web development. I run postgres, nginx, python, docker, sometimes PHP or MySQL...

Seeing as Windows 10 uses up 1.5-2.5 GB RAM idle, and requires a VM when using docker, AFAIK, which wastes clock cycles, it's really not for me.

Use an environment for dev that's as close to what you run in production as possible. If you deploy in docker on the cloud, you're better off just using Linux on your machine, as well.

That said, I'm not opposed to trying it. I just don't have a spare machine or time to waste on that right now.

Collapse
 
pclundaahl profile image
Patrick Charles-Lundaahl

This.

Collapse
 
truex profile image
Andrew Truex

Pretty much every dev tool used in the development of native iOS apps. Even just downloading an open-source app from Github and trying to build and run it is a nightmare. Xcode is probably the most expansive IDE around but makes it difficult to complete even the most basic tasks without having to solve a nondescript compile error in the process.

When I first started programming I had goals of becoming an iOS developer. This was when Swift was still a fledging language which meant that most existing codebases, tutorials, and documentation of the time we're migrating from Objective-C, or worse, using both languages in conjunction. This led to an astounding amount of confusion and frustration. So many errors and warnings telling you to convert to a certain Swift version only to find out that the CocoaPods package that the app depends on isn't compatible.

By far the most anxiety-inducing, ass-backward hurdle to overcome when trying to run an app is the code signing and provisioning process. Without being enrolled in the Apple Developer Program it is monumentally difficult to configure and run an application with any advanced app capabilities. Even with the proper certificates you will more than likely experience issues with the bundle identifier not matching your provisioning profile, certificates being revoked for seemingly no reason at all, and the neverending struggle of code signing apps that you're collaborating on with multiple devs.

What makes all of this worse is the fact that Apple's Developer Documentation is atrocious. The documentation for many of the core concepts needed for programming for iOS has been relegated to the shadow realm aka the documentation archive making it near impossible to find. When you do find what you're looking for, chances are that the page hasn't been updated in years and the information you're seeking is only documented in a release note that you'll never find. Worse even are the topics only explained in a WWDC video causing me to comb through pages of video transcript to find the one instance where someone sheds light on the issue you've been having.

Collapse
 
pabiforbes profile image
Pabi Moloi, but Forbes

Xcode.
Just started with it and it is so confusing.

Collapse
 
defman profile image
Sergey Kislyakov

I didn't do any serious coding in Swift & iOS development, but I've played a little and AppCode worked fine for me. Consider trying it, though I recommend to have XCode opened, because some features are not implemented in AppCode (e.g. visual editing of storyboards, though trying to open it in AppCode actually opens XCode)

Collapse
 
ben profile image
Ben Halpern

Agreed 100%. Apple development is not a calming experience.

Collapse
 
kid_jenius profile image
Daniel

Completely agree. I've been using xcode for some time now and I constantly lose motivation because it is an abhorrent dev tool. I recently tried Xamarin.iOS just so I can keep using Visual Studio and it's been a much better experience.

Collapse
 
sansseryph profile image
Kyla

Unfamiliar git commands.

Collapse
 
rachelsoderberg profile image
Rachel Soderberg

Everything new and unexplored makes me uncomfortable still. My manager mentioned building our next service application using REST instead of SOAP and I immediately felt my hands get clammy.

It'll be fine, and I'll learn a ton, but diving into the unknown is still terrifying.

Collapse
 
bauneaustin profile image
Austin Baune

Parcel is also a great tool if looking to stray from webpack. Here's a great article comparing the two: blog.jakoblind.no/parcel-webpack/

Collapse
 
dpashutskii profile image
Dmitrii Pashutskii

Yes, Parcel is amazing. But, most of the modern tools are using Webpack so you'll face it at some point.
I am also still struggling with it.

Collapse
 
_hs_ profile image
HS

Azure, and mainly Microsoft tool except VS Code. Azure caused me so much pain: not creating resources without clear message why, unable to login to VMs, !!!Azure gateway/loadbalancer decoding URL !!! before calling my API so / gets decoded and send to 404, too slow to create stuff, poor handling od network connections lime cutting client from my API in middle of request, or my database connection does not get properly closed on network layer so all driver and frameworks that rely on pooling hang for a long time...