Work For Microsoft
-
Agreed. And that is what most new developers are lacking, IMHO. onwards and upwards...
Definitely - and even a lot of experienced developers. If you don't understand what's behind the technologies you use, you're bound to make a lot of mistakes that reduce performance, cause infrastructure/implementation problems down the road, etc. I hate to say it, but some good examples of this can be found in open-source .NET projects such as Paint.NET and SharpDevelop. For example, Paint.NET's floodfill routine takes a whopping 75 seconds to fill a 12.5 MB [EDIT]MP[/EDIT] bitmap. With a little more attention to the performance costs of the way you write your code, you can reduce that down to maybe 5 seconds, or, if you really optimize it, you can reduce it to under 1 second (as my newest algorithm does). Then with SharpDevelop, last time I checked their code consumed a lot of memory because they didn't pay attention to the implications of what they were doing. [To be fair, this may have changed a lot since I last checked.]
-
basementman wrote: What I came away with is the feeling that Bill thinks .NET/Java is for corporate and departmental developers, not for product developers. I think the point is that they want developers who understand how to deal with lower-level aspects of programming, not because managed languages are considered second-class - they're not - but because whether you're dealing with a higher level language or a lower-level one, understanding what's going on underneath is essential to making the best use of higher-level languages, libraries, and systems, and also, knowing what to do in cases where you need to get "down-and-dirty" is a very important and valuable asset.
-
I agree BUT there comes a point where the language gets so high-level that knowing low-level stuff becomes irrelevant. There is a whole generation of "programmers" coming up that won't know what memory management means. That IMHO is a bad bad thing.
My point exactly. When the language features take care of everything for you behind the scenes, you have little to no motivation or need to know what the bytecodes really translate into, and thus, little to no understanding of what the OS is doing. Unless Longhorn is written in C#....:~ onwards and upwards...
-
Inteview with Big Bill: http://www.informationweek.com/blog/windows/archives/2005/07/bill_gates_hiri.html[^] Especially pertinent is the following excerpt: So what's Bill Gates looking for in a prospective employee? Someone who has not only taken the requisite courses, he said, but who has worked on projects that show the ability to think through tough programming problems from start to finish. Microsoft also wants kids who haven't just programmed with "garbage collection" languages like Java and C# that automatically take care of managing memory and other resources for the programmer, but who've worked in lower-level languages that require them to manage the computer's resources by hand. That's not taught enough, said Gates. Finally, Microsoft wants to develop managers who know how to work with people, not just computers. What can we infer from this about what he thinks of the state of software developers skills today? What I came away with is the feeling that Bill thinks .NET/Java is for corporate and departmental developers, not for product developers. onwards and upwards...
ya...all that sounds good...knowing more than just the requirements of the job...blah blah blah...but the question is are you willing to pay more to get that kinda progammers? ... MS has the $$$ to afford such brilliance but people don't get into learning all these details with just one company's affordability...you get the point. If I know C# and I have the time I'd learn SQL Server or something else that would make me more marketable rather than go deeper into learning the how's and why's coz that's not worth my time. ...just my two cents!
-
ya...all that sounds good...knowing more than just the requirements of the job...blah blah blah...but the question is are you willing to pay more to get that kinda progammers? ... MS has the $$$ to afford such brilliance but people don't get into learning all these details with just one company's affordability...you get the point. If I know C# and I have the time I'd learn SQL Server or something else that would make me more marketable rather than go deeper into learning the how's and why's coz that's not worth my time. ...just my two cents!
Pete Madden wrote: the question is are you willing to pay more to get that kinda progammers? Yes, we do. Because those types of people tend to be more productive and create better end-product with fewer issues, faster performance and better scalability, regardless of the language we are using to develop in. Pete Madden wrote: learning the how's and why's coz that's not worth my time Unfortunately, this seems to be the new, modern attitude towards development. It is viewed as nothing more than a commodity and a job, rather than the mental safari and challenge and art that it once was.:( onwards and upwards...
-
My point exactly. When the language features take care of everything for you behind the scenes, you have little to no motivation or need to know what the bytecodes really translate into, and thus, little to no understanding of what the OS is doing. Unless Longhorn is written in C#....:~ onwards and upwards...
-
basementman wrote: What can we infer from this about what he thinks of the state of software developers skills today? It goes along the line of saying that anyone can write a program under the perfect conditions, but if anything at all goes wrong, "that's what separates the men from the boys." Judging by a lot of the posts I see on the VC++ forum, the posters can take code from the Web or from a textbook, paste it into their compiler, and if nothing is missing, can come up with a working program. But throw the slightest wrench in the works and they haven't got the slightest clue what to do to track down the problem.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
-
Pete Madden wrote: the question is are you willing to pay more to get that kinda progammers? Yes, we do. Because those types of people tend to be more productive and create better end-product with fewer issues, faster performance and better scalability, regardless of the language we are using to develop in. Pete Madden wrote: learning the how's and why's coz that's not worth my time Unfortunately, this seems to be the new, modern attitude towards development. It is viewed as nothing more than a commodity and a job, rather than the mental safari and challenge and art that it once was.:( onwards and upwards...
basementman wrote: It is viewed as nothing more than a commodity and a job, rather than the mental safari and challenge and art that it once was. I like that sentiment!
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
-
Pete Madden wrote: the question is are you willing to pay more to get that kinda progammers? Yes, we do. Because those types of people tend to be more productive and create better end-product with fewer issues, faster performance and better scalability, regardless of the language we are using to develop in. Pete Madden wrote: learning the how's and why's coz that's not worth my time Unfortunately, this seems to be the new, modern attitude towards development. It is viewed as nothing more than a commodity and a job, rather than the mental safari and challenge and art that it once was.:( onwards and upwards...
Very true. I'm surrounded by fellow programmers only interested in learning how to USE the new technologies so they can jump ship and work at another company for more money. Problem there is they write horrible code so when I go to the same company 5 years later I'll have to fix all their messes:sigh: Not to say that I'm some kind of genius programmer myself but if I don't understand how something works I have a hard time fixing issues correctly and I detest band-aid fixes, which pushes me to learn more about a system as I work with it. Great mental exercise to break the monotony of writing lame code all day long:) ------------------------------------- Do not do what has already been done.
-
ya...all that sounds good...knowing more than just the requirements of the job...blah blah blah...but the question is are you willing to pay more to get that kinda progammers? ... MS has the $$$ to afford such brilliance but people don't get into learning all these details with just one company's affordability...you get the point. If I know C# and I have the time I'd learn SQL Server or something else that would make me more marketable rather than go deeper into learning the how's and why's coz that's not worth my time. ...just my two cents!
Learning to use English correctly would go much further towards making you more marketable than wacking SQL Server on your CV. IMO. But back to what you actually said, I would beg to differ. Jack of all trades, master of none, comes to mind. I don't want someone who doesn't know what is going beneath their code because when they hit a problem they are going to be lost if they can't read the symtpoms. Perhaps even more importantly than that though I want people who can understand what is needed behind the IDE at all stages of the project, from the business idea to the end users as well as the technologies. Programming expertise is merely a formality. Those are the people who deliver better systems which can cope in the real world, and they are in dire shortage.
Ðavid Wulff Audioscrobbler :: flickr Die Freiheit spielt auf allen Geigen (QT)
-
Pete Madden wrote: the question is are you willing to pay more to get that kinda progammers? Yes, we do. Because those types of people tend to be more productive and create better end-product with fewer issues, faster performance and better scalability, regardless of the language we are using to develop in. Pete Madden wrote: learning the how's and why's coz that's not worth my time Unfortunately, this seems to be the new, modern attitude towards development. It is viewed as nothing more than a commodity and a job, rather than the mental safari and challenge and art that it once was.:( onwards and upwards...
basementman wrote: Unfortunately, this seems to be the new, modern attitude towards development. It is viewed as nothing more than a commodity and a job, rather than the mental safari and challenge and art that it once was But a 'commodity' can easily be outsourced to the cheapest location available. A job as a 'coder' is an uncertain job.
-
Learning to use English correctly would go much further towards making you more marketable than wacking SQL Server on your CV. IMO. But back to what you actually said, I would beg to differ. Jack of all trades, master of none, comes to mind. I don't want someone who doesn't know what is going beneath their code because when they hit a problem they are going to be lost if they can't read the symtpoms. Perhaps even more importantly than that though I want people who can understand what is needed behind the IDE at all stages of the project, from the business idea to the end users as well as the technologies. Programming expertise is merely a formality. Those are the people who deliver better systems which can cope in the real world, and they are in dire shortage.
Ðavid Wulff Audioscrobbler :: flickr Die Freiheit spielt auf allen Geigen (QT)
:) ... I don't think anyone in the world is ever proud to be a Jack of all trades...we all want to be the master of one trade we like. Unfortunately, this works only in certain occasions. I started out as a C++ programmer but utimately found myself earning very less compared to my peers who cared less about getting "married" to one technology and concentrated more on going wherever $$$ was (like in Siebel, SAP, Cognos etc.). But once I realized and changed my attitude things have being going well for me. That's not to say that I don't use software best practices. It's just that I do my work and get going ... no point in wondering how on earth my interface worked. I'd rather spend that time with my family (just like my non-technical boss who btw earns way more than me.)
-
Very true. I'm surrounded by fellow programmers only interested in learning how to USE the new technologies so they can jump ship and work at another company for more money. Problem there is they write horrible code so when I go to the same company 5 years later I'll have to fix all their messes:sigh: Not to say that I'm some kind of genius programmer myself but if I don't understand how something works I have a hard time fixing issues correctly and I detest band-aid fixes, which pushes me to learn more about a system as I work with it. Great mental exercise to break the monotony of writing lame code all day long:) ------------------------------------- Do not do what has already been done.
You don't know anything ... I have known whiners like you through my career ... always complaining on other programmers coding skills and making it look like you saved the day. I've got news for you ... sooner or later everyone (including non-technical people) get to know what's happening ... Also, not making an effort to realize how things work is totally different from not following best coding practices...
-
You don't know anything ... I have known whiners like you through my career ... always complaining on other programmers coding skills and making it look like you saved the day. I've got news for you ... sooner or later everyone (including non-technical people) get to know what's happening ... Also, not making an effort to realize how things work is totally different from not following best coding practices...
I'm referring more to people who just jump into a job to learn the technology and then jump right out without actually learning the best practices. I've seen plenty of people who just take a job so they can put the technology they used on their resume whether they know how to use it well or not and that makes me sad:( I'm probably just bitter because I like my current job though and other people are telling me that they wouldn't stay if they had my skills. You have to like what you're doing though and I get the feeling more programmers are just getting in for the money not the love of creating. ------------------------------------- Do not do what has already been done.
-
basementman wrote: What I came away with is the feeling that Bill thinks .NET/Java is for corporate and departmental developers, not for product developers. I think the point is that they want developers who understand how to deal with lower-level aspects of programming, not because managed languages are considered second-class - they're not - but because whether you're dealing with a higher level language or a lower-level one, understanding what's going on underneath is essential to making the best use of higher-level languages, libraries, and systems, and also, knowing what to do in cases where you need to get "down-and-dirty" is a very important and valuable asset.
Ahh, the difference between someone who understands and someone who regurgitates an example they've been taught. Working at a university I've mentored many, many students who only want to be shown HOW to do something and flee from any effort to generalize their knowledge into a true understanding. The true thinkers of the world are becoming a smaller and smaller subset of humanity and the distance between the thinkers and the posers is becoming vast indeed. -Sean ---- Shag a Lizard
-
basementman wrote: What I came away with is the feeling that Bill thinks .NET/Java is for corporate and departmental developers, not for product developers. I think the point is that they want developers who understand how to deal with lower-level aspects of programming, not because managed languages are considered second-class - they're not - but because whether you're dealing with a higher level language or a lower-level one, understanding what's going on underneath is essential to making the best use of higher-level languages, libraries, and systems, and also, knowing what to do in cases where you need to get "down-and-dirty" is a very important and valuable asset.
-
Pete Madden wrote: the question is are you willing to pay more to get that kinda progammers? Yes, we do. Because those types of people tend to be more productive and create better end-product with fewer issues, faster performance and better scalability, regardless of the language we are using to develop in. Pete Madden wrote: learning the how's and why's coz that's not worth my time Unfortunately, this seems to be the new, modern attitude towards development. It is viewed as nothing more than a commodity and a job, rather than the mental safari and challenge and art that it once was.:( onwards and upwards...
-
I agree BUT there comes a point where the language gets so high-level that knowing low-level stuff becomes irrelevant. There is a whole generation of "programmers" coming up that won't know what memory management means. That IMHO is a bad bad thing.
You're exactly right. Most application developers do not need to know low-level programming techniques. However, Microsoft many times is focused on tool developers so their focus is on the people who write the classes and layers of abstraction that application developers come to depend on. As a result, while we tease about the questions MS asks during interviews (regarding low-level coding), those questions are generally relevant for their needs. Cheers, Tom Archer - Visual C++ MVP Archer Consulting Group "So look up ahead at times to come, despair is not for us. We have a world and more to see, while this remains behind." - James N. Rowe
-
-
My point exactly. When the language features take care of everything for you behind the scenes, you have little to no motivation or need to know what the bytecodes really translate into, and thus, little to no understanding of what the OS is doing. Unless Longhorn is written in C#....:~ onwards and upwards...
basementman wrote: Unless Longhorn is written in C#.... Are you expecting it to be that slow? JimmyRopes