Software Development

What is your programming niche?

While Web, mobile, and desktop application development get the lion's share of attention, there are tons of other types of programming jobs. Justin James is curious to know what type of development work TechRepublic members are doing in their shops. Take this quick poll to let us know.

While Web, mobile, and desktop application development get the lion's share of attention, there are tons of other types of programming jobs. Though I'm sure that most Programming and Development readers are focused on Web or desktop development, I'm curious to know kind of work you're doing. Take this quick poll to let us know.

J.Ja

Disclosure of Justin's industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.

About

Justin James is the Lead Architect for Conigent.

49 comments
joeller
joeller

I have primarily been building Web apps to display update, insert and delete data from SQL Server, Oracle, or DB2 databases. I have been doing this in ASP, ASP.Net, and JSP; using vbScript (classic ASP), javascript, Prototype AJAX, ASP.Net AJAX, VB.Net, C#, and Java. As I have usually also been the DBA for for the databases we were using, I also had to write the Stored Procedures, scripts and packages for the database as well. I have also been maintaining GIS websites using ESRI's ArcIMS and ASP. Three years ago for a period of 7 months and again for the last couple of months I was assigned to build desktop apps, one using Visual C++ MFC and the other Windows forms. However that is very unusual.

Osiyo53
Osiyo53

Mostly the programming of BAS (Building Automation Systems) and Energy Management. The majority of which involves the use of proprietary programming languages. (Although some are similar to general purpose programming languages some of you would be familiar with.) Beyond that, I routinely create specialized utilities for use in our work, to ease routine repetitive functions, using one or another form of Basic, or sometimes C/C++ if there is a need for speed. Additionally, it is sometimes necessary to write specialized functions in Java or Javascript for front ends (control stations) to implement some needed (customer required) function that isn't already included in the standard library of functions provided by the software vendors who provide front end software. Never have the need to write an entire app in Java, just the occasional function. I do some VBA. Since we use formalized forms a lot, based upon Excel (mostly) or MS Word. And there is the occasional need for some function that is not built in to those. But mostly, my niche is the proprietary programming languages associated with the control systems we install and program. Most of which would look familiar enough to the majority of you. Several of them look a lot like a generic Basic or VB6 (some look like C/C++), with specialized extensions that are needed for machine control. Tho several of the new ones look like Java. Easy enough to use an program, familiar to most programmers. The real trick is that one needs a real technical knowledge of the equipment to be controlled, or you can really screw up some very expensive equipment. Or even make things go "BOOM" and undergo quite sudden catastrophic dis-assembly ... which is not the desired goal.

Former Big Iron Guy
Former Big Iron Guy

Geez, I think I've done everything listed at some point over the last 40 years. Right now, I design code and build whatever is needed to get the job done, if I cannot find FOSS that *has* a community of supporters and is reasonable to use.

ScotlynHatt
ScotlynHatt

REST and Web Services using FOSS like Apache/Commons, Spring, Hibernate, JBoss, Red Hat. I like to think of it as a common sense approach for a SOA-esque enterprise system without vendor lock-in.

sms2
sms2

Strangely enough, I make a full time living out of Spreadsheet Development.

littlepd
littlepd

I'm a solution development consultant that specializes in non-standard user interfaces to DB2 running on the IBM i. I've front-ended the i's built-in database with CGI web pages, JSPs & Servlets, DB2 Web Query, and even Excel. Which ever way my client needs to access their information, that's what I do.

zdnet-
zdnet-

Crossplatform (Java SE, CLDC, etc., .NET; Unix, Windows, Symbian, Android, ) middleware.

dvroman
dvroman

Web development Desktop/CLI application development Scripting/utility development Database development Installations On Multiple Systems (Everything From PC to Mainframe)

khawkdfw
khawkdfw

Web, Desktop, And Database programming. We do it all.

jmartyinva
jmartyinva

Data extraction, creation of SQL Server databases, reporting of financial data with Excel & Access, and posting of results with VB or ASP.

RogerInHaddenham
RogerInHaddenham

Been doing it for 10 years now I suppose, mostly using various incarnations of Installshield to get simple apps, Oracle & MSDE servers, IIS websites & semi-interdependent education packages onto occasionally recalcitrant versions of Windows.

MarioBJones
MarioBJones

I build large scale enterprise business applications in Java as the core language and its host of alphabet soup of supporting frameworks, libraries, etc.

ByteBin-20472379147970077837000261110898
ByteBin-20472379147970077837000261110898

I work for a web hosting company so I do web development but I also am admin of a LAMP server so there's scripting and programming custom utilities and such needed for operation of our server and for enhancing our available offerings and features. So I'd say it's a mix of the types mentioned in the poll. And as a hobby, I'm getting into embedded Linux programming as I work with the WowWee RoboSapien RS Media Robot.

kgunnIT
kgunnIT

Well, my position requires several different programming types. My forte is desktop development (C#/C#.Net) and database development (SQL), however, I have also explored mobile development and done some work with Web development, as well as a bit of scripting/utility programming.

bill_etter
bill_etter

Although database design, development, and implementation is my primary function, I couldn't survive in our shop (3-4 working programmers/developers) without wearing many hats. Web developer, desktop developer, SQL Server 2005/Oracle dba, hardware consultant, web security and several other miscellaneous functions.

dharris
dharris

We are maintaining the DB2 database using Cobol/RPG. All new stuff has been in ILE format. But we are now pulling away from our 400 a bit and going in the .NET direction.

mattohare
mattohare

I do work on client applications for the desktop and on the web. More than once I have thought it funny this is all rolled up under "web development" for the newsletters. I'm glad you cover the other bases though.

WGPhaneuf
WGPhaneuf

I've been writing a restaurant touch-screen application in "C" for 28 years, and it's still under development.

santeewelding
santeewelding

Lemme sharpen my pencil and double-do the budget.

jslarochelle
jslarochelle

If your curious check out the FTSW100 brochure Since ABB Bomem was primarily a maker of Fourier Transform Interferometer this application was initially dedicated to that. However, now it can be used with other instruments. The suite is written primarily in Java but includes a number of JNI modules to interface with external libraries. So we use both Java and C++ as our main programming languages. JS

Justin James
Justin James

I do a little bit of everthing, but for the last few years, it usually falls under the "utility" headings. Most of the applications I write are very small items, some of them only to be used for a few minutes or hours and thrown away. Some of it is Web work, some of it is desktop/CLI apps. J.Ja

jck
jck

Web (java/html/etc) DB (Access, PL/SQL, InformixSQL, etc) GUI (Access, VB, VB.NET) I have done embedded, scripting, mobile (way back...VB5 for CE lol), and mainframe (RPG and COBOL).

Slayer_
Slayer_

Essentially I make GUI's to represent data. Kind of like ridculously complicated Access screens. It then creates or modifies data to print on legal documents.

Justin James
Justin James

Slightly different mix of technologies, but same idea. It can be very "interesting", depending on how dirty and irregular the data is... J.Ja

gypkap
gypkap

With a mix of Fortran and C/C++ to crunch numbers, and Visual Basic for the user interface.

joeller
joeller

Once I was hired to do VB 6.0 programming and ended up build Stored procedures loading data building DTS packages etc. Another time I was hired as a web programmer and ended up working as the DBA for the company and the customer. I have also had to do a lot of the net admin's work to deploy my apps as there was no one else to do so. On the one hand it makes your job harder, but on the other you sure learn a lot of other disciplines, and it makes your job interesting. Heaven forbid I should ever be in a job where you go to work and do the same thing day after day, year after year.

adornoe
adornoe

To be as extensive and capable as a desktop system, and look like one to the user, there are way too many hurdles to jump. An application is not directly dependent upon the platform or API or GUI or software used or tools used in order to be "extensive or capable" or challenging..

Justin James
Justin James

In all honesty, I do not enjoy Web Development like I used to. I haven't enjoyed it since I worked in Perl, and 99% of my work was "under the hood" doing work that could have been in a command line app or a desktop app (pure processing). I simply do not enjoy dealing with the processing model of Web apps. I am quite grateful that they aren't my bread-and-butter anymore. :) J.Ja

adornoe
adornoe

Actually, in the IT industry, no program or system is ever completed. Once "completed" according to the original specifications and original expectations, and once the program and/or system is implemented, the users and even the programmers and designers will think up needed improvements and new features. It's the nature of the beast known in IT as "software development".

shakespear.joy
shakespear.joy

I am infact jack of many but master of none still studying i have c,c++,java,vb,sql as oficial academic subjects but i am also involved in perl,php,python,ASP.NET,assembly(just starting). i am also into DTP,Animation,etc. Also am currently studying for MCSA and CCNA. anybody offering to help may do so at shakespear.joy@gmail.com

alxcsby
alxcsby

Hey, it's a start, right? Everything I've done has been customized forms and calcs for the financial industry (*cough* scripting and a little bit of C#/C++). I'm just starting to learn, though, and I plan to pick up and start really using C and focusing towards embedded/cross compiled programming.

alaniane
alaniane

I've been doing mainly database development using C#, VB, and T-SQL. Most of the work is adding new features to the company's frontend app and pulling data for reports. Occasionally, I write utilities to interface different apps together.

sean_clancy
sean_clancy

My need for programming in .net grew out of a total lack of guitar tools on the net that I needed for jazz school but weren't available. Right now it's grown into a monster with more that 19 different apps in 1! Still people like it! Programming for me is a little addictive (no food, only coffee - dark nights (I'm too concentrated to turn the light on!)

john.a.wills
john.a.wills

I do various work, mostly in SQR, around a large Oracle database on HP-UX. Some of my work involves new tables and PL/SQL for web pages, at which I am only very slowly developing competence. And I write Oracle Forms. Yesterday I was given a Cobol program to reform (same database), and I think I have forgotten how to compile Cobol on HP-UX, it's been so long since the last time. I also do Access databases when what is required is too difficult for the end user or the IT manager.

Kruger.henning
Kruger.henning

C,C++ on Unix (Sun Solaris)... Still love it even though I have been busy with MS Visual C++ and Plex.

Michael Stopford
Michael Stopford

Until about 5 years ago I was mostly developing & testing embedded software for mission & safety critical projects in avioincs & defence. Since retraining using .Net I spend most of my time developing & maintaining client windows apps.

Tony Hopkinson
Tony Hopkinson

Nope, never said directly anywhere. It's what sort of challenges you are facing that was my point. A lot of things that would be no challenge at all, if you did a desktop app.

adornoe
adornoe

Sounds to me like you need more challenging work. Web applications can be as extensive and as complicated and as capable as desktop applications. You probably haven't been involved in such projects which can keep you busy and challenged at all times. I'm currently trying to come up with a web application which is as challenging as anything that I've ever done in my career in the mainframe platforms. I've been involved on some of the huge applications that touch people's lives on a daily basis, such as credit card applications, on-line banking systems and telemarketing systems (like those at Home Shopping Network and elsewhere). However, the application which I've been trying to develop is as large as anything that I've done in the past, and it will be a web-based application. The biggest challenge for me is doing it all by myself. I actually could use some help. The other problem with my app is that I started with the idea for the project when ASP 3 was popular and most of the coding was done using that scripting language, HTML, CSS, and ACCESS for the database. I would like to finish the coding using ASP 3 and then, when the time is right, recode most of the system to take advantage of newer technologies and software. The ACCESS database is no longer part of the system since I realized early on that ACCESS would not be capable of handling the tremendous size of the database for which the application is intended. The database portion of the system is now using POSTGRESQL. The biggest reason why I have not finished the application by now is that I put it aside for a few years in order to concentrate my time on another idea. But, I've come to realize that there is a greater potential and greater need for my original idea and I've come back to it. The idea is in the media field. It would be something to replace or compete with newspapers and magazines and TV/radio news. It's not intended to be just a news source. It's also intended as an information source. It's infrastructure is intended to bring all the news sources, reporters, columnists, blogs, forums together. It is intended for news, information, and opinion/commentaries/editorials. It won't be like a Wall Street Journal on-line or like a NYTimes online, or like a CNN online. It will be all of the above and much, much more. It will also be a referral service (via links) to other news sources. I'm also trying to code into the system a CMS in order to have the system contain it's own source and reporters/columnists/contributors. The system will have search capabilities much more robust than any search engine out there right now. However, it won't be a replacement for Google or any other search engine. But, on the news and information and in the opinion side of the internet, it will be much more capable than any search engine. It's very ambitious and complicated, but most of the on-line parts of the system are already coded and working. There will be a need for a lot of off-line stuff and, like I stated previously, a lot of recoding to take advantage of the newer technology and software and methods. It's challenging and difficult work, but it will get it done.

joeller
joeller

While our managers would love to have applications always under development so that can have a contract that is always showing income, the customers' managers view the product, once it is delivered, as done and only in maintenance. They will then get their own programmers to handle this maintenance. But for us, it is over and done with. Now on to something else. I think I would die if I had to work on the same project day after day, year after year.

adornoe
adornoe

You might want to consider stopping new work to convert your older work to ASP.net. You may find out if you don't your app will always be using older technology. You might be right but, the scope of the work is just too much for one person alone (me) to go back and recode. I'm trying to get to a point where I could implement the application and then, if and when the application proves to be a hit, go and hire a few people to help with the redesign and re-coding of most if not all the pages and even some of the database access methods. Like I said, my problem is that I don't have a staff of people to help me with the system. If I could only get someone to volunteer to help with the system I might get to the implementation stage quicker. Then, and only then, would I worry about getting an operations and development staff.

adornoe
adornoe

I basically stated the same thing as you a few posts above yours. An application is not difficult or challenging just because of the platform or the tools used. An application can be complicated and difficult just from the scope of what it attempts to accomplish. I doubt most people have designed or code anything as difficult or complicated as what I'm trying to develop right now and which I explained briefly in my post above. And, I doing it to be mostly a web-base application with ASP, HTML/CSS, some Javascript and POSTGRESQL. Those tools are not complicated, but what I'm trying to get done with them is.

joeller
joeller

Client side coding? ActiveX with problems fixed. Not capable of being as complex as a desktop app? I don't see it. using you post backs, call backs, AJAX, and calls to server-based business tier classes, and stored procedures, most of your processing is done on the server or in the database. The only thing that happens client side is the thin client interface, which you generally only want to display data, receive data, and transmit data. everything else happens server-side. The only client side scripting I do is validation. Even in ASP most of your programming was done for server side processing either in the code of the page itself of in calls to Page Objects. I never used cookies as they were not allowed by my customers nor was Active X. the code behind pages of ASP.net and the server-controls on the mark up page generate a page that is strictly html based on what your server side code was doing. As for maintainig state, yes the web is stateless, but it a simple matter to preserve state in your server side code, by means of Session variables. I have come to enjoy Web programming some much that I view the time spent working on desktop apps as being punished by being sent into exile.

joeller
joeller

You might want to consider stopping new work to convert your older work to ASP.net. You may find out if you don't your app will always be using older technology. We worked on a major Web app for the Navy that encompassed 2200+ pages. It was divided into modules and programmed in ASP 3.0 using their Page Objects all over the place. We delayed converting it to .Net and atually deployed a couple of other modules in ASP, until Microsoft declared that they no longer supported Page Objects. Then we started to convert it to ASP.Net. That was four years ago. In all that time the framework of the Website was converted to ASP.Net 1.1 and a number of new modules were brought on line as ASP.Net 1.1. However, many of the older modules are still in ASP, and it is time to upgrade the ASP.Net 1.1. This web site will probably never reach a finished state because of the delay caused by constantly having to go back and redo work because we didn't upgrade the whole thing at once and as soon as possible.

Justin James
Justin James

Tony hit it on the head. There are so many times in a Web development project where the actual code that does the actual work takes a small fraction of the time, while the rest of the time is handling things like "what if the user hits the 'Back' button?" and "what if they double-click the 'Submit' button?" and "why can't I get this to display correctly?" Or my favorite, "if they open this link in a new window, will my application break?" These problems simply do not exist in a desktop application, or even an RIA application. A few months ago, I was working on a Web service that interacts with Exchange's Web service, to do what you used to hook into a COM Event Sink for (which is an equally miserable thing to have to code up, from what I could tell). It took me roughly 2 hours to write the core code of my application. It took a *week* for it to be done, all due to issues around the fact that it was a Web service, WSDLs, SOAP being stupid, etc. J.Ja

Tony Hopkinson
Tony Hopkinson

fighting against the system. To be as extensive and capable as a desktop system, and look like one to the user, there are way too many hurdles to jump. The so called new tech is not new, basically it's activeX with a few of it's issues resolved. Same fundamental idea though, and just as flawed. The web is push pull and stateless, clientside execution and cookies no matter how implemented don't fix that, they simply hide it.

adornoe
adornoe

Perhaps your part is over and done with, but not so for the customer for whom you did the original work. As I stated, the application itself continues to evolve and designers and developers continue to make changes and sometimes a complete redesign and re-programming. But, I doubt there's ever been a system or application that remained the same for its lifetime unles that lifetime was very short.