In 2001, I faced a choice to learn PHP or asp.net. I finally picked the latter, but I still doubt that the choice is really bad.
It was 2001, and I faced a choice.
Imagine if you could go back to the past and rewrite your technical career. What important moments will you want to change? In 2001, I worked as a joint partner with a successful web consulting firm to deal with the Classic ASP. At the time, these things were great. We are a Microsoft product distributor, and proud of it!
I used to use the early. NET and hated it. I hate visual Studio. I don't know C #, and vb.net looks like a joke. I remember sitting on a boat in Oakland to San Francisco, deciding to learn the basics of asp.net to deal with my work, and keep asking myself a question.
How hard do you have to work to figure that out? I went and sat with my collaborators that day. I told him that ". NET" had been derailed. He smiled, and then that day, we had a conversation about our company and my future.
I am familiar with classic Asp,iis SQL server, Windows nt/2000– I know how to handle these things. I don't know about Linux or MySQL, but I read through the code to find that the new framework is basically copying classic ASP, but some of the changes for MySQL and Apache.
I could have expected that, and this could be an interesting challenge. I have always enjoyed studying until now. I can go back and buy books and master these new technologies in one months.
But we have some customers that can't be lost. I must serve them immediately, without interruption. In this case, learning a new technology platform will be very difficult, especially when our customers are looking for us because we are Microsoft experts. (like a drug addict, it's hard to give up.) )
"Keep doing what you know" is a matter of choice. The problem is that my past knowledge and experience are not well applied. NET. Anyway, I need to learn a new language and a new framework.
You need to remember that 2001 was the era of Microsoft's reign. Large Web sites are developed by Linux and Java. If you were in Silicon Valley and told someone you were a Microsoft developer, you'd be ridiculed. (More people laugh Now)
Out of Silicon Valley, Microsoft is the answer to any business. These companies have purchased Microsoft Windows and Office, and they now want the site. Microsoft is the choice they take for granted.
Unfortunately, (my consulting firm went bankrupt in the It bubble) I go to a "the Valley" start-up. The structure of the enterprise is made up of open source/java/emacs/eclipse. I am the only Microsoft programmer that serves an important customer with all Microsoft technology.
Other development teams take weeks to complete a small change on the customer's website. And I only need a few hours to use SQL Server and classic ASP to achieve. I can always give the customer a satisfactory result for the task they intended to give up.
This is what I choose to be a Microsoft expert and a. NET Developer. In addition, I worked desperately to become a Microsoft certification engineer. (I did it!) In the end, I seem to be a Microsoft MVP. Or that I think I became.
It seems silly now, but if you were me, in that kind of work environment, the MVP title meant everything. to ask you. NET friends, they'll tell you this.
The next thing
Because the object data source cannot be bound to the data list, the Entity Framework cannot be used.
Although I am sending this tweet now, many asp.net programmers are still confused about the problem. This is not a spoof, this is a Microsoft Official tutorial.
This is the true portrayal of my career before I decided to change careers.
Since 2002-2008, Microsoft website products have been (and are still largely) "visual component development". This means you just have to constantly drag and drop components, and then let the components implement your functionality. (Generate HTML, connect server, CSS code, etc.)
This technique allows tables to be generated in the original form of a "data source." I need trouble writing some XML files to map "data sources".
It never went well, but I insisted on doing it. Please don't ask me why.
That's what happened.
In 2008, I started using rails and liked it right away. But this does not mean that I have "no hesitation" to turn. Rails makes it possible for me to have comprehensive feedback, as I did in previous development. HTML and CSS are no longer scary. (They're scary for asp.net developers) code becomes your friend again.
In the. NET environment, to some extent, we deal with background code and server components, while the highest level developers use only minimal code to complete the program. Somehow, driven by this situation, we deviate from our original goal: Web developers.
All these thoughts came to me. I remember clearly that I wanted to stay away. NET idea. But when I calmed down, I had an idea:
What happens if I take back asp.net I learned in rails?
From then on I started the "sub-Sonic" Project (ORM inspired by Ruby's "activity record") and tried 5 different ways to build a base. NET MVC framework. I like C #, and Microsoft's product market is very big. Why rely on Microsoft's lab to decide how to write stacks? This constitutes the next 5 years of my career. I am considered a "troublemaker", "Jar maker", "complaining" and considered a "troll". Maybe these ideas really fit me. The "reformer" is a new role for me. And so ... I think my PR skills need to be improved.
This is a bit off the track (but still connected). What I really want to know is ...
What would happen if I didn't?
I brought this up today because I was once invited to see a "Ghost Blog" module. (as part of a casual discussion) and this node program looks like it's written in PHP.
It makes me think, "If I stick with PHP, will I write the node program the same way?" I probably looked at the site from a scripting Developer's point of view and missed some of the things I've been doing. NET development to learn the "advanced concept." This is a normal idea, and I should be able to write node that way.
This, of course, raises another question: am I writing a node program similar to a. NET Developer?
Maybe some. I know this is how I write ruby programs ... So this is a bad thing? Do these effects make it easier for me to distort my node code?
I know I'm going to learn a lot about Linux or MySQL, and I'm sure I'll take some interesting open source projects as I write. NET. I might be hooked on rails and try to bring some of the rails benefits to PHP.
It seems that history will refocus on this moment, but there is one big difference: I will not be stuck in the mire of ASP.net for five years.
I think I should be able to:
Learn more about Linux systems
Learn more about MySQL and other open source servers.
I'm not as scared of JavaScript as I was 4 years ago.
No longer relies on development tools
Like HTML and CSS
Here is an obvious drawback:. NET prevents me from adding more knowledge about html/css/javascript. I don't need to tell you how important this knowledge is and never needs it.
In addition, I was forced to use the Visual tools, and now I struggle with it every day. On Web projects, I'm used to looking at tables in databases and files with the TreeView control. Visual development has been burned into my brain!
On the other hand
Maybe when I finally decided to go into the rails world, these setbacks forced me to keep learning. The fire was always with me and encouraged me to send this blog post. A word from Lewis Black:
If it weren't for my horse, I wouldn't have taken the time to go to college.
My horse is asp.net.