管理是平衡的艺术,也是实践的艺术。
一家公司想要做大事,就必须有一套非常高效的协作机制。
一个组织,成员们能够召之即来、来之能战、战则必胜,其背后必然存在一条核心管理执行原则:
凡事有交代,件件有着落,事事有回音。
组织成员中,每个人都扛着自己的责任往前走,并愿意把后背交给彼此。
那么,作为一个管理者,要如何做到,让团队成员践行这一条核心原则呢?
一定要理解,并达成共识。
也许你比对手有更多的用户,更好的技术,更多的资本,但是,如果你没有一支有效协作的团队,所有优势都无法发挥作用。
一切都无从谈起。
凡事有交代
什么叫“凡事有交代”?
有次和办公室的同学们开会。
我讲完后说:
你们的责任,就是让我从这一秒钟开始,把这件事给完全忘了。
这就是我对你们的要求。
什么意思?
责任,不是我们一起计划10件事情,然后你去做。这不叫责任。
因为再聪明,想得再全面,也一定至少有20件事,是我们没想到的。
这样的话,我就要时时想,我们忘了什么没有?我们忘了什么没有?
这时,你没有承担起责任。
责任到底是什么?
责任,不是对那些想到的事负责。
责任,是对那些“没想到的事”负责。
一个人最大的能力,就是让人放心。
不需要你有多大的能力,你需要让我知道,你的能力边界和行动进度。
让老板信任,公司重用,投资人放心的一个最基本品质,是可靠。
你的手机一定要能找到你,切忌不接不回。
你的行为一定要基本稳定,切忌变化多端。
你的承诺一定要次次兑现,切忌大话无为。
可靠是一种“钝品质”,要如鼎一样稳重,需要“看得见,摸得着,信得起”。
任何一件事情,只要被提出来,就永远不能消失。
这件事情的结束方式只能有两种,第一种是被完成,第二种是被发起者取消。
如果一件事情交代下去,没有人问就渐渐消失了,那么组织的协作机制就是失效的。
凡事有交代的本质,就是给任何事情扣上闭环,有开始就必须有结束,避免石沉大海。
你需要理解,生命中的一切事情,本质上都是一个项目。
而项目管理中,第一个关键要素,就是:
循环。
既然是有头有尾的事情,就要:“用循环解决问题”。
循环过程分为5个步骤:
启动、计划、执行、控制、收尾。
1)何谓启动?
这事儿值不值得干?我们要不要干?需要哪些人?需要多少钱?
2)何谓计划?
这事怎么干?投入多少时间?谁负责什么事?什么时间节点完成什么结果?资金怎么分配?资源怎么调配?时间怎么分配?任务怎么分配?
3)何谓执行?
既然分配了,那就按照公司战略完善高效执行下去,不要眼高手低。
4)何谓控制?
谁在负责这件事情?做的进展如何?达成目标了吗?按照进度跟进了吗?
5)何谓收尾?
无论成败与否,我们来复盘一下有什么经验?什么教训?
这5个步骤,构成完整循环,且缺一不可。
凡事有交代的背后,是一组严密执行的步骤。
件件有着落
我们在工作中夸奖一个人,常常会说:
这人靠谱。办事能落地。
人狠话不多,招招见血,刺中项目管理的要害。
什么叫能落地?
在工作中,你会发现有的人聊起事情来,口若悬河,特别有激情,但就是上不了手,纸上谈兵。
做事毫无章法,没有丝毫策略意识。
嘴上挥师百万,实际战场逃兵。
从外部看一件事,和真正上手做一件事,体感是完全不同的。
如果一个创业者不停的说“我”,我想怎么样,我计划怎么样,我打算怎么样,我认为怎么样,我要怎么着,眼里只有“我”的视角,其实非常危险。
因为“想象世界”和“真实用户世界”往往相差千万里。
很多事情你没有干过,只是坐在那评论的时候,你觉得别人这有问题,那有问题,应该这么干,那么干。
但是当你亲自上手的时候,会发现,你在外边观察这个事时,只看到10个点,而实际做起来,可能面临的是100个点。
剩下90个。
你,根本就没有想到过。
对于别人的工作,对于别的行业,不要随意评判对错,随意给批评。
认为我随便做做,都比你做的好。
随便换一个人,都能快速碾压你的业绩。
你要知道,每个看似愚蠢的决定背后,都是无数复杂的妥协和平衡。
每个行业里,真正专业的力量,是外行无法理解的。
在校运会上卖过零食的,总觉得自己洞察零售。
有一两个拿手菜的,总觉得自己可以开餐厅。
看到别人做自媒体,觉得写字,这谁不会?
对于没有亲自俯身经营的事情,要时刻保持谦卑,时刻保持敬畏。
哪怕是一份特别简单的工作,也需要常怀敬畏之心。
因为,实际做起来,永远都会有我们从来没有想到过的情况发生。
那么,在执行目标的时候发现有困难怎么办?
你应该及早意识到这些困难,然后主动去找资源,想办法解决。
这就需要你快速从100个点里,分辨出哪些点是最重要的,我应该从哪个入手,我应该运用哪些资源,我应该如何去做,然后马上做起来。
在组织前进的过程中,有目标,就一定有通往目标路上的障碍。
遇到障碍后,焦虑,是正常的。
但是一个成熟的人,能快速走出焦虑,专注于解决问题的方法。
目标常常是两难的。既要,又要。
这就需要迅速从焦虑中走出来,不是往后退,不是恐惧变化。
而是必须把全部的心思,放在搬走石头,解决问题上。
一件事,在没有做之前,谁也不知道能不能成。
碰到一个新事物或者不懂的问题,怎么办?
先去试。
遇到问题,解决问题。
尝试失败了怎么办?
即使失败了,也尽了最大努力,把所有可以尝试的方法穷尽了一遍。
这就叫做:
件件有着落。
事事有回音
什么叫事事有回音?
我举个例子。
将军派一个团在凌晨3点前必须攻下某个山头。
在凌晨3点前攻下某个山头,这就是将军给这个团的团长定下的目标。
那你说,对于团长来说,在凌晨3点攻下还是在凌晨5点攻下,有区别吗?
如果是在凌晨5点攻下,那不也算完成了任务吗?反正我把山头攻下来了对吧?
听上去好像没什么毛病。
但是,团长可能不知道的是,将军让他在凌晨3点前攻下,是因为凌晨3点半大部队要通过这个山头。
如果他凌晨3点前攻不下,那大部队就无法通过。
所以,如果团长私自改了目标,凌晨5点才攻下山头,那将军的整个计划就被打乱了。
对于一个组织来说,所有的目标,都是为了更高层面的协作。
一个大目标,是无数个小目标聚合起来的。
而定目标,就是为了形成一个分布式协作网络。
定目标,意味着团队成员把后背交给了彼此。
所以,给每一个人定下目标,这是一个组织能够协作的前提。
如果一个管理者,在布置执行任务的时候,需要时刻来问:
有没有遇见问题?
怎么回事,这么长时间都没给我消息?
现在进度怎么样了?
这时,你没有做到事事有回音。
最后的话
管理是平衡的艺术,也是实践的艺术。
凡事有交代,件件有着落,事事有回音。
每个组织成员都深刻理解、并愿意认真践行这条原则。
团队才会形成一个高效的协作网络。
每个人都扛着自己的责任往前走,并把后背交给彼此。
真正做到召之即来、来之能战、战则必胜
原因:允许elasticsearch跨越访问时,在修改了elasticsearch的配置文件,并且以非UTF-8的格式修改的,结果就报错了。
添加跨域访问:
http.cors.enabled: true
http.cors.allow‐origin: "*"
日志:
java.lang.IllegalArgumentException:unknown setting [http.cors.allow‐origin] did you mean [http.cors.allow-origin]?
问题:查看日志文件可以看出allowe-origin中的符号没有识别。
解决:原因是在修改elasticsearch.yml时用的notepad++,默认的是ANSI 编码,重新修改配置文件,以UTF-8编码修改并保存。(注意:修改elasticsearch.yml最好只用utf-8编码)
elasticsearch:6.2.1
jdk:1.8.0.241 [ java -version]
我的elasticsearch.yml 配置 ,如下:
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
# Before you set out to tweak and tune the configuration, make sure you
# understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
##配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。
cluster.name: lxw-application
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
##节点名,通常一台物理服务器就是一个节点,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
node.name: lxw-node-1
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
node.master: true #主节点
node.data: true #数据节点
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#索引目录
path.data: D:\softwore\elasticsearch-6.2.1\data
# Path to log files:
#日志
path.logs: D:\softwore\elasticsearch-6.2.1\logs
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# By default Elasticsearch is only accessible on localhost. Set a different
# address here to expose this node on the network:
##绑定ip地址 我的问题是改的这里
#network.host: 0.0.0.0
network.host: 127.0.0.1
#
# By default Elasticsearch listens for HTTP traffic on the first free port it
# finds starting at 9200. Set a specific HTTP port here:
#暴露的http端口
http.port: 9200
#内部端口
transport.tcp.port: 9300
# 跨域设置
http.cors.enabled: true
http.cors.allow-origin: "*"
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
#discovery.seed_hosts: ["host1", "host2"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
#cluster.initial_master_nodes: ["node-1", "node-2"]
#
# For more information, consult the discovery and cluster formation module documentation.
#
#设置集群中master节点的初始列表
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301", "0.0.0.0:9302"]
#主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2。
discovery.zen.minimum_master_nodes: 1
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
报错如下:
D:\softwore\elasticsearch-6.2.1\bin>elasticsearch.bat
[2021-08-16T14:56:26,659][INFO ][o.e.n.Node ] [lxw-node-1] initializing ...
[2021-08-16T14:56:26,753][INFO ][o.e.e.NodeEnvironment ] [lxw-node-1] using [1] data paths, mounts [[(D:)]], net usable_space [380.2gb], net total_space [390.6gb], types [NTFS]
[2021-08-16T14:56:26,754][INFO ][o.e.e.NodeEnvironment ] [lxw-node-1] heap size [990.7mb], compressed ordinary object pointers [true]
[2021-08-16T14:56:26,756][INFO ][o.e.n.Node ] [lxw-node-1] node name [lxw-node-1], node ID [JdIIBJ5NRYSD52RuvkxTiQ]
[2021-08-16T14:56:26,756][INFO ][o.e.n.Node ] [lxw-node-1] version[6.2.1], pid[13648], build[7299dc3/2018-02-07T19:34:26.990113Z], OS[Windows 10/10.0/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_241/25.241-b07]
[2021-08-16T14:56:26,757][INFO ][o.e.n.Node ] [lxw-node-1] JVM arguments [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.io.tmpdir=C:\Users\LEJU\AppData\Local\Temp\elasticsearch, -XX:+HeapDumpOnOutOfMemoryError, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -XX:+PrintTenuringDistribution, -XX:+PrintGCApplicationStoppedTime, -Xloggc:logs/gc.log, -XX:+UseGCLogFileRotation, -XX:NumberOfGCLogFiles=32, -XX:GCLogFileSize=64m, -Delasticsearch, -Des.path.home=D:\softwore\elasticsearch-6.2.1, -Des.path.conf=D:\softwore\elasticsearch-6.2.1\config]
[2021-08-16T14:56:27,485][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [aggs-matrix-stats]
[2021-08-16T14:56:27,485][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [analysis-common]
[2021-08-16T14:56:27,493][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [ingest-common]
[2021-08-16T14:56:27,494][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [lang-expression]
[2021-08-16T14:56:27,494][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [lang-mustache]
[2021-08-16T14:56:27,496][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [lang-painless]
[2021-08-16T14:56:27,497][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [mapper-extras]
[2021-08-16T14:56:27,497][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [parent-join]
[2021-08-16T14:56:27,498][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [percolator]
[2021-08-16T14:56:27,498][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [rank-eval]
[2021-08-16T14:56:27,499][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [reindex]
[2021-08-16T14:56:27,499][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [repository-url]
[2021-08-16T14:56:27,500][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [transport-netty4]
[2021-08-16T14:56:27,500][INFO ][o.e.p.PluginsService ] [lxw-node-1] loaded module [tribe]
[2021-08-16T14:56:27,501][INFO ][o.e.p.PluginsService ] [lxw-node-1] no plugins loaded
[2021-08-16T14:56:28,679][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [lxw-node-1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: unknown setting [http.cors.allow‐origin] did you mean [http.cors.allow-origin]?
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.2.1.jar:6.2.1]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:85) ~[elasticsearch-6.2.1.jar:6.2.1]
Caused by: java.lang.IllegalArgumentException: unknown setting [http.cors.allow鈥恛rigin] did you mean [http.cors.allow-origin]?
at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:346) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:310) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:284) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.common.settings.SettingsModule.<init>(SettingsModule.java:134) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.node.Node.<init>(Node.java:331) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.node.Node.<init>(Node.java:246) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:213) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:323) ~[elasticsearch-6.2.1.jar:6.2.1]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-6.2.1.jar:6.2.1]
解决方法:
将原来的:注意版本问题,不同版本兼容性不一样
补充:解决Elasticsearch(Windows)闪退问题
进入Elasticsearch安装目录下的config目录,修改elasticsearch.yml文件.在文件的末尾加入以下代码
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: heck
node.name: master
network.host: 127.0.0.1
发现持续闪退。这时候我一开始只加入前两行的时候,发现可以正常运行。于是推理了一下,其实可以看日志,但是可能我比较懒,直接感觉加的ip绑定有问题,于是删除最后一行,重新保存启动,发现可以正常运行,好像是因为Elasticsearch是跨域的,具体可能是什么问题,没有细查
Download Elasticsearch
https://www.elastic.co/cn/downloads/elasticsearch
因为这里本机已经安装运行,为了演示从零开始,我们在Windows沙盒中演示,Win10操作系统的沙盒http://www.javacui.com/tool/660.html 。
因为沙盒开始是一个纯净的系统,所以需要安装ZIP工具,安装文本编辑工具方便修改配置文件。
这里下载了elasticsearch-8.2.2-windows-x86_64,可以根据网站提示下载最新版本,虽然ES依赖JDK,但是ES安装文件内置了JDK,因为纯净的系统上无需安装再次安装JDK,直接运行bin下elasticsearch.bat即可。
初次启动,显示的配置信息,一定要保存下来,以备使用。
访问https://127.0.0.1:9200,注意是HTTPS不是HTTP,用户名密码刚才控制台已经打印出来了。
证明安装成功。
问题1:内存直接占满
此时你打开任务管理器,发现一个问题,ES启动后,占据了沙盒的全部内存。我的本机是32G的,启动也是直接打满,导致系统卡爆。
因此我们需要配置启动内存,配置文件conf/jvm.options
################################################################
## IMPORTANT: JVM heap size
################################################################
##
## The heap size is automatically configured by Elasticsearch
## based on the available memory in your system and the roles
## each node is configured to fulfill. If specifying heap is
## required, it should be done through a file in jvm.options.d,
## which should be named with .options suffix, and the min and
## max should be set to the same value. For example, to set the
## heap to 4 GB, create a new file in the jvm.options.d
## directory containing these lines:
##
-Xms1g
-Xmx1g
在这里修改为合适的内存,这里修改为1G,沙盒全部内存是4G,合理配置即可。
问题2:二次启动报错
修改配置文件后,再次启动,这时不会再次打印第一次启动时的配置信息了。但是报错了
[2022-06-16T10:40:55,562][ERROR][o.e.i.g.GeoIpDownloader ] [06A8DD4C-A847-4] exception during geoip databases update
org.elasticsearch.ElasticsearchException: not all primary shards of [.geoip_databases] index are active
at org.elasticsearch.ingest.geoip.GeoIpDownloader.updateDatabases(GeoIpDownloader.java:135) ~[ingest-geoip-8.2.2.jar:8.2.2]
at org.elasticsearch.ingest.geoip.GeoIpDownloader.runDownloader(GeoIpDownloader.java:275) [ingest-geoip-8.2.2.jar:8.2.2]
at org.elasticsearch.ingest.geoip.GeoIpDownloaderTaskExecutor.nodeOperation(GeoIpDownloaderTaskExecutor.java:102) [ingest-geoip-8.2.2.jar:8.2.2]
at org.elasticsearch.ingest.geoip.GeoIpDownloaderTaskExecutor.nodeOperation(GeoIpDownloaderTaskExecutor.java:48) [ingest-geoip-8.2.2.jar:8.2.2]
at org.elasticsearch.persistent.NodePersistentTasksExecutor$1.doRun(NodePersistentTasksExecutor.java:42) [elasticsearch-8.2.2.jar:8.2.2]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:773) [elasticsearch-8.2.2.jar:8.2.2]
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26) [elasticsearch-8.2.2.jar:8.2.2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
因为他启动时会去更新地图的一些数据库,这里直接禁掉即可,用到时再说,配置文件conf/elasticsearch.yml,增加配置
ingest.geoip.downloader.enabled: false
问题3:本地测试不想用用户密码和SSL
本身ES服务器也不会对外开放,增加用户密码和SSL对于初学来说,徒增不必要的麻烦,这里直接干掉,还是那句话,用到再说。
配置文件conf/elasticsearch.yml,修改配置
# Enable security features
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
enabled: false
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
# Create a new cluster with the current node only
# Additional nodes can still join the cluster later
cluster.initial_master_nodes: ["06A8DD4C-A847-4"]
# Allow HTTP API connections from anywhere
# Connections are encrypted and require user authentication
http.host: 0.0.0.0
# Allow other nodes to join the cluster from anywhere
# Connections are encrypted and mutually authenticated
#transport.host: 0.0.0.0
原来都是true,这里都改成了false,前面是要求用户登录的,后面是要求SSL的,没必要,干掉。
再次启动访问http://127.0.0.1:9200 ,可以直接打开使用。
问题分析思路:
- 优先对85前及90后员工的普遍性格特性进行归纳、分析和对比。
- 针对不同的性格特征,阐述不同的培养方式。
- 依据上述结论,结合本次员工离职分析工作中的得失。
性格分析对比:这里不提及性格优势是为了引出后面的培养方式,不是否认90后的性格优势。
| 85前员工性格特点 | 90后员工性格特点 | 形成原因 |
| 思想独立 | 依赖他人 | 家长过分的溺爱,让孩子缺乏自己决策、思考的机会 |
| 行为有目标 | 行为无目标 | 从家庭到教育都是随波逐流,造成无意识的盲从,急于看中眼前成效 |
| 内心强大 | 内心脆弱 | 家长过分的溺爱,顺境的生长环境,让孩子没有机会犯错与承担 |
| 成就感来自内在 | 成就感来自外在 | 思想独立决定了85前的成就感源自内心的成长,90后更渴望来自他人的承认与赞美 |
| 团队意识弱 | 更强的团队意识 | 90后员工之间私下交流沟通比较多,工作中可以进行更有效的合作,帮助。 |
为什么项目会变得紧急?
其实在我们的现实项目中有很多时候,项目会被要求在一个看上去似乎不现实的条件下完成,因素很多,总结一下:
1、为了争夺或抢占市场。
2、为了向客户或领导演示汇报。
3、向重要的客户承诺在较短的时间进行交付。
如何处理紧急项目?
1. 明确目标
用户需求:项目总要有产出,在着手列计划开始工作之前,请先与客户沟通,明确客户想要的是什么?
1、系统功能完整,质量良好,并投入使用。
2、完成核心功能的开发,并投入使用。
3、了解项目进度,系统界面和功能设计,或向上级领导汇报。
我想我们更多的情况是后两者。
要成为一名成功的开发经理,秘诀就是管理好期望,第一步就是确保所有人都理解你的职能。你和你工作相关的人,都要对开发经理的期许达成一致。
我看过很多开发经理的招聘信息,但我都不太赞同上面的描述。有一个要求深入了解大量编程语言和环境,还有一个要求66%的时间进行编程(为什么不直接写三分之二?),还有一些要求有PMO认证,类似的要求不一而足。我承认开发经理的职能是有点儿模糊不清,但像这样的招聘信息让我觉得发布这些职位的公司并没有真正思考过开发经理的职能。这种情况对公司和受雇的人来说都后患无穷。
作为开发经理,你要承担很多责任,但重要的是发布产品。你的目标是采取所有必要的措施,确保能把产品交付给客户或市场。要做到这一点,你需要确保开发团队能尽可能高效地工作,而且要确保他们有明确的目标(无论是短期的还是长期的),扫除阻碍他们工作的一切障碍。从最初的项目范围,到在客户网站上部署产品,每一步都是你的职责。你可以(而且应该)尽量把事情委派给下属去做,但你要检查事情是否和你预期的一样,如果不是可要自己投入。
项目范围界定
作为开发经理,你需要知道如何界定项目的范围。根据你所在组织的情况以及你和外部群组的协作方式,这可能是你工作的重要组成部分。如果你经常承担、负责第三方的项目,那你应该知道如何对RFP(需求建议书)作出回应,包括交付物、时间表和预算等。即便你只做内部项目,没有正式的文档系统,你也应该养成为每个项目写一份项目范围说明书的习惯。另外,如果你从事的是敏捷开发,这些文档就要随着项目的进展持续维护和更新。
“总置顶”项目
这是项目范围界定的一部分,但它应该单独说明一下。我听大家谈论过“总置顶”项目,这类项目不需要预算和时间表。这可是错误的!如果弄不清楚成本和交付物对这些“总置顶”项目有怎样的依赖,那可能会扼杀你的团队,因为这些“总置顶”项目会拖延进度、消耗其他工作需要的资源。你承担的每个项目至少都要有一个内部成本和一个交付物。你要和其他利益相关方一起协商你所承担的一切。
最关键的分组标准是:高级别用户(高手)和低级别用户(新手)。高手用户一般比较忠诚、热心、技巧熟练,是社区的灵魂人物。新手则代表了社区的不断发展。一个健康成长的社区必须让这两种用户都积极参与。
在一个理想的社区,新手和高手是相互需要的。他们会形成类似于经济学家所谓的“双边市场”那样的环境。显而易见的是,新手们期待着变成高手,所以需要有经验的用户给他们指引,带领他们迅速入门。而高手们虽然已经达到顶峰,却同样迫切地需要新手。通过帮助新手,他们得以展示娴熟的技巧和丰富的经验。心理学家称之为“给予者的快乐”。最近神经科学也表明,“利他主义”的行为可以促进分泌多巴胺(快乐激素)。因此,“帮助新手”可以让高手们更积极地参与平台的互动。
总而言之,社交平台要成功地让用户参与其中,就要让高手们无私地帮助新手,而形成一个有效的互动循环——“高手-新手互助机制”——低级别用户受到照顾,而高级别用户感到满足。
很多站长自己都是兼职搞网站,更不要说请别人来全职来帮你了,而且网站刚刚起步,给别人支付报酬也是不现实的。可能你的网站有一批很尽职的斑竹,但是不要忘记了大家都有自己的主业,仅仅是凭热情,但是热情总归会有磨灭的一天,而且你也不太可能把重要的工作,比如服务器,数据库设置,洽谈广告业务,等交给一个你从来没见过面的网友或者斑竹的。
2、网站资金缺口如何解决
融资?你连一个公司,实体 都没有,写不出高水平的计划书,怎么融,找谁融,而且你缺乏金融法律知识,就算有人想投资,也会把你的网站价值往死里压,到头来是给别人打工。
3、如何处理和合伙者的关系
可能你有合伙人,大家有共同的兴趣爱好,一起打理网站,可是怎么在初期克服浮躁心里,处理好合伙人的关系,重大决策你们谁说了算,利益和责任怎么分配。
4、主业还是副业
可能你另外有不错的工作,网站也慢慢发展起来,你对网站也很看好。但是同时你的时间也越来越不够了,由于花费大量业余时间在网站,占用了休息时间,你的工作不可能不受到影响,你的女朋友不可能没有怨言,在问题1 2 3 都没有很好解决的情况下。你是不是会辞掉工作,把网站当成主业呢。
网站分析从哪里入手?这是出镜率最高的问题之一,尤其是新入行的朋友尤其青睐此问题。
当打开网站分析系统时,你将看到非常多的数据项,可能远比你预想的多,比如:访问次数、浏览量、跳出率、唯一访客数、访客地域分布、搜索流量、关键词导入量、引荐流量、网页内容分析(目标网页、退出网页),以及转化率等。看到如此丰富且眼花缭乱的数据项时,不要慌不要急,对于这些很细节的问题,建议先不要过度关注,否则很容易陷入“只见树木,不见森林”的误区。
那应该关注什么呢?建议刚开始做网站分析的时候,一定要站在高处,从宏观上入手,先问自己4个问题:
1. 多少访客(UV)来到网站?
这是第一个要问自己的简单问题,网站的访问次数和独立访客数量(UV)是网站分析中最基础的2项指标,这两项指标都是要关注长期变化趋势的,尽量拉长关注周期,这样就可以看到一些季节性的变化趋势,从而为运营战略提供理性的参考。
在SEO如此盛行之下,搜索引擎自然是对SEOER的各种操作做了各种对应的规则算法,至于是哪些规则算法,我也不知道。不知道并不代表我们没有好的办法去操作,优化当中,外部链接的建设乃是重中之重,再次不再赘述。既然如此,搜索引擎对于一个网站的外部链接自然是做了N多的算法以及判断它的质量。我想当下做SEO都知道,搜索引擎对于故意操作排名的网站是有成见的,更别说恶意操作排名的网站,更是深恶痛绝。我们且不管故意是否属于恶意,试问哪个SEOER不是在故意操作搜索引擎的排名?难不成还有哪个是一不小心把网站的排名做的很好了?真没见过,既然如此,我们要故意的去操作它,而管这个事情的家伙又非常不喜欢我们去操作它,怎么办呢?人向来就是这样,表面一套,实际一套。当然,我们做优化也要一样,各种行为看似正常,其实都是我们有目的性的操作的。举个大家都知道且浅显的例子,拿文章内链来说说,一篇文章A描述表达的核心是XXX,B文章中恰好又出现了XXX这个词,那么我们便在B文章中给XXX做了一个链接,链接到A文章。这一点对用户体验很友好,搜索引擎自然给予这个链接的权重就比较高。既然如此,我想只要我们做的不过分,搜索引擎还是判断不出来这个词的出现是我们故意的还是自然出现的。分辨不出来那便会认为是自然的,这种情况看似为了提高用户体验,实际上是我们为了提高A页面XXX关键词的排名而撰写的文章(不乏部分文章是自然出现的)。这便是我所要表达的意思,一切遵循搜索引擎所谓的用户体验来操作,在这个操作下面藏着的是我们的真实目的。






