首页
欢迎注册论坛帐号
IT行业 - 选技术

作者 主题: IT行业 - 选技术  (阅读 17221 次)

0 会员 以及 1 访客 正在阅读本主题.

五月 13, 2012, 09:30:04 下午
  • 栏目斑竹
  • 见习点评
  • *****
  • 帖子: 182
  • 威望值: 16
http://blog.amende.no/index.php/2012/05/it-consulting-the-choice-of-technology/

Once upon a time I referred to the technology I mastered as “weapons”, that I would use to kill bugs.  That was the time when I called myself a “bugslayer” and my satisfaction was to eliminate bugs.  That was before I took a step back and see the whole picture.
 
Fast forward a couple of years and I have met my mentor/friend who recommended a book to me, “The Passionate Programmer” by Chad Fowler.  In the book (Part 1) he compared technology to “stocks” and compared spending time to master a technology to spending money to buy stock.  With stock investing as a hobby, this idea sat really well with me and have since then influenced my choice of technology to master.
 
In traditional stock market, there are blue chip stocks that represent the big, established companies. They won’t go bankrupt tomorrow, but they won’t double in price tomorrow either.  People buy these stocks for their stable return. In the IT world, blue chip technology would be like Java and C#, by mastering these languages, you have the key to a big part of the IT job market, there are thousands of jobs available, but at the same time there are also thousands of professional with the same background.  So the salary won’t be great, but one should have no problem making a living.
 
Then there are the small companies (The penny stocks), they represent the small companies which the price may shoot up to the sky the next day or may as well disappear from the market the next day.  Investment in these stocks consist of high risk but at the same time the return can be phenomenal.  In the IT world, we have technologies such as small talk, rubies on rail, or other less popular programming languages or technologies that not many people know, but at the same time there are also few jobs asking for these skills.  However, when a company is desperate for such a skill, and you happen to be the only one knocking on their door, you will be in a very good bargaining position.  On the other side, if the demand of the technology dies down, then all the time you have spent on aquiring the knowledge would be wasted.
 
Stocks in the IPO could sometimes be a good investment, and so is a new technology.  The first ones to master the new technology is usually well on their way to enjoy the payoff while others are still learning.  However, while we cheer for the andriod developers, we must not forget the poor symbian developers.
 
So what technologies should we spend our time on? Like the good old investment advice: “Don’t put all your eggs in one basket.” Everyone should have a “portfolio” consisting of serveral technologies that belong to each categories.  Do the homework, follow the trend closely and watch for signs of a market change.  Don’t be afraid of make a switch when the market has changed.  As for myself, I started off as a Java developer, but then I realized that C# is more popular in the Norwegian market than Java so I made the switch.  As I have gotten comfortable with C#, I have added Microsoft BI into my portfolio and now I am able to enjoy the boom in ETL projects while I can always go back to traditional programming should it become less popular in the future.
 
So whenever I meet a student and they ask me for advice as for what technology they should focus on, I tell them this story above, and recommend them to read the book as well.

五月 13, 2012, 09:33:20 下午
回复 #1
  • 管理团队
  • 著名点评
  • *****
  • 帖子: 325
  • 威望值: 21
回帖是一种美德

五月 14, 2012, 03:30:46 上午
回复 #2
  • 正式会员
  • **
  • 帖子: 38
  • 威望值: 2
Well, in my opinion, for application developers, what languages/platform to master is not a big deal.
The business logic is the thing of great importance.

五月 14, 2012, 08:27:37 上午
回复 #3
  • 栏目斑竹
  • 见习点评
  • *****
  • 帖子: 182
  • 威望值: 16
这个嘛,是顾问跟编程员的其中一个分别:

http://blog.amende.no/index.php/2012/04/developervsconsultant/

I recall a few years back while I was still working towards my degree of Computer Science and Engineering, without a superior GPA and without a clear path of a career, I seeked advice from an older friend who had been in the working world for a few years. His answer was quite straight forward, “Go be a consultant.” he said. Without too much knowledge in the consulting world, and with my mind already fixed on being a software developer, I quickly brushed off the advice.
 
Recently I recalled this conversation out of the blue and by that time I was an IT Consultant having worked in the field for more than 5 years, and I am enjoying it.
 
So what is a difference between a developer and a consultant?
 
In short, developers solve a technological challenge, while an IT consultant solves a business challenge using technlogy.
 
During my career I have worked with developers and consultants, sometimes even worked with consultants who really should have been a developer or vice versa. I think the biggest difference lies in the following points.
 
Understanding of the subject knowledge:
 
Most technologies works independent of industry, one can make a website with .NET MVC for an online store or for a stock exchange broker. So as a developer working for Microsoft to come out with a technology (in this case MVC) which helps web developers to make a website, not much subject knowledge is required.
 
However, as a consultant who sits with an online store owner trying to figure out what features should be included in the online store, subject knowledge would be necessary. A basic understanding of the business, customers, would be needed in order to design a website that suits the need of the client. The subject knowledge is not always required, but if a picky client is paying for a consultant to get things done, they are looking for exactly this.
 
Communication skills requirement
 
A developer usually works in-house and is in charge of code. Most often they report to the lead developer or the software architect. Either way, their understanding of technology subject is usually higher than the developer himself and thus a developer rarely have to worry about the word choice, the technology specific terms will be understood.
 
Consultants usually works at the client site and often needs to communicate with the client regarding needs and wants. Most often the client is a businessman who doesn’t have a clue how technology works. So it would be a bad idea to start bringing in terms like SQL, .NET, Dependency Injection etc. because to a businessman these terms are as familiary as greek. (No offence to Greece, but that’s what I was told in my early years.)
 
Ability to bargain and be political
 
Developers gets a task list and the list needs to be completed by a certain deadline and usually that’s the end of the story. It is not because there are no politics, but simply those are handled by people higher up in the hierarchy. A developer simply have to strive on making the best software, one that is robust, fast, and is flexible to additional features in the future.
 
Consultants often faces challenges outside of technology. For example, a budget constraint or a strategic decision which doesn’t allow the consultant to implement the solution with the desired technology or method. Furthermore, the classical argument of what is a change request vs a bug also require a lot of energy/effort.
 
Summary:
 
The line between consultant and developer is getting blurry and thus it is more difficult to distinguish between them. I am writing this to point out a few key difference so that students or job hunters can self-analyze thier strength and weakness in order to choose the job that fits them better.

五月 15, 2012, 05:41:15 上午
回复 #4
  • 正式会员
  • **
  • 帖子: 38
  • 威望值: 2
在挪威.net比java好混?
我一直认为跟着Microsoft混没啥钱赚的。

这个嘛,是顾问跟编程员的其中一个分别:

http://blog.amende.no/index.php/2012/04/developervsconsultant/

I recall a few years back while I was still working towards my degree of Computer Science and Engineering, without a superior GPA and without a clear path of a career, I seeked advice from an older friend who had been in the working world for a few years. His answer was quite straight forward, “Go be a consultant.” he said. Without too much knowledge in the consulting world, and with my mind already fixed on being a software developer, I quickly brushed off the advice.
 
Recently I recalled this conversation out of the blue and by that time I was an IT Consultant having worked in the field for more than 5 years, and I am enjoying it.
 
So what is a difference between a developer and a consultant?
 
In short, developers solve a technological challenge, while an IT consultant solves a business challenge using technlogy.
 
During my career I have worked with developers and consultants, sometimes even worked with consultants who really should have been a developer or vice versa. I think the biggest difference lies in the following points.
 
Understanding of the subject knowledge:
 
Most technologies works independent of industry, one can make a website with .NET MVC for an online store or for a stock exchange broker. So as a developer working for Microsoft to come out with a technology (in this case MVC) which helps web developers to make a website, not much subject knowledge is required.
 
However, as a consultant who sits with an online store owner trying to figure out what features should be included in the online store, subject knowledge would be necessary. A basic understanding of the business, customers, would be needed in order to design a website that suits the need of the client. The subject knowledge is not always required, but if a picky client is paying for a consultant to get things done, they are looking for exactly this.
 
Communication skills requirement
 
A developer usually works in-house and is in charge of code. Most often they report to the lead developer or the software architect. Either way, their understanding of technology subject is usually higher than the developer himself and thus a developer rarely have to worry about the word choice, the technology specific terms will be understood.
 
Consultants usually works at the client site and often needs to communicate with the client regarding needs and wants. Most often the client is a businessman who doesn’t have a clue how technology works. So it would be a bad idea to start bringing in terms like SQL, .NET, Dependency Injection etc. because to a businessman these terms are as familiary as greek. (No offence to Greece, but that’s what I was told in my early years.)
 
Ability to bargain and be political
 
Developers gets a task list and the list needs to be completed by a certain deadline and usually that’s the end of the story. It is not because there are no politics, but simply those are handled by people higher up in the hierarchy. A developer simply have to strive on making the best software, one that is robust, fast, and is flexible to additional features in the future.
 
Consultants often faces challenges outside of technology. For example, a budget constraint or a strategic decision which doesn’t allow the consultant to implement the solution with the desired technology or method. Furthermore, the classical argument of what is a change request vs a bug also require a lot of energy/effort.
 
Summary:
 
The line between consultant and developer is getting blurry and thus it is more difficult to distinguish between them. I am writing this to point out a few key difference so that students or job hunters can self-analyze thier strength and weakness in order to choose the job that fits them better.

五月 15, 2012, 07:33:11 上午
回复 #5
  • 栏目斑竹
  • 见习点评
  • *****
  • 帖子: 182
  • 威望值: 16
LS,
  这只是我个人经验,当然,如果你已经在Sun Microsystems或者是Oracle混上一官半职的话,你应该也过得不错吧。

五月 15, 2012, 11:02:06 上午
回复 #6
  • 栏目斑竹
  • 见习点评
  • *****
  • 帖子: 182
  • 威望值: 16
08年,挪威的一家公司: Fast, 被Microsoft收购之后,200多个Java Developer面临要么投降(改用C#.NET), 要么人头落地。一下子200多个Java工作职位变成C#.NET.

Object, 如果你是以世界为目标,那现在Java还是不错。但挪威这个小市场,因为公司一般比较小,所以情愿用易学易上手的微软系统,也因此做就跟微软技术相关的工作比较多,相关的技术人员比较吃香。

五月 16, 2012, 10:49:39 上午
回复 #7
  • 正式会员
  • **
  • 帖子: 38
  • 威望值: 2
飞狐,我希望以后能够有机会做研究性的工作,而不是做应用系统。或者说不希望以业务逻辑(business logic)为中心。
尽力做我今天能够做得好的,至于以后的路,就随他去吧。
08年,挪威的一家公司: Fast, 被Microsoft收购之后,200多个Java Developer面临要么投降(改用C#.NET), 要么人头落地。一下子200多个Java工作职位变成C#.NET.

Object, 如果你是以世界为目标,那现在Java还是不错。但挪威这个小市场,因为公司一般比较小,所以情愿用易学易上手的微软系统,也因此做就跟微软技术相关的工作比较多,相关的技术人员比较吃香。

五月 16, 2012, 12:22:32 下午
回复 #8
  • 栏目斑竹
  • 见习点评
  • *****
  • 帖子: 182
  • 威望值: 16
人走路眼睛都是往前看而不是看着自己的脚趾的。所以边做好自己的同时也得有计划。计划下一步是什么。

任何时候我都有一年,五年,和十年计划。可能计划赶不上变化,但起码有个目标。

很多博士生醉心于研究工作,关于这点,我只有羡慕的份,我只有本科学历,所以只能依靠经验的累积来一步一步的提升我的技能。研究创新的活,还得靠你们了 :)

五月 16, 2012, 01:07:02 下午
回复 #9
  • 管理团队
  • 著名点评
  • *****
  • 帖子: 325
  • 威望值: 21
虽然偶不懂专业,但是偶觉得研究和实业是密不可分的,博士能搞研究同样能在实业也
做得很出色,当然,在挪威实业界工作了一段时间继续念博士得人也不在少数(不过很抱歉,这类人中还没发现有中国人),同时,各大研究所研究院与实业界的合作也日益密切啊。为什么人的头脑和意识要成为一种模式呢?

关于计划,呵呵,这是个哲学问题了。
回帖是一种美德

五月 17, 2012, 03:27:37 上午
回复 #10
  • 正式会员
  • **
  • 帖子: 38
  • 威望值: 2
你想多了,我硕士还没毕业呢。
坦率的讲,我目前是没有2年以后的计划的。原因如下:

1.不了解当地情况。虽然网上有很多人在聊挪威的情况,但他们的经历对我而言只能是参考。正如大水货儿“唐骏”的那本书名《我的成功不能复制》一样,别人的经历,只是别人的。你今后要怎么走要看你自己。而且很多东西可能都有“小马过河”的感觉。

2.规划毕业之后的事情会让我倍感压力。诸如,长居、移民、种族、语言问题,这些问题都需要考虑,当你决定毕业之后的路线的时候。

综上所述,我只需要知道我下一步要怎么走就好了。

人走路眼睛都是往前看而不是看着自己的脚趾的。所以边做好自己的同时也得有计划。计划下一步是什么。

任何时候我都有一年,五年,和十年计划。可能计划赶不上变化,但起码有个目标。

很多博士生醉心于研究工作,关于这点,我只有羡慕的份,我只有本科学历,所以只能依靠经验的累积来一步一步的提升我的技能。研究创新的活,还得靠你们了 :)

五月 17, 2012, 04:04:45 上午
回复 #11
  • 正式会员
  • **
  • 帖子: 38
  • 威望值: 2
飞狐,请问你做哪个行业?我是指技业务领域。
人走路眼睛都是往前看而不是看着自己的脚趾的。所以边做好自己的同时也得有计划。计划下一步是什么。

任何时候我都有一年,五年,和十年计划。可能计划赶不上变化,但起码有个目标。

很多博士生醉心于研究工作,关于这点,我只有羡慕的份,我只有本科学历,所以只能依靠经验的累积来一步一步的提升我的技能。研究创新的活,还得靠你们了 :)

五月 18, 2012, 12:07:31 上午
回复 #12
  • 栏目斑竹
  • 见习点评
  • *****
  • 帖子: 182
  • 威望值: 16
object,

  过去三年我的客户主要是银行。现在帮一个客户开发系统,系统是卖给银行的。但我初出道的时候是做跟地图有关的。

五月 18, 2012, 12:17:07 上午
回复 #13
  • 栏目斑竹
  • 见习点评
  • *****
  • 帖子: 182
  • 威望值: 16
Object,

  我是假设你正在挪威读研究生。

如果你打算留在挪威的话,你毕业后的前途和待遇主要取决于你的挪威语(尤其是口语)的水平。当然我说的是工作,如果你想做研究方面的工作,应该是去申请博士,这方面aga比较有经验。

五月 18, 2012, 03:22:30 上午
回复 #14
  • 正式会员
  • **
  • 帖子: 38
  • 威望值: 2
多谢飞狐兄指点!
Object,

  我是假设你正在挪威读研究生。

如果你打算留在挪威的话,你毕业后的前途和待遇主要取决于你的挪威语(尤其是口语)的水平。当然我说的是工作,如果你想做研究方面的工作,应该是去申请博士,这方面aga比较有经验。