www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - [Off Topic] Any "web applicaiton developers" out there?

reply Jason Mills <jmills cs.mun.ca> writes:
Hi,

This is extremely off topic, but this newsgroup is the one that I'm the 
most familiar with, and all regular posters seem to be friendly and have 
insights I respect, so I thought I would post it here.

I have an opportunity to change the type of software development I do 
from developing desktop (some client/server) engineering/scientific 
applications to developing web applications (J2EE, JSP, HTML, PHP, 
Databases, etc). I'm doing some research to help determine if web 
application development is for me.

If you are or were a web application developer, or have an interest in it:

- Do you enjoy that type development and why?

- Do you find web application development technically challenging? What 
type of challenges do you face?

- What do you spend most of your time doing? HTML/CSS, programming 
(Java, C#, PHP), SQL, managing databases, etc.?

- Do you see a strong future in web application development?

- Why are you attracted to D if you are web application developer?

If you are more like me (desktop applications, systems programming):

- Would you ever consider doing web application development? Why or why not?

One of my biggest fears is that I would lose my edge as a "hard core 
programmer solving technically challenging problems". Is this a 
legitimate fear?

Any other comments are welcome. If you have some resources you like to 
share to help make my decision, please do so.

Thanks.

Jason
Aug 12 2006
next sibling parent reply Anon <Anon_member pathlink.com> writes:
Jason Mills wrote:
 Hi,
 
 This is extremely off topic, but this newsgroup is the one that I'm the 
 most familiar with, and all regular posters seem to be friendly and have 
 insights I respect, so I thought I would post it here.
 
 I have an opportunity to change the type of software development I do 
 from developing desktop (some client/server) engineering/scientific 
 applications to developing web applications (J2EE, JSP, HTML, PHP, 
 Databases, etc). I'm doing some research to help determine if web 
 application development is for me.
 
 If you are or were a web application developer, or have an interest in it:
 
 - Do you enjoy that type development and why?
 

I've done quite a bit of different stuff, but a lot of it has been the development, care and feeding of web related apps. of parts thereof. I like implementing the business logic and database stuff the most.
 - Do you find web application development technically challenging? What 
 type of challenges do you face?
 

Most of the challenges for me are the aesthetic things when they fall in my lap (mostly someone else comes up with the graphic design, etc.).
 - What do you spend most of your time doing? HTML/CSS, programming 
 (Java, C#, PHP), SQL, managing databases, etc.?
 

All of those except Java and PHP. Don't leave VB.Net out either - it is used in a lot of places, and many managers and people doing the hiring don't realize that VB.Net is really C# w/o the curly brackets <g> In my case, things tend to be data intensive right now.
 - Do you see a strong future in web application development?
 

Hmmm - good question... I really don't know because it seems to be perceived more and more as a 'commodity' skill. Are you in the U.S.? If so, the bad news is offshoring, the good news is there seems to be dissatisfaction with a lot of it and the cost is going up. I sense that some large companies are coming to the conclusion that it might not make sense to gut their IT workforce for the chance at a nominal and perhaps fleeting 5-10% savings in a high value dept., but who knows? Plus the baby-boomers are starting to retire and growing economies overseas need there own citizens doing the IT work too <g> Right now I do contract work in a small to mid-size dept. for a large company. The requirements and number of quick-hitting small to mid-size projects seem to work against successfully offshoring because the developer is also intimate with the business along with the implementation, and offshoring would just add more specs., unknowns and complexity. Business knowledge + the ability to come up with and develop effective / elegant technical solutions w/o forcing someone to write perfect specs. are the key.
 - Why are you attracted to D if you are web application developer?
 

I do all sorts of stuff.
 If you are more like me (desktop applications, systems programming):
 
 - Would you ever consider doing web application development? Why or why 
 not?
 

Really no reason not to be good at both, unless you have a life outside of work <g>
 One of my biggest fears is that I would lose my edge as a "hard core 
 programmer solving technically challenging problems". Is this a 
 legitimate fear?
 

I invent things to do as long as they make business sense <g>, but that is a legitimate concern IMHO because of the number of 3rd party tools that abstract-out many of the challenges (because so many projects use the same technologies).
 Any other comments are welcome. If you have some resources you like to 
 share to help make my decision, please do so.
 

Take a look at salary and occupational stats. on the web if your concerned about the outlook for this type of work. Bottom line is that if you like it, you'll probably be good at it, and if you're good at it, you'll probably do well. Things tend to go in cycles - in a few years some form of 'desktop' development might be hot again because AJAX didn't live up to the hype or is not secure enough - who knows?
 Thanks.
 
 Jason

Aug 12 2006
next sibling parent Jason Mills <jmills cs.mun.ca> writes:
Anon wrote:
 
 Really no reason not to be good at both, unless you have a life outside 
 of work <g>

I was thinking the same -- web apps at work and other types of programming outside of work. But in reality, how much time outside of work can one dedicate to programming "for fun"?
 Take a look at salary and occupational stats. on the web if your 
 concerned about the outlook for
 this type of work. Bottom line is that if you like it, you'll probably 
 be good at it, and if you're
 good at it, you'll probably do well.

I agree. The question is will I really like building web apps in the long term. Thanks for the response. Jason
Aug 12 2006
prev sibling parent "Unknown W. Brackets" <unknown simplemachines.org> writes:
There's good and bad on both fronts.  I know many of the clients we have 
are interested in stand-alone desktop programs.  Just not a priority, or 
our bids are too high.  I think the first one.

As to offshoring; this does happen.  In fact, the company I work for 
employs many programmers in SK (of all places.)  I've talked to a lot of 
very good programmers who were of various nationalities.

In the end, the Internet is simply making it so it doesn't matter where 
you are.  Just how good you are.  If you're good, they'll pay, because 
you're closer and more accessible.  People like to see you in person, 
talk to you, etc.

But, anyway, that's a concern for systems programming as well.

-[Unknown]


 Things tend to go in cycles - in a few years some form of 'desktop' 
 development might be hot again
 because AJAX didn't live up to the hype or is not secure enough - who 
 knows?

Aug 12 2006
prev sibling next sibling parent reply David Gileadi <foo bar.com> writes:
Jason Mills wrote:
 Hi,
 
 This is extremely off topic, but this newsgroup is the one that I'm the 
 most familiar with, and all regular posters seem to be friendly and have 
 insights I respect, so I thought I would post it here.

fan of D, so hopefully I qualify. For some background, I've done web development in several Java web frameworks, in .NET using C#, and in old-fashioned ASP. I've also done a couple of Flash applications, communicating with a server via web services. My non-web development has been in Java/Swing, C++/MFC, some COM using ATL, some VBA, etc.
 
 I have an opportunity to change the type of software development I do 
 from developing desktop (some client/server) engineering/scientific 
 applications to developing web applications (J2EE, JSP, HTML, PHP, 
 Databases, etc). I'm doing some research to help determine if web 
 application development is for me.
 
 If you are or were a web application developer, or have an interest in it:
 
 - Do you enjoy that type development and why?

problems and make cool new things, which is why I enjoy development in the first place.
 
 - Do you find web application development technically challenging? What 
 type of challenges do you face?

challenges that I see: With web applications you're always using some kind of web framework, and so one challenge is figuring out the frameworks and how to use them. Another challenge is the same challenge you face in any development--how to build a good architecture, solve complex problems (some specific to the web), etc. And a third challenge is how to make a good friendly UI on the web, which simultaneously a lot more flexible and a lot less flexible than the desktop. Depending on what you enjoy, some of these may appeal to you more than others.
 
 - What do you spend most of your time doing? HTML/CSS, programming 
 (Java, C#, PHP), SQL, managing databases, etc.?

amount) is spent with HTML/CSS and a little time with SQL. Of course this depends on the frameworks you work with--some mandate more time with HTML/CSS, some less--and of course on the kind of project you're attached to. Often companies will have a separate graphic designer who creates the HTML and CSS for you, which you then have to alter to add code to.
 
 - Do you see a strong future in web application development?

projects I've been on personally) from "traditional" web applications to applications with little or no UI which allow companies to communicate via web services. But I think that "traditional" web apps are going to be around for a long time.
 
 - Why are you attracted to D if you are web application developer?

could easily be used on the web; second, although I currently do web programming I'd like to end up doing desktop development, which D is perfect for.
 
 If you are more like me (desktop applications, systems programming):
 
 - Would you ever consider doing web application development? Why or why 
 not?
 
 One of my biggest fears is that I would lose my edge as a "hard core 
 programmer solving technically challenging problems". Is this a 
 legitimate fear?

from MFC in C++ to WinForms in C#--the framework starts doing a lot for you. Web frameworks have similarly improved so that modern frameworks handle a lot of the plumbing and you use built-in library functions to do most of your work. However, there are still the challenges of building a good architecture and solving domain problems, as well as web-specific issues such as scalability and session management, which most frameworks don't tend to solve very well. Those challenge are satisfying to me, but it depends on what you enjoy about development.
 
 Any other comments are welcome. If you have some resources you like to 
 share to help make my decision, please do so.

not, please forgive me for spamming the board.
 
 Thanks.
 
 Jason

Aug 12 2006
parent Jason Mills <jmills cs.mun.ca> writes:
David Gileadi wrote:
 Good luck on whatever you choose.  I hope my comments have helped; if 
 not, please forgive me for spamming the board.


They have helped. Thanks. Jason
Aug 12 2006
prev sibling parent reply "Unknown W. Brackets" <unknown simplemachines.org> writes:
Hello.

I do enjoy the development.  Because it's different, and if you do it 
right it can really work well.  There's a lot to it, but there are also 
fewer barriers to entry.... you can start small, and as you learn more, 
do amazing things.

It can be challenging at times.  One thing many people (unfortunately) 
don't look toward is the huge amount of concurrent users websites can 
get.  I work on many entertainment industry related sites, so I see 
these a lot - and you definitely still have to have a head for optimization.

Also; you still get the same old challenges.  For example, one client 
wanted pdfs generated from the website, based on a design (so it could 
be printed by the suppliers and shipped.)  This was very interesting, 
and somewhat challenging.

The above said, sometimes it isn't as challenging as I'd like.  In those 
times, you have to challenge yourself - to do it better.  The reality 
is, you can almost always do it better (for example, most dynamic pages 
don't send caching headers and cache well, even if they perfectly well 
could.)

I spend a lot of my time doing all of those.  XHTML, CSS, and JavaScript 
can take some time, but is really not what I spend most of my time 
doing.  However, when I have to deal with bugs in browsers, sometimes it 
can take quite a bit of time (this can also be challenging, by the way.)

Most of my time is probably spent programming in PHP, or in another web 
language.  However, when I say that, I think of profiling database 
queries and etc. more on that side.

Directly messing with the database I don't do a lot, though I had to 
spend time when I was learning to get a good feel for how to use joins, 
indexes, and the like properly.

After that, it's more a matter of making sure your query is picking up 
the right things (which is much more tightly bound to the PHP/etc. 
programming imho.)

I do see a strong future in web development, although I think in ways 
it's not moving like I'd like.  The company I work for does many sites 
that are Flash and PHP driven (again, the entertainment industry, they 
like Flash), and it definitely doesn't look to be going away.

Things are also changing, and people are getting more interest in 
different things.  I remember, I actually messed with XMLHttpRequest 
before it became popular ("Web 2.0", I hate that term)... I thought it 
wasn't terribly useful.  Haha, seems I wasn't in the majority.

There are other things on the horizon too.  Big changes in JavaScript, 
DOM, HTML, that will make things easier and cleaner.  With that comes 
the backwards compatibility... things will be interesting for a while 
longer at least ;).

I do a lot of systems type stuff as well.  For example, I help manage 
our servers from time to time (because I have some experience doing 
that.)  I've written utilities for this in D.

Further, sometimes you don't want/need a language like C# or PHP, but 
one that is fast for processing.  Case in point: I did a little mixer 
program, where you picked two mp3s and dynamically mixed them (using a 
slider bar) together.  I wrote a simple D program that mixed the two 
together and gave the user something to download.

Had I done this in PHP, C#, or similar, it would not have been fast 
enough for the impatient users that proliferate the web.

It's also possible that one might right a FastCGI program in D, which 
would likely be a good mix.  It might also be possible to write an 
Apache module, although this seems like it would be more trouble indeed.

Lastly, as to your comment about "hard core programmer ... challenging 
problems", that really depends on you, not on what you do.  I work with 
PHP and MySQL primarily, which really have a bad name in that regard.

But, if you know what you're doing, you know what you're doing.  It 
means something if you can write a dynamic website that sends reasonable 
caching headers and performs well, because when the site gets 
1,000/5,000/10,000 (whatever milestone you have for it) users online at 
once the first time, and the server's load average didn't even notice, 
you'll be proud.

People still consider me to be a programmer challenging difficult 
problems, at least at the office.  Or so I'd like to think.  I've had 
the project managers joke they were fighting for me, and often have 
other programmers in the office coming to me for advice on things 
they're working on.

This is just how an office is; and the other programmers in my office 
are taking on challenging things as well.  But if you're worried about 
losing respect or face, you won't really.  You'll only look like less a 
programmer to those people who don't know the difference between good 
PHP and bad... and for those, who cares anyway?

Or, if you mean, losing the edge within yourself (not respect or face), 
I doubt that's an issue.  Just keep in mind, if you slog off, you slog 
off.  It's easy to lose your edge when you switch to something new, 
especially something that has an easy learning curve.  This is true with 
anything, I think.

My opinion.  Hope it helps, at least somewhat.  I should note, last I 
was told, systems programming pays more.... but I think web programming 
is more interesting (and, of course, how much it pays depends on you, 
again.)

-[Unknown]


 Hi,
 
 This is extremely off topic, but this newsgroup is the one that I'm the 
 most familiar with, and all regular posters seem to be friendly and have 
 insights I respect, so I thought I would post it here.
 
 I have an opportunity to change the type of software development I do 
 from developing desktop (some client/server) engineering/scientific 
 applications to developing web applications (J2EE, JSP, HTML, PHP, 
 Databases, etc). I'm doing some research to help determine if web 
 application development is for me.
 
 If you are or were a web application developer, or have an interest in it:
 
 - Do you enjoy that type development and why?
 
 - Do you find web application development technically challenging? What 
 type of challenges do you face?
 
 - What do you spend most of your time doing? HTML/CSS, programming 
 (Java, C#, PHP), SQL, managing databases, etc.?
 
 - Do you see a strong future in web application development?
 
 - Why are you attracted to D if you are web application developer?
 
 If you are more like me (desktop applications, systems programming):
 
 - Would you ever consider doing web application development? Why or why 
 not?
 
 One of my biggest fears is that I would lose my edge as a "hard core 
 programmer solving technically challenging problems". Is this a 
 legitimate fear?
 
 Any other comments are welcome. If you have some resources you like to 
 share to help make my decision, please do so.
 
 Thanks.
 
 Jason

Aug 12 2006
parent reply Jason Mills <jmills cs.mun.ca> writes:
Unknown W. Brackets wrote:
 I do see a strong future in web development, although I think in ways 
 it's not moving like I'd like.  The company I work for does many sites 
 that are Flash and PHP driven (again, the entertainment industry, they 
 like Flash), and it definitely doesn't look to be going away.
 
 Things are also changing, and people are getting more interest in 
 different things.  I remember, I actually messed with XMLHttpRequest 
 before it became popular ("Web 2.0", I hate that term)... I thought it 
 wasn't terribly useful.  Haha, seems I wasn't in the majority.
 
 There are other things on the horizon too.  Big changes in JavaScript, 
 DOM, HTML, that will make things easier and cleaner.  With that comes 
 the backwards compatibility... things will be interesting for a while 
 longer at least ;).

That's encouraging.
 
 I do a lot of systems type stuff as well.  For example, I help manage 
 our servers from time to time (because I have some experience doing 
 that.)  I've written utilities for this in D.
 
 Further, sometimes you don't want/need a language like C# or PHP, but 
 one that is fast for processing.  Case in point: I did a little mixer 
 program, where you picked two mp3s and dynamically mixed them (using a 
 slider bar) together.  I wrote a simple D program that mixed the two 
 together and gave the user something to download.
 
 Had I done this in PHP, C#, or similar, it would not have been fast 
 enough for the impatient users that proliferate the web.
 
 It's also possible that one might right a FastCGI program in D, which 
 would likely be a good mix.  It might also be possible to write an 
 Apache module, although this seems like it would be more trouble indeed.
 
 Lastly, as to your comment about "hard core programmer ... challenging 
 problems", that really depends on you, not on what you do.  I work with 
 PHP and MySQL primarily, which really have a bad name in that regard.
 
 But, if you know what you're doing, you know what you're doing.  It 
 means something if you can write a dynamic website that sends reasonable 
 caching headers and performs well, because when the site gets 
 1,000/5,000/10,000 (whatever milestone you have for it) users online at 
 once the first time, and the server's load average didn't even notice, 
 you'll be proud.
 
 People still consider me to be a programmer challenging difficult 
 problems, at least at the office.  Or so I'd like to think.  I've had 
 the project managers joke they were fighting for me, and often have 
 other programmers in the office coming to me for advice on things 
 they're working on.
 
 This is just how an office is; and the other programmers in my office 
 are taking on challenging things as well.  But if you're worried about 
 losing respect or face, you won't really.  You'll only look like less a 
 programmer to those people who don't know the difference between good 
 PHP and bad... and for those, who cares anyway?
 
 Or, if you mean, losing the edge within yourself (not respect or face), 
 I doubt that's an issue.  Just keep in mind, if you slog off, you slog 
 off.  It's easy to lose your edge when you switch to something new, 
 especially something that has an easy learning curve.  This is true with 
 anything, I think.

You touched on both of my worries: fear of losing respect and fear of losing my edge. It's encouraging to know that you do web application development and still find opportunities to do some systems stuff. You also mentioned you do some of your systems stuff in D. How does you employer feel about that? Or are you free to program in what ever language you chose?
 
 My opinion.  Hope it helps, at least somewhat.  I should note, last I 
 was told, systems programming pays more.... but I think web programming 
 is more interesting (and, of course, how much it pays depends on you, 
 again.)

This new opportunity (developing web apps) pays more than my present systems programming job.
 -[Unknown]
 

Aug 13 2006
parent "Unknown W. Brackets" <unknown simplemachines.org> writes:
 There are other things on the horizon too.  Big changes in JavaScript, 
 DOM, HTML, that will make things easier and cleaner.  With that comes 
 the backwards compatibility... things will be interesting for a while 
 longer at least ;).

That's encouraging.

Yeah, I'm pretty interested in it. It really puts JavaScript back in competition with the improvements Flash has gotten over the years (I think of it that way because sometimes things are done in Flash because JavaScript can't do them.) Example: Flash can connect a persistent socket to a server, and then send and receive chat messages. This is efficient, fast, and clean. Also, someone has to write the server (e.g. in D ;).) JavaScript has no such thing. You have to hit the server over and over with a request, which is less efficient (even though it will have a keep alive connection), takes more bandwidth, and not as immediate. But, soon, JavaScript will be able to connect using a socket. This is all involved in work the WHATWG is doing, which isn't the W3C but rather Mozilla, Safari, and Opera developers iirc. The W3C has acknowledged their work and there's even some hope IE might implement it some day. That's what keeps the challenge, though. All the different implementations are in different places. Some people have written wonderful JavaScript libraries that bridge the gap - like Dean Edward's IE7. I don't mean to ramble on, I'm just trying to give you a feel for the different things out there. There really are a lot of aspects to it, and I suggest getting a good feel for what you like, and what really jives with you and your style.
 I do a lot of systems type stuff as well.  For example, I help manage 
 our servers from time to time (because I have some experience doing 
 that.)  I've written utilities for this in D.


 Or, if you mean, losing the edge within yourself (not respect or 
 face), I doubt that's an issue.  Just keep in mind, if you slog off, 
 you slog off.  It's easy to lose your edge when you switch to 
 something new, especially something that has an easy learning curve.  
 This is true with anything, I think.

You touched on both of my worries: fear of losing respect and fear of losing my edge. It's encouraging to know that you do web application development and still find opportunities to do some systems stuff. You also mentioned you do some of your systems stuff in D. How does you employer feel about that? Or are you free to program in what ever language you chose?

I've told my employer that D makes it significantly easier to do systems programming quickly (since everything I do involves strings.) I've also taught another person at the office the basics of D. Many of the programmers in our office have a background in another language, e.g. Java, C/C++, etc. Clearly, D is not yet as popular a language as some. Programming in it does mean that there is code I understand better than others, by virtue of the language it's written in. But that is definitely changing, and the truth is that D code looks very recognizable to people who know C and PHP. You see, PHP uses a different operator for concatenation, uses foreach, and otherwise uses C syntax. It really wasn't hard to get my coworker to understand the differences from C++, and she seemed to agree they were all for the better. Mostly, yes, I'm free to program in whatever language is best. For a quick rundown of how we work (this varies a lot by industry), there's us (development house, programmers and project managers), advertising agencies, creative/designers, and the end client. I hardly ever do any from-scratch "design" or similar these days (which is good, because my aesthetic talent just doesn't exist.) That comes from the advertising agency (or from a designer we hire.) We bid on jobs, along with other development houses, both for price and scope/features. Usually these engagements last from a few weeks to a few months. Some of them are definitely one-time (websites for movies that will only really be used for a month or two before the movie comes out.) Others have continuing phases, maintenance, or otherwise. So, if I write a mixing program in D (it really was trivial anyway), and I leave the company... they'll either find someone who understands it, or bid higher for the modifications requested by the client. More than likely, the client will take it if we did the work previously anyway. It doesn't really hurt our business much, and the client got it faster the first time because I wrote it in D. But it depends on the employer, of course. In some cases, it may not be possible to use D - in systems or web programming. -[Unknown]
Aug 13 2006