views:

656

answers:

17

My past experience has primarily been in the new media industry. My experiences were that while this industry seemed to be laid back, most places have next to no management protocols. This inevitably leads to disorganized chaos,a lot of firefighting and lots of late nights.

I also find new media work to be mostly the same type of developments i.e. web based ECommerce/CMS/Marketing sites. Though I will admit that I have had some interesting projects in my time, though they were few and far between.

My current position is more line of business, internal application developments. In this type of industry I find I am dealing with more than enough protocols and procedures (red tape ahoy!). The disadvantages here are that I'm working on large old projects that were written years ago, so it is not bleeding edge. I'm also finding that of line-of-business application development seems to be split something along the lines of:

  • 60% Mapping UI screens to CRUD operations.
  • 15% Maintaining legacy systems
  • 15% Business logic.

I wonder what your experiences are like, anyone working on:

  • Framework developments,
  • Or maybe E-learning portals
  • Games/3D Applications
  • Financial applications
  • CRM systems

Tell me your experiences and what you guys/gals find the most interesting type of development to get into.

EDIT:

I suppose this is slightly off topic, but can I also ask what languages you primarily use in your interesting roles. Not for flame war time, but to simply gauge which language fit in which sectors.

+1  A: 

The development I find most interesting is the one that can be reused by the next projects, so you can say frameworks are the things that get me excited. The reason is simple, it makes me more productive every project that goes by.

Otávio Décio
A: 

GIS (Geographic Information Systems) - lots of great client data, aerial photography (OK, not such a novelty these days...) and maps.

Richard Ev
+9  A: 

I like short development projects. Otherwise things drag on and I get bored and lose interest!

revs
Really, not at all for me. The short projects often have nothing new about them. If I wanted to do the same thing day in day out Id work at MCDonalds :-)
Owen
I've never seen quality come from short-term focus.
Chris Noe
I don't really think the quality of a project should be any different. Whether its a project that takes days,months or years, surely you still put in the same quality work?! I tend to find that shorter projects, and hence usually smaller programs, have a much higher quality of work
revs
+8  A: 

R&D definitely.

Being able to research new technologies is a big plus.

Dev er dev
+2  A: 

Kernels, compilers, reverse-engineering tools, emulators. All of them are far more fun than anything else I've found.

That said, kernel work is probably my favorite. I've never seen any field that had as much room for R&D as the kernel world.

Cody Brocious
Compilers were somthing I looked at in university only. And something as low level as Kernal development scares me to death. Maybe your right, I bet this type of work would be interesting. A damn site more than modelling some business proccess I bet.
Owen
pezi_pink_squirrel
+19  A: 

I like reusable library development:

  • It tends to be self-contained, rather than using load of extra libraries and services.
  • It tends to be more easily testable than application development, due to the first point.
  • I get a kick out of creating an elegant design, which is much more important in library coding than application coding.
  • It can often be done on an ad-hoc basis: I've been gradually adding to MiscUtil for years.
  • It's useful to other developers - I like the idea of devs as customers.
Jon Skeet
@Jon: Did you mean "It tends to be self-contained" - is not a typo?
Software Monkey
oops, yes. will edit
Jon Skeet
+3  A: 

User Interface Development does it for me.

Galwegian
+6  A: 

I like building anything as long as I can see my user's reaction. Prototyping and evolving GUIs certainly applies here. But I've also gotten the same satisfaction from developing batch code because it filled a real need, and the users played the driving role.

The greatest impediment to producing excellent software is insulating the development team from the users. Too many projects "quarantine" the development organization.

Chris Noe
While I completely agree with what your saying, I can feel this type of response going off topic quickly. I do agree though :-)
Owen
++ I'd say this is at the heart of the topic.
le dorfier
+1 - my team lost focus when we were isolated from the end users. Overall quality dropped because we suddenly found ourselves wanting to make everything top notch in a short amount of time. I think this could be overcome with good analysts who clearly convey end user needs/preferences, but the analysts weren't given enough time/incentive to do so.
Mayo
A: 

The code I enjoy writing the most is that used to circumvent restrictions.

G-Man

GeoffreyF67
+3  A: 

Computer games, Artificial Intelligence, and low-level programing (embedded systems, electronics, robotics)

All of these are awesome.

Computer games are great; you must have been playing a game before and thought "this is cool, but wouldn't it be wicked IF..." . I'm lead dev for a Ultima Online custom server, Angel Island. It's great writing game systems - except when you get killed by them in game :)

Artificial intelligence and robotics/electronics - nothing quite like seeing your code learn, and perform in the real world!

pezi_pink_squirrel
Please could you tell me where I might look to learn more about this subject area. Or is this information only avaliable to an MIT/Oxfard graduate?
Owen
Hi! I've never been to university (or college) so don't worry about that. Which aspect in particular were you interested in?
pezi_pink_squirrel
If you're interested in games, I got my start in the gamedev.net forums and articles (many years ago; dunno if they're still any good). For an intro to embedded systems (like robots), you can learn a lot from the "What's a Microcontroller" article from Parallax, Inc. (google it)
rmeador
Indeed - Parallax inc. Are totally awesome, all their educational material is FREE, great for basic robotics. Their main product, the BASIC Stamp, is a PIC with some extra hardware to enable a BASIC language (PBASIC) and whilst limited, it's a great grounding to start with.
pezi_pink_squirrel
I cannot reccomend more André LaMothe's excellent book "The Black Art of Video Game Console Design" for electornics and digital systems. And as rmeador suggests, GameDEV is a great source of computer game programming knowledge. And huge props to Parallax, try their Propeller, 8 concurrect cores!
pezi_pink_squirrel
@pezi_pink_squirrel embedded systems interests me more than games development. Mostly because I hear that games developers get treated like sweat shop workers :-). I will certainly look at Parallax
Owen
@Owen - yes they do! I wouldn't reccomend games dev for a job! And YES check out Parralax, and if there's one book you buy, get Andre's Video Game Console Design!! It is probably the greatest book I own.
pezi_pink_squirrel
@pezi_pink_squirrel - Did you not say you were a lead dev for a Ultima Online? And yet you would not recommend games development as a job?
Owen
@Owen, I said lead dev for a Ultima Online custom server, Angel Island. There are many such (legal) servers, UO has been around 11 years, the protocol was reversed a long time ago. It's a hobby, as are the electronics / robotics etc. You mentioned sweatshops - my work however is voulenteer.
pezi_pink_squirrel
@pezi_pink_squirrel - Sorry my mistake.
Owen
+1  A: 

Building frameworks is fun.

Having to deal with the flaws in the framework I just built: not so fun.

rizzle
Taking over a project built on some obscure proprietary framework made by someone who no longer works here: A true Coding Horror :)
tsilb
+2  A: 

Web Development.

  • I can see my product form (no pun intended) and come to life
  • Simultaneous immediate updates to all users
  • Easy deployment
  • I get to be part of the construction of what the world of software is evolving into.
tsilb
+1  A: 

Making tiny WPF programs works for me, and so does writing Visual Studio add-ins.

Dmitri Nesteruk
A: 

Big systems that last for decades - something like Windows, Office, Linux, Oracle...

Nemanja Trifunovic
Have you personally been involved in such products?
Owen
Yes. In fact I currently work on one of the above mentioned products and before that I worked on a machine translation library (started in early 1990s) and a CAT system (started in 2000)
Nemanja Trifunovic
Could you offer some advice on how one might get into such developments?
Owen
If you are a CS student, your best bet would be to look for internship with a software company. Or, if you want to contribute to a high-profile open-source project, just start sending them patches.
Nemanja Trifunovic
+3  A: 

Have you considered working on embedded systems?

  • Got a link-up on your framer after spending one week tweaking registers here and there.
  • Start receiving and transmitting packets on Ethernet driver or network processor.
  • Having your boot-code be able to display a u-boot prompt.
  • Having a Linux OS show the first console printk().
  • Found a bug deep down in the kernel scheduler that takes weeks to reproduce.

The gratification from those are overwhelming :)

KOkon
Produce a stable NTSC or PAL (if you really fancy a challenge!) signal using no additional hardware, just a R2R ladder. Wow, when you have a stable green bar down the centre of your screen it will feel like the greatest thing you've ever accomplished! :)
pezi_pink_squirrel
I think I'd feel gratified if I could understand a single point you stated here :-).
Owen
A: 

I've worked in a number of different environments as well and have to agree that most of the media focused outfits had a fair bit of late night fire fighting, but it always kept things interesting. Also I think that is partly just the penalty you pay for having a satisfying job where you have a lot of freedom. At some point that freedom needs to translate to code and the hectic time around a deadline is always challenging but is also stimulating.

  • Frameworks (guess everyone loves this one)
  • UI Design
  • Graphics / Media (DirectX!!) - I really like to write rendering /UI frameworks!!
A: 

Device drivers and device communicators.

Vinay