Types of software development

Question

bdw8 0

There are many different types of software development (from front-end web development to databases to firmware engineering), but many of us don't have experience in more than a few different types. So, I'm curious what type of software development have you done, how difficult did you find it, and what are its major pros and cons?

Share this post

Link to post

Share on other sites

1 answer to this question

Recommended Posts

bdw8 0

I've worked in Network Security, Data Storage, Automotive Research and Robotics.

Network Security
I would say this is about 8/10 for difficulty. I typically work 4-6 hours per day, but that's only because I end most days with a headache and am unable to work more. It generally requires me to pick things up very quickly (new security protocols and/or languages, and someone else's source code) and become an "expert" in a few weeks. For example, I was first brought into this role when some developers were working with OpenSSL -- they knew the basics, but their solution had some security vulnerabilities and didn't have the scalability or performance necessary. I had not worked with OpenSSL before, so the learning curve was steep. Most projects since then have been similarly challenging, and years later, it hasn't gotten any easier.

Data Storage
I found this was about 6/10 for difficulty. I logged solid 8 hour days, developing RAID firmware to ensure that data was accessible and would not be corrupted even if multiple hard-drives failed. Almost all of my work was ensuring that every imaginable error condition was handled gracefully, and it typically required very complex solutions that were very specific to the architecture of our code (and therefore not something you could get help with).

Automotive Research
I found this about 2/10 for difficulty, but I worked very long hours. As a strictly-research position, I was developing proof-of-concept infotainment programs to try to secure funding for development teams. The software didn't have to work, it only had to look like it worked. As a result, other developers were able to crank out code very quickly, but as I'm a detail-oriented person I spent too much time trying to make it actually work, and had to work a lot of overtime to keep up with my peers.

Robotics
I found this about 5/10 for difficulty. As an extracurricular project in college, I wrote the software for a small autonomous vehicle -- everything from the PID motion control loops to serial and ethernet communication to identifyng obstacles and lanes from a 3D stereoscopic image. However, since this wasn't done for work, I had a lot of flexibility which made it much more enjoyable.

As a whole, I've found software development to be more difficult than I had anticipated, but I'm curious to hear about others' experiences!