| ||
|
This community works best when people use their real names. Please
register for a free account.
Other Groups: Joel on Software Business of Software Design of Software (CLOSED) .NET Questions (CLOSED) TechInterview.org CityDesk FogBugz Fog Creek Copilot The Old Forum Your hosts: Albert D. Kallal Li-Fan Chen Stephen Jones |
There are realization times in our life, when we begin to understand the consequences of some of the decision we made in the past, were proven to be not the best and now we have to live with them. Exactly this happened to me the last couple of weeks, when after been downsized (for the second time during the last two years!) I started job hunting, coming to the conclusion that my skill set is not as marketable as I thought. Since early '90s I committed my career evolution mainly to Microsoft based technologies following the whole path of their evolution, starting from 'Petzhold' Win32 API apps, moving on to Visual Basic, VC++, COM/DCOM while in the 2000's I was a very early adapter of .NET and all its relative technologies. Thousands of hours spend learning and applying these technologies, not to mention the cost of courses, books, seminars etc.... Unfortunately for me (but of course fortunately for some of you more astute developers then me) from what I can see, most of the best programming positions are targeting Java and UNIX rather than C#- .NET and Windows. For somebody like myself who has invested so much in the MS world looks like a huge deal to have to start again from the beginning in a new platform having to compete with people who have been doing Java / UNIX for as many years as I have spend in Windows technologies. I would like to know if there are other developers in the same situation or I am the only one! Thanks ...
Meanwhile there's someone else sitting at home complaining, " Unfortunately for me from what I can see, most of the best programming positions are targeting C# - .NET and MS-Windows rather than C - Python and Linux. For somebody like myself who has invested so much in the Unix world looks like a huge deal to have to start again from the beginning in a new platform... " Your view of the universe is warped and because you don't see exactly what you want to see you think the opportunities are great for others. They're not. You chose your path. It was a good decision then. It's neither right nor wrong now, but you have to stick to it. The opportunities will present themselves in time.
"The opportunities will present themselves in time. " I hope you are right... As far as the quoted comment, I have to say that Python is not directly comparable with .NET. Please don't take me wrong! I love Python and I believe that it is a great implementation tool (although I am not particularly font of its syntax and especially the notorious TAB indentation!) but I see its role as complementary to more mainstream technolgies like .NET an Java and as such I would not consider it as a 'core' skill that dictates a career path. As far as C, although is is a monumental programming language that totally reformed the computing industry and will probably survive for many decades down the road again we have to admit than in the modern enterprise has a limited (vital without a doubt but again limited) role targeting mostly the niche areas of device driver and OS development. The main paths that somebody had to select from, 12-15 years ago, when the industry was still in its infancy were either the Microsoft VC++ / COM / .NET or the J2EE / Java/ Opens Source and LINUX platforms. Although I still (stubornly!) believe that the MS path is better in terms of technology, I have to admit that the bulk of enterprise chose the alternative path and this is why we are experiencing the gradual shrinking in related job openings.
sigh... another complaint about python's space significance scheme. please don't call it "TAB indentation." true python programmers don't use TAB, they use four-space indentation[1]. i use two-space indentation, because it makes me feel unique. not sure whether this was the first intent but this scheme prevents things like this[2]. python is one of the most readable programming languages in the world. we are python, we are open source, we have nothing to hide. python. fuh. evuh! [1]: http://www.python.org/dev/peps/pep-0008/ [2]: http://www.ioccc.org/
oh crap! there are people musing at obfuscating python code[1] even though Guido mentioned that. ok, i take that back. [1]: http://p-nand-q.com/python/obfuscated_python.html
Unique like all the engineers that write python code at Google unique? That can't be a whole lot of people...
" true python programmers don't use TAB, they use four-space indentation[1]. i use two-space indentation, because it makes me feel unique." Not only that but in the long run two spaces instead of four saves thousands of bytes of disk storage in your source files. Me, I chose three spaces just to be a contrarian. So, how did this thread degenerate into a useless python discussion? The poor guy is fretting over his livelihood and we argue over the number of angels dancing on the head of a pin.
What I think you are missing is that learning to think logically and force some language/system to do what is needed is the most important part of what you have been doing for the past several years. Of course getting that idea past HR is always a problem. I started, and for many years, only used assembler on various CPU types. After I got to the third CPU type, it became very clear that the words (assembler mnemonics, linker commands, etc.) didn't make much difference. What did, and does, count is being able to learn something new, understand instructions and generate working code. (And then along came C, and all the other high level languages, etc.)
"So, how did this thread degenerate into a useless python discussion? The poor guy is fretting over his livelihood and we argue over the number of angels dancing on the head of a pin." If you look at the thread, I think the OP actually started the descent. Victor jumped in like a hyena on a sick antelope. And I think the OP needs to realize that just about every technology has its success stories. I think what dictates your career path is the types of problems you like to solve and, to some degree, your location. Scanning job postings from new york is much different than the midwest which is different from silicon valley. For example, I'm in SE Michigan and the lion's share of jobs that I see are .NET enterprisey stuff with the exception of the people programming embedded software for cars, which is usually C and C++. You get the occasional python or php or other open source job available, but they are the exception rather than the rule. Having grown up on the east coast and spent a little bit of time searching for jobs on the west coast the flavor of technology requested, in general, is different from region to region. You can find any kind of job anywhere, but some are easier to find in certain places than others. I don't think you're going to find too many hotshot startups using a mixture of scheme, erlang and F# in Tennessee.
In Tennessee they use C - http://www.netfunny.com/rhf/jokes/88q3/0tenny.html But back to the point of the post, I believe picking one path and really knowing your stuff is the way to go. Live it, eat it, breath it rather than trying to get the skills-of-the-moment. Having said that, if you want to validate your frustrations pick a program that you've previously written and try re-writing it in Java or something else. Java was derived from c++ so it will be similar. Don't forget about JNI - Java Native interface for calling native code like Windows DLLs from Java. If you know some Java you might look for jobs with a strong JNI requirement on Windows platforms. Good luck with the job hunt
It is not wrong, it is the most sensible if you look at the statistics. What makes the difference is the niche the sw is devoted to. Server applications target Unix/Linux more often than desktop. I'd suggest to become an expert in a specific business domain, not only in a technology.
Ioannis, I really disagree with you. I think there are still opportunities to fill on the Win32 market, but I really believe most of our desk applications will be migrated to browser apps. So you've got now the opportunity to start to learn server based languages / scripting and as you told us you've got plenty knowledge about .NET so you can start to learn ASP .NET Never is too late to mend past decisions, and if you can see far behind the stats and within your own past you'll see great opportunities head :)
>Another complaint about python's space significance scheme Really. It took me about 5 minutes to get used to it, to me it's like the people who complain about Lisp and parentheses. How about C/C++/Java/Perl and those "@#$^!@# semicolons" you have to put in all over the place. You rarely hear people complaining about that.
@cal_programmer C/C++/Java/Perl semicolons bother you? wow! i think somebody's never used Pascal. @Lance never worked on an open source project? we developers are in passionate relationships with our development tools. four-space indentation is a winner for everyone. God knows i hate it to open a code source edited by many developers and see some lines indented 4 spaces, others 8 spaces, etc. some of them have these irritating "^M" that ends windows lines.
Yeah, it's annoying to open a source file and see indentation that looks like it came from a random number generator. Fortunately, in my editor I can select a block of code and invoke indent-region to fix the indentation of all the lines. But I use C++/C#/Ruby. Can you do that in Python without changing the logic of your code? Getting back on topic, off and on I worry that my skill set is obsolete or on it's way out. That's just a smokescreen, though. My problem is really that I haven't developed the skills to be good at getting a job - especially networking and generally knowing how to find out what jobs are out there. And without those skills, I tend to think there aren't any jobs available, which is obviously untrue. -- T
For sure there are some jobs available out there. But as the industry matures they are getting lesser and lesser especially considering the fact that the IT sector has attracted a disproportional large chunk of the workforce. Outsourcing as well played a major role to the decline of the software development profession in US even if in absolute values it represents a relatively small percentage of the whole industry. Software Development as a profession passed from its infancy to maturity in only a couple of decades making the gradual retirement of its practitioners at least problematic if not impossible in many cases. Finally please don't blame yourself about the lack of extensive networking that will allow you to 'find out' what jobs are out there for the simple reason that only very few people were privileged enough to develop such a network and reliance in ministerial jobs be no means can be considered healthy business!
Joel wrote stackoverflow using .net tools. Two servers and 4 people put together something that supports 3+ million developers. If you watched Joels video presentation to the folks at Google, there was glassy eyes of utter shock when he told them what his team accomplished using that development stack. Those .net tools really kick butt when it comes to performance for the web, and companies like Google are accustomed to throwing far more hardware and far more developers to accomplish what Joel did with two servers and 4 developers. So, I not really sure the issue is so much you somehow been left behind by choosing a MS stack over that of a Open source one. This all comes down to the roads and paths that present themselves to you. As others said, our industry is all about learning. Albert D. Kallal Edmonton, Alberta Canada kallal@msn.com
I think I made it clear that I consider .NET framework and C# to be a SUPERIOR DEVELOPMENT PLATFORM than any other comparable technology (J2EE + Java, Ruby or PYTHON). That's not my point though! My point is that in the real world J2EE is by far the most dominant platform (at least in my domain which is Financial Enterprise Level Applications). The vast majority of Wall Street companies are currently using J2EE as their main development platform (they have of course some departments using other technologies but the main thing is JAVA)... For example a dice.com NY search for Java returned 1283 results vs only 582 C#... Frankly I believe that arguments about stackoverflow (which is a great tool that I am using daily), python indentation etc are irrelative with my ascertainment! | |
Powered by FogBugz
