导航:首页 > 程序命令 > 独立程序员

独立程序员

发布时间:2022-01-12 12:19:39

程序员独立研发的时候,遇到问题了你们都怎么解决啊

1.技术问题:网络,bing,SCDN,请教前辈
先网络,网络是个好老师。
网络解决不了的再bing搜索一下,我遇到很多次都是在bing上找到的。
当搜索引擎搞不定的时候,这时候需要论坛了,去CSDN找找相关的技术贴,总会有点思路。
最后就是找公司的同事,这个有些时候需要花一些代价,毕竟大家都很忙。
2.逻辑问题:有些时候会遇到很恶心的逻辑
当想不明白或者想不通的时候,我会试着一步一步把逻辑写在纸上,这样就会很清晰,如果在某一步被卡住了,那么问题的关键也找到了。当然有些时候或许一开始就走入了一个误区,从而导致了一个错误的思路,这个时候我一般会睡上一会,或者做些完全和开发不相关的事,目的是忘记刚刚所有的东西,然后从新审视问题,换个角度去考虑。
(个人经验,纯手打!)

❷ 做电商一个程序员可以自己独立完成么后期维护.等.等...宣传略过,投资需要都哪方面

1、首先需要定位下你的产品,这个决定了你主要成本的投入;
2、做电商主要在宣传,宣传就需要人力,雇人的话,人力的成本也是需要计量的;
3、对方案的评估--风险若是超过50%,建议还是不要开始。但每一个创业者都会有头脑发热的时候,因为做了起码不后悔;
4、 要相信人多力量大,但有一个问题就是会比较乱,这就牵扯到分工的问题。如果能合理分工,找合伙人还是可行的。合伙有合伙的好处(资源、本金、人脉等的增加)。
5、提醒你,如果是做平台,一个人很可能会搞砸的。
最后,还是建议你好好想想。如果觉得还年轻想闯一闯,可以试一试。

❸ 普通的程序员和大神级的程序员有什么区别

❹ 做一个“独立”程序员需要那几种知识

信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,永远不能固步自封。本人在工作期间曾看见过很多程序员只要有闲暇时间就浏览一些没有太大作用的网页,在网上聊天,打游戏,浪费了大量的时间,十分不可取。而另外一种情况是,IT技术的日新月异使很多程序员眼花缭乱,什么都想学,却又不知从何学起,今天看看这个,明天学学那个,贪多不熟。

虽然IT技术发展迅速,但很多技术都是有规律可循,一些基本的概念、原理和方法还很通用,可以举一反三。本人根据自己的体会和经验,向那些刚刚踏入IT行业的新程序员们或正在迷茫的程序员们推荐程序员必须掌握的七种武器,有了这七种武器,虽不敢说笑傲江湖,但将自己立于不败之地还是可以的。

第一种武器:开发工具

至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和java是我重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网络即计算机”的概念相当欣赏,并相信JAVA即其相关的技术集JAVA One会成为未来的主流开发工具之一。其次,如果能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C++ Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。

第二种武器:数据库

为什么数据库是如此重要?很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。

第三种武器:操作系统

当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。

第四种武器:网络协议TCP/IP

在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。

第五种武器:DCOM/CORBA/XML/WEB Services

随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间件平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。

第六种武器:软件工程与CMM

现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。

第七种武器:强烈的好奇心

什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。

❺ soho程序员的自由程序员

自组1~10人的小公司,或者夫妻合作一间工作室,或者作为一个公司的开发小组。这种SOHO程序员规模虽不大,员工们也未必天天见面,但是通过互联网保持着高效的联系,在经营和管理上具备很大的灵活性。在大公司无法兼顾到的领域,个人公司如能提供适合的商品和服务,往往会获得成功。
随着网络的发达,程序员在线协同开发已经成为一种趋势,很多网站都给SOHO程序员提供工作机会,比如:国外的freelancer,国内给程序员免费提供外包项目和编程兼职信息的99开发网等。 1.首先要有过硬的技术含量。2.要有至少3年的开发经验。
3.要熟悉2种以上的开发语言。
4.技术要全面(后台美工)。 1.必须是一个能主动工作的人,在没有外界压力的情况下也能及时地完成手头的事情。
2.你应该是一个能够独立完成工作的人,能在没有同事协助的前提下开展工作。
3.必须是一个做事计划性很强的人,懂得维持工作与生活方面的平衡,不会因为在家工作而导致生活秩序大乱。
4.能够控制工作的进展程度。
5.你应该是一个善于解决问题的人。
6.拥有管理事务的能力。假如你对行政、财务、行销等方面一窍不通,就得考虑一下自己去学习相关知识或是请人代为处理。
7.具备出众的专业能力。没有专业知识与能力就等于缺乏竞争力,根本不可能有所作为。
8.良好的人际关系与资源。你最好有1年以上的相关工作经验,资深的工作者最适合从事SOHO一族。
9.幕后的支援——财力。钱虽不是重要的因素,但对于SOHO一族也是不可或缺的支持力。有稳定的财力作后盾,会使你创业的初期无后顾之忧。
10.有精良的工作设备。
11.储备至少3个月的生活费用。SOHO一族的收入并不稳定,银行存款能保证SOHO一族在生意淡季时生活无忧。
12.定期回顾工作情况。工作半年后应该评估一下这段时间在家工作的业绩。看看有没有完成预定计划,能否再作进一步的提高,然后为下一阶段的工作制定一个新的目标。一名优秀的SOHO程序(IT威客)员是怎样炼成的?在IT业,上班族程序员们都羡慕自由自在的IT威客,但事实上,做威客也不容易。360行,行行有本难念的经。孙悟空的火眼金睛厉害吧?可那是在太上老君的八卦炉中,经过七七四十九天炼出来的。要想成为一名优秀的IT威客,也要经过千百次打击,才能铸就你的金刚不坏之身! 初来乍到的威客新手,首先遭到的打击就是无人赏识。现在的威客很热,可以说是高手云集;而且,因为软件外包不同于简单的悬赏任务,谁都可以掺和几下。发包方当然要挑选最优秀最可靠的人来接包,所以软件外包项目都要经过严格的(甚至是残酷的)竞标。
比如,IT人都喜欢到软件项目交易网(sxsoft)去竞标、接包,但新人由于没有日积月累得来的积分和信誉度,很难刚上来就顺风顺水。但要知道,那些成功的老威客也是这样一步步熬过来的!
对策:相信自己,不抛弃、不放弃! 我们都知道,软件开发是一项“浩大”的工程,需要大量认真细致的工作。作为接包方的威客,不能仅仅盯着项目计划单上的只言片语,一定要跟雇主进行大量的、充分的沟通,明确雇主的每一项要求,每一个环节都要为对方考虑好。另外,多数雇主往往并不真正了解软件,所以最好要能主动为雇主提供更好的建议!
对策:把每一个项目当成自己的艺术品,一丝不苟。这不仅是对雇主的负责,也是对自己的尊重。 说软件行业“卧虎藏龙”一点都不夸张,像软件项目交易网上每天都聚集着大批高水平的专业接包方,要想从中脱颖而出,实在不易。
软件行业又是一个日新月异、高速更新的行业。不仅是技术更新,新的人才也是源源不断的涌进来。有人说,搞软件这一行,吃的就是一碗青春饭!一点不假。这些新人们有新的技术、新的头脑和一股子冲劲,同时他们又特别青睐做威客。
对策:套一句老话:做威客如逆水行舟,不进则退!抓紧时间学习吧! 这是一种高处不胜寒的孤独!这种境界是不容易达到的,千锤百炼,方能至此!到这一步之后,因为你的信用级别特别高,业界口碑特别好,成功案例特别多,再加上网站(如sxsoft)方面的大力推介,不用自己竞标,好多发包方都会慕名而来,主动找你接包。有些威客到了这一步,反而无所适从了。面对琳琅满目的项目,个个都想接手,但却力不从心!
对策:俗话说,双拳不敌四手,这时你就要考虑组建自己的团队了。大兵团作战,横扫千军如卷席!

❻ 程序员如何才能有独立开发项目能力

难!我本身是软件工程师,我从业都十多年了,就拿网站来说吧,比如你独立开发一套PHP或者是Java的网站,通常,美工+WEB前端+后端开发+需求分析,设计的能力,相当于,你一个人,顶一个团队的工作量,连项目经理都兼任,维护客户都兼任!因为你得分析需求啊。
如果Java更难了,相当于美工(1人)+WEB前端(1人)+后端开发(3-7个),如果是APP的,还得加安卓+IOS工程师+项目经理。
如果是C++,巨难,虽然我也可以独立开发。问题是,太耗费精力了。特别是嵌入式,其实C语言都有几种,Java也有几种,其他人,半桶水,不专业的。
最终,你要给客户看到的效果!如果你美工 不行,后端不得,只要有一个严重的短板,你就不胜任真实的项目独立开发的能力,自娱自乐可以。
写驱动,谈何容易,全世界,不超过1000人会写底层的驱动。
第二个,我看到你说,做嵌入式的是学c++还是java ,我java比c++好一些,说明,你基础不行,虽然是科班出生,科班难出人才,除非自学成才的天才例外!如果天才,你这个年纪的,或者大一点的,都能独立开发了。特别是美工,需要天赋的!编程也是。需要悟性的,才有创造力,如果死读书的书呆子,没什么创造力的。少数例外。

❼ 低级程序员和高级程序员的区别

低级程序员认为自己与高级程序员的区别, 主要是高级程序员任何功能都能编码实现, 编码速度快, 代码无 bug. 正如一惯的那样,
低级程序员之所以低级, 正是因为他们勉强能看到(或者根本看不到)事物的表象而看不到本质. 所以, 低级程序员总结出的一切东西,
你都可以大胆的忽略.

所以, 我们来听听高级程序认为自己与低级程序员的区别是什么. 高级程序员之所以高级, 在于他们认识到代码 bug 是不可避免的,
有千万种理由可以导致 bug, 但他们可以在设计和逻辑上保证(追求)滴水不漏, 并用逻辑的百分之百准确性还减少代码 bug. 没错,
严谨的逻辑能力是高级程序员区别于低级程序员的最主要原因.

可以举一个简单常见例子: 网络购票终端的开发. 当然, 比低级程序员还低级的程序员做不出来. 我们先看看低级程序员是怎么做:

order = Db::new_order();
ret = Network::place_order(order);
if(ret == TRUE){
order.finish();
}else{
order.cancel();
}

你看到的没错, 这段代码逻辑清晰, 一般 90% 的情况都能正常工作, 有的甚至能达到 99%, 在某些特定的时间段, 这样的系统 100% 能正常工作(几乎是完美的系统).

你可能发现了问题: 网络是不可靠的, 网络请求可能发出去了, 也可能没发出去; 对方可能收到了, 也可能没收到; 响应可能由对方发出去了, 也可能没发出去; 你可能收到了响应, 也可能没收到.

但是, 低级的程序员会这样解释: 我用的是 TCP 协议, "TCP 是一种可靠的传输协议", 哈! 可笑的照本宣科. 这种低级程序员,
不仅在于他们写出了逻辑上不完备的系统, 而且还恶劣地引经据典来做错误的辩护. 但他们引用的经典是不合时宜的(不能支撑他们的结论).

正确的做法应该是假设上面的每一行代码都可能中断执行, 然后进行相应的对策. 正如狭义上的网络协议其实是广义上的交互协议, 我们可能把 TCP/IP 协议上的许多思想和机制应用到系统间的交互上来.

简单来讲, 可以加上就是重试(超时重传)和对账(请求确认). 所以, 逻辑上更准确的代码应该是这样:
Process_0{
order = Db::new_order();
}
Process_1{
order = Db::find_new_order();
ret = Network::query_order_result(order);
if(ret == NOT_FOUND){
ret = Network::place_order(order);
if(ret == TRUE){
order.finish();
}else{
order.cancel();
}
}
}

Process_0 和 Process_1 是相互独立的处理逻辑.

Process_0 即处理用户交互, 接受订单.
Process_1 请求服务提供商进行对账. 进行采购下单(补单), 更新订单状态.

上面的代码逻辑实现了重试(超时重传), 对账(请求确认). 但上面的代码在逻辑上还不是 100% 准确的, 例如, 如果对方系统误报呢? 但其它的异常情况可以根据实际情况来忽略. 如果你发现这段代码还有重要的逻辑上缺陷, 欢迎告诉我.

记住, 低级程序员和高级程序员的区别在于逻辑和抽象.

❽ 为什么大多数程序员无法独立完成桌面软件

提问人表示疑惑:大多数程序员是否有能力独立完成一个稍显复杂的桌面软件?图片来自互联网,与本文无关在此,我们挑选出两种观点中的代表性回答。程序员谢旭阳表示:一个做桌面程序的程序员应该很容易做一个“稍显复杂的桌面软件”。这就好像一个做Web的程序员做一个“稍显复杂的网站”也是很容易的。当然这个“复杂”只是指功能等技术逻辑上的复杂,如在UI方面还有更高要求,那应该由专门的美工来负责,而在推广营销方面还应与市场人员配合。而一位拥有十年开发经验的程序员给出了否定观点的回答。程序猎人:程序员也有分工:桌面程序、网络程序、移动终端程序、大型机编程、小型机编程、单片机编程……即便同是做桌面程序开发,在不同操作系统下,代码写法也有很大不同。术业有专攻,一直钻研其他领域的人,哪怕是高手也可能对桌面程序的运行机制和构建方法不熟悉,从而无法独立完成这个任务。即使在一个专做桌面软件的公司里,也可能有大部分程序员无法独立编写一个稍显复杂的桌面软件。“程序猎人”不仅给出了回答,还对背后的原因进行了深层次的分析。他认为,做事情兢兢业业、并且做事时肯主动动脑思考前因后果、愿意主动扩大自己工作责任范围的人总是很少,他称这类人为“主动哥”。大多数人都习惯于只做被分配的任务,并按照被吩咐的做法去做,对扩展自身工作范围和知识没有什么兴趣,仅在被分配了新的工作内容时才去学习,他称这类人为“被动哥”,并表示这个世界的大部分财富是“被动哥”创造的,大部分工作是他们完成的。他们中不乏好人、热心人,但因为求知欲的缺乏会导致他们长期保持在某一状态。而以Windows桌面编程为例,如果一个“被动哥”被分配只需编写一些函数调用其他人开发好的API,并通过其他人写好的框架来做测试,那么他很可能在完全胜任工作的前提下不了解任何Windows桌面程序从头建立的方法。自然就不可能独立完成一个桌面软件了。从大工业生产来看,这一点对公司是有利的,因为工作的成败将不仅仅取决于某几个员工,而且随时可以替换任何一个被动哥,也就意味着随时可以找到成本更低的人才。日本很多软件公司中的程序员都是这种状况。相对来说,中国的一些看似不太成熟的公司反而好些,里面的人什么都得做,哪怕是超级被动哥也什么都会了。另一方面,主动哥往往容易得到上级的赏识,很快便从程序员升级为设计者、架构师、管理者、顾问……长此以往沉淀在程序员阶层的大多是被动哥,那么大多数程序员无法独立做出一个像样的东西也就不足为奇。另外,这位热心网友还介绍了目前软件公司普通程序员的工作情况,以下是他的文字摘录:大部分情况下,普通程序员并不负责设计,仅负责编写代码并进行最小限度的单元测试,同时在被要求的情况下撰写相关文档。这类程序员常常是对着详细设计书进行代码翻译工作,对于一个有思想有抱负的人来说很枯燥乏味。我曾经见到过快要达到伪代码级别的设计书。如果拿在手里的不是打印出来的纸张,随便写个宏什么的,基本都能把代码生成出来的。但也不排除设计书做的不完整或者质量低下的情况,这时候就需要向设计者发问,并承担一部分设计工作,这种情况相对会有趣一些。但对知识不丰富且没有设计经验的人来说,这项工作是个噩梦。尤其跨国协作时,要用外语探讨时,有些外语不好的人就彻底缴械了,三天两头请外语好的人吃吃喝喝的……当然还有另外的一些高级程序员,进行着分工更高层一些的工作。比如:设计师、架构师、顾问等。作为设计师,相对接近程序员一些。要把架构师定下来的东西更进一步细化,设计成程序员能实现的东西。当然对于一些小公司和小项目,以上角色互有穿插,甚至一人全兼。作为架构师,往往要做出很多艰难的抉择——是使用这种技术还是那种、是用这种平台还是那种平台、是牺牲功能还是牺牲性能?作为顾问,其实很多真正喜欢闷头搞技术的人一不小心当了顾问之后都大惊:我这跟搞推销的有啥区别?啥时候才能让我再次打开久违的IDE(集成开发环境)或者记事本(拽点的人用Vim),敲两行代码啊。因为顾问的主要工作是研究客户的业务,并提出一个可以满足客户业务需求的IT解决方案。他们对IT技术可以说无所不知但又对任何一种都不深入。(当然也有一些超人,在完成任务的基础上自行抽时间钻研某方面技术。遇到这种人,就膜拜吧。)让普通技术人员眼花缭乱的各种名词是他们忽悠客户最好的武器。然后就是去客户现场忍着各种不爽做讲演了。对于程序员新手如何提高开发能力,这位拥有十年开发经验的热心网友建议“做个‘主动哥’而不要做‘被动哥’”。首先,大量的实践练习绝对是必须的。而实践之外重要的一点,是多动脑思考,哪怕工作本身不需要头脑,也不要停止思考。想一想做这件事的前因后果,有什么可以改进的地方或者提高效率的地方。长此以往,经过同样的时间,你会比“被动哥”多学会很多东西,并具备很多能力。简而言之,要提高开发能力,就要做到勤奋和善于思考。

❾ 什么是有独立开发能力的程序员

1、为了做出的东西符合用户要求,需要和用户沟通,并写出大概的项目计划让用户确认;

2、需要根据项目计划和功能结构设计数据库表结构;

3、采用最熟悉的技术迅速的搭建程序框架;

4、开发的每一个阶段都需要和用户沟通,听取改进意见,并针对意见做有效的修改,修改的工作量要控制在有限时间内的同时还需要符合用户要求;

5、整个程序开发完成需要给用户演示整个程序的使用方法,并可以给用户其他相关人员培训。

(9)独立程序员扩展阅读:

职业要求

一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的。

对于职业程序员,另外一个重要的方面就是,程序员需要不断提升自己的业务技术,技术必须一直保持在一个较高的水平,并且要不断发展,程序员也要寻找贸易的机会,要参加研讨会,在周刊上发表文章和接受职业教育,这些使程序员在自己的领域中分级或者不断并排前进。

阅读全文

与独立程序员相关的资料

热点内容
微商授权查询系统源码 浏览:978
安卓什么情况没法建立新工程 浏览:218
气球解压社区活动 浏览:923
话费会员充值源码 浏览:319
邮件接收服务器叫什么 浏览:529
代理服务器被限制怎么办 浏览:234
atompython环境变量 浏览:911
记录程序员 浏览:996
javabbs源代码 浏览:231
文件夹命名带什么符 浏览:966
黑马程序员全栈 浏览:225
萍乡溯源码鱼胶零售 浏览:440
幸存者pdf 浏览:556
中国人寿保险app怎么变更银行卡号 浏览:118
node服务启动命令 浏览:548
自编宝塔线源码 浏览:139
电脑桌面解压视频教程 浏览:846
安卓手机玩三国战略为什么会卡 浏览:536
浪潮服务器怎么进入启动项 浏览:156
华为当前手机壁纸放在哪个文件夹 浏览:446