软件工程师职业规划_为什么公司文化对您作为软件工程师的职业很重要
軟件工程師職業(yè)規(guī)劃
The impact of a company’s culture is reflected in a company’s ability to achieve their goals and productivity levels, and in their employees’ satisfaction. The company culture can make or break a business.
公司文化的影響體現(xiàn)在公司實現(xiàn)目標(biāo)和生產(chǎn)力水平的能力以及員工的滿意度上。 公司文化可以成就或破壞業(yè)務(wù)。
Yet, company culture is the one thing that many aspiring programmers overlook in their job search. Unfortunately, they usually find out after accepting a job offer that they are working for a company with a very poor culture. That oversight can have a negative impact on their career.
然而,公司文化是許多有抱負(fù)的程序員在求職時忽略的一件事。 不幸的是,他們通常在接受工作邀請后才發(fā)現(xiàn)自己在一家文化很差的公司工作。 這種疏忽可能會對他們的職業(yè)產(chǎn)生負(fù)面影響。
To better explain the impact of company culture, I am going to use experiences from my career to illustrate.
為了更好地解釋公司文化的影響,我將使用職業(yè)生涯中的經(jīng)驗進(jìn)行說明。
工作時間 (Working hours)
The 9 a.m. to 5 p.m., 40-hour work week is a reflection of how work was performed in the Industrial Revolution. During this time, workers punched a clock which measured the amount of time worked. Management used the punch clock to gauge employee productivity.
每周工作40小時的上午9點至下午5點反映了工業(yè)革命中工作的進(jìn)行方式。 在這段時間里,工人打了一個鐘,以測量工作時間。 管理層使用打Kong鐘來衡量員工的工作效率。
Today’s software engineers are smart, creative people who prefer to work in an autonomous environment to create their best work. Unfortunately, at some companies, management still clings to hours worked as a barometer of productivity.
當(dāng)今的軟件工程師是聰明,有創(chuàng)造力的人,他們更喜歡在自治環(huán)境中工作以創(chuàng)造最佳工作。 不幸的是,在一些公司中,管理層仍然堅持將工作時間作為生產(chǎn)率的晴雨表。
The following examples are how two management teams from two different companies that I worked for view work hours.
以下示例說明了我工作過的來自兩個不同公司的兩個管理團隊如何查看工作時間。
第一公司 (First company)
This company provided flexibility to employees in terms of when they started and ended their work day. The only requirement was that every member of the team had to be available during the same six-hour window during the day.
該公司為員工提供了上班和下班時間的靈活性。 唯一的要求是團隊中的每個成員都必須在一天中的同一六個小時內(nèi)有空。
This provided flexibility to employees so that they could schedule doctor visits, receive home deliveries, tend to their homes and car repairs, and so on.
這為員工提供了靈活性,以便他們可以安排醫(yī)生就診,接受家庭分娩,照料他們的房屋和汽車維修等。
第二公司 (Second company)
Management sent an email to every programmer, asking them to declare their time of arrival at and their time of departure from work every day. Later, we received another email explaining that people were not adhering to when they said they were arriving at and leaving from work. Shortly thereafter, upper management was sitting at the front of the office when people arrived at work. They were probably noting when their employees were arriving at work.
管理層向每個程序員發(fā)送了一封電子郵件,要求他們聲明他們每天的到達(dá)時間和下班時間。 后來,我們收到了另一封電子郵件,說明人們說到達(dá)或離開工作地點時未遵守。 此后不久,當(dāng)人們上班時,高層管理人員坐在辦公室的最前面。 他們可能注意到員工何時上班。
Normally I arrived at work around 8:00 a.m. One morning I arrived at work at 8:30 a.m. Upper management commented that I was late for work. There were about 20 people that worked in the same office, and I was the second programmer to arrive at work that day.
通常我是在早上8:00左右上班的。一天早上,我是在早上8:30上班的。 在同一間辦公室里大約有20個人在工作,那一天我是第二位上班的程序員。
如何避免 (How to avoid it)
Avoid companies that measure your success by when you arrive at and leave from the office. Instead, work for companies that measure your success by the goals you meet. When interviewing with companies, ask if they have core work hours or standardized hours.
避免使用能在您到達(dá)和離開辦公室時評估您的成功的公司。 相反,應(yīng)為根據(jù)您所達(dá)到的目標(biāo)衡量您的成功的公司工作。 在采訪公司時,詢問他們是否有核心工作時間或標(biāo)準(zhǔn)時間。
Companies with core work hours require that every member of their team be available during those hours. Employees can set their start and departure time based on these core hours. For example, if core work hours are 10 a.m. — 4 p.m., employees can start work at 8:00 a.m. and leave at 4:00 p.m. Or, employees can start work at 10:00 a.m. and leave at 6:00 p.m.
具有核心工作時間的公司要求在這些時間中團隊的每個成員都應(yīng)有空。 員工可以根據(jù)這些核心時間設(shè)置他們的開始和離開時間。 例如,如果核心工作時間是上午10點至下午4點,則員工可以在8:00 AM開始工作,然后在4:00 pm離開,或者,員工可以在10:00 am開始工作,然后在6:00 pm離開。
鼓勵或勸阻員工采取行動? (Encourage or discourage employees taking action?)
Following the Pareto Principle, the overwhelming majority of employees will treat work as something they do between 9:00 a.m. and 5:00 p.m. These employees will not make an effort to learn new skills or technology on their own. The remaining 20% of employees will invest their time and energy on learning and improving their knowledge. Companies can decide to either foster employee development or to neglect it.
遵循帕累托原則,絕大多數(shù)員工將在上午9:00至下午5:00之間將工作視為他們所做的事情。這些員工不會努力學(xué)習(xí)自己的新技能或技術(shù)。 其余20%的員工將把時間和精力投入到學(xué)習(xí)和提高知識上。 公司可以決定鼓勵還是忽略員工的發(fā)展。
The following are examples from my work experience of how management treated employees who spoke at conferences.
以下是我的工作經(jīng)驗中有關(guān)管理層如何對待在會議上講話的員工的示例。
第一公司 (First company)
I was selected to speak at my first technology conference. The conference was Connect.Tech, which is the premier web and mobile development conference in the Southeastern United States.
我被選為第一次技術(shù)會議的發(fā)言人。 該會議是Connect.Tech,這是美國東南部的首要Web和移動開發(fā)會議。
Within 48 hours of it being announced that I would be speaking at the conference, our director purchased conference tickets for every developer in the department. My director wanted to support me because I had invested my time and effort to master a skill that I would be speaking about at the conference.
在宣布我要在會議上發(fā)言之后的48小時內(nèi),我們的主管為該部門中的每個開發(fā)人員購買了會議門票。 我的導(dǎo)演想支持我,因為我投入了時間和精力來掌握我將在會議上談?wù)摰募寄堋?
Later, after accepting to speak at my second technology conference, the director pointed out that I was speaking again and gave me a monetary reward for my efforts.
后來,在接受我的第二次技術(shù)會議上的發(fā)言后,主管指出我再次發(fā)言,并為我的努力給予了金錢獎勵。
第二公司 (Second company)
This company was in the process of rewriting their website from PHP to AngularJS. I was selected to speak at ngConf, which is the world’s largest conference on AngularJS.
該公司正在將其網(wǎng)站從PHP重寫為AngularJS。 我被選為ngConf(全球最大的AngularJS會議)的發(fā)言人。
To speak at this four-day conference, the company required that I take two days of vacation. I was also given two days off. The conference covered my airfare and hotel, but I paid for my own food and taxi rides.
在這次為期四天的會議上發(fā)言時,公司要求我休假兩天。 我也有兩天假。 會議涵蓋了我的機票和酒店,但我自己支付了伙食費和出租車費。
At the last minute, another programmer decided to attend the conference. The company paid for his airfare, conference ticket, hotel, taxi rides, and food. As well, the company gave this guy four days off to attend the conference.
在最后一分鐘,另一個程序員決定參加會議。 公司為他支付了機票,會議票,酒店,出租車和食物。 同樣,該公司還給這家伙放了四天假參加會議。
Later, I asked the company if they would also cover my food. They responded by saying that I was being self-centered and just wanted to exploit the company’s resources.
后來,我問公司是否也可以提供我的食物。 他們回答說我本人以自我為中心,只想利用公司的資源。
如何避免 (How to avoid it)
As you can tell, the company culture in these two companies are drastically different. When you look for a job as a software engineer, make sure you do your research about the company first. Try to figure out whether or not the company invests in their employees’ development. Does the company encourage their employees to improve their skills? Or does the company discourage it?
如您所知,這兩家公司的公司文化截然不同。 當(dāng)您尋找軟件工程師的工作時,請確保您首先對公司進(jìn)行研究。 嘗試弄清公司是否投資于員工的發(fā)展。 公司是否鼓勵員工提高技能? 還是公司不鼓勵它?
工作流程和質(zhì)量控制 (Work processes and quality control)
Quality assurance (QA) is a part of the software development life cycle. QA ensures that there are no bugs in the code. The longer a bug goes undetected, the more costly it is going to be to fix it later on.
質(zhì)量保證(QA)是軟件開發(fā)生命周期的一部分。 質(zhì)量檢查確保代碼中沒有錯誤。 無法檢測到錯誤的時間越長,以后修復(fù)該錯誤的成本就越高。
Git is the primary tool programmers use for version control. Programmers in a team must have a strategy to control the codes used in production-ready codes.
Git是程序員用于版本控制的主要工具。 團隊中的程序員必須有一種策略來控制生產(chǎn)就緒代碼中使用的代碼。
The following are examples from my work experience. They show when companies invest in their work processes and when they do not.
以下是我的工作經(jīng)驗示例。 它們顯示了公司何時投資于其工作流程,何時不投資。
第一公司 (First company)
Every programming team had a QA person. QA was responsible for checking the programmers’ code and verifying that it met the acceptance criteria for the story. If the QA engineer had concerns with the quality of the code, it was the programmer’s responsibility to re-do the code until standards were met.
每個編程團隊都有一個質(zhì)量檢查人員。 質(zhì)量檢查人員負(fù)責(zé)檢查程序員的代碼,并驗證其是否符合故事的接受標(biāo)準(zhǔn)。 如果質(zhì)量檢查工程師對代碼的質(zhì)量感到擔(dān)心,那么程序員必須負(fù)責(zé)重新編寫代碼,直到達(dá)到標(biāo)準(zhǔn)為止。
The programmers used a Version Control System workflow (VCS) to create branches that reflected the number assigned to the story. Once programmers completed their code, they were required to merge the master branch into their code to see if there were any merge conflicts. Once that was done, they submitted their code to the master branch.
程序員使用版本控制系統(tǒng)工作流(VCS)創(chuàng)建分支,以反映分配給故事的編號。 程序員完成代碼后,需要將master分支合并到代碼中,以查看是否存在任何合并沖突。 完成后,他們將代碼提交給master分支。
Before the end of the sprint, the entire team would spend a day verifying that the code on the master branch met the acceptance criteria for every story. Programmers were required to verify the work completed by others, but were not allowed to test their own code.
在sprint結(jié)束之前,整個團隊將花費一天的時間來驗證master分支上的代碼是否滿足每個故事的接受標(biāo)準(zhǔn)。 要求程序員驗證其他人完成的工作,但不允許他們測試自己的代碼。
第二公司 (Second company)
This company did not have a single QA person on staff. They also did not implement a Git workflow strategy. As a result, programmers were responsible for testing their own code in relation to the story, but not in relation to the potential impact it might have on someone else’s code.
該公司沒有一名QA人員。 他們還沒有實施Git工作流程策略。 結(jié)果,程序員要負(fù)責(zé)測試與故事有關(guān)的自己的代碼,而不是與故事對他人代碼的潛在影響有關(guān)的測試。
A release was pushed to production. The push resulted in the website going down. Luckily, the code was rolled back within seven minutes. In the following week, a team lead and several programmers tried to find a solution for the website outage. For several nights that week, they worked until 10:30 p.m. trying to fix the problem.
版本已發(fā)布到生產(chǎn)中。 這種推動導(dǎo)致網(wǎng)站癱瘓。 幸運的是,該代碼在7分鐘內(nèi)回滾了。 在接下來的一周中,一個團隊負(fù)責(zé)人和幾個程序員試圖為網(wǎng)站中斷找到解決方案。 那個星期的幾個晚上,他們一直工作到晚上10:30,試圖解決問題。
After resolving the problem, management sent an email praising the team leader for the hours he spent solving the problem. The email concluded that all employees should be willing to work the same number of hours to complete their work.
解決問題后,管理層發(fā)送了一封電子郵件,稱贊團隊負(fù)責(zé)人解決問題所花費的時間。 該電子郵件得出結(jié)論,所有員工都應(yīng)愿意工作相同的小時數(shù)才能完成工作。
Instead of addressing the root problem, which was having an ineffective VCS strategy and a lack of QA resources, management decided to praise someone for the side effect.
管理層沒有解決根本的問題,即無效的VCS策略和缺乏質(zhì)量檢查資源,而是決定稱贊某人的副作用。
如何避免 (How to avoid it)
When interviewing with a company, you will probably speak to more than one developer on the team. Ask them if the company utilizes an effective VCS strategy. If so, ask them to explain what it is. It is important to know if all programmers provide a consistent answer to this question.
在采訪一家公司時,您可能會與團隊中的多個開發(fā)人員交談。 詢問他們公司是否采用了有效的VCS策略。 如果是這樣,請他們解釋是什么。 重要的是要知道是否所有程序員都對此問題提供一致的答案。
Another question to ask is what is the time between when an error with a production code is reported and when that error is fixed.
另一個要問的問題是報告生產(chǎn)代碼錯誤與修復(fù)該錯誤之間的時間。
工作與生活的平衡與休假時間 (Work-life balance and vacation time)
The Business Dictionary defines “work-life balance” as “a comfortable state of equilibrium achieved between an employee’s primary priorities of their employment position and their private lifestyle.”
《商業(yè)詞典》將“工作與生活的平衡”定義為“在雇員的主要工作重點和個人生活方式之間實現(xiàn)的一種舒適的平衡狀態(tài)”。
Programmers should seek a job that does not demand an excessive amount of their time and energy that they miss their children’s birthday or taking their vacation.
程序員應(yīng)該找一份不需要過多時間和精力來錯過孩子的生日或休假的工作。
The following are examples from my work experience of how management manage their employees’ work-life balance and vacation.
以下是我工作經(jīng)驗中有關(guān)管理層如何管理員工的工作與生活平衡和休假的示例。
第一公司 (First company)
This company provided three weeks of vacation. Employees could take vacation with as little as one day’s notice. There was no problem when one or more employee went on vacation at the same time.
這家公司提供了三個星期的假期。 員工僅需一天的通知就可以休假。 一個或多個員工同時休假沒有問題。
If employees did not take their allotted vacation, it did not roll over to the next year. Between Thanksgiving and Christmas, the company sometimes worked with partial development teams. This is because programmers were sent home to make sure that they used all of their vacation.
如果員工沒有休假,則該假期不會延期至下一年。 在感恩節(jié)和圣誕節(jié)之間,公司有時會與部分開發(fā)團隊合作。 這是因為程序員被送回家中以確保他們度過了所有假期。
第二公司 (Second company)
An employee, along with four other couples, scheduled a trip to Hawaii where they had rented a compound on the beach for a week. Shortly before this employee was scheduled to leave for vacation, he was asked to reschedule his vacation. The reason given was that the company had an upcoming deadline, and they were behind on completing it.
一名員工與其他四對夫婦安排了一次夏威夷之旅,在那里他們在海灘上租了一個大院一周。 在安排該員工休假前不久,他被要求重新安排假期。 給出的原因是該公司有一個即將到來的截止日期,他們在完成它方面落后了。
When I tried taking time off, my team leader asked me to make sure that our deadlines would not be negatively impacted by my vacation. In other words, the company expected me to schedule my vacation around my work deadlines.
當(dāng)我嘗試請假時,我的團隊負(fù)責(zé)人請我確保我們的截止日期不會受到假期的負(fù)面影響。 換句話說,公司希望我在工作截止日期之前安排假期。
如何避免 (How to avoid it)
Ask what benefits the company provides in terms of vacation and holiday. It is important to know if you are able to take time off without giving notice several days or weeks in advance.
詢問公司在假期和假期方面可帶來什么好處。 重要的是要知道您是否可以在幾天或幾周前不通知您的情況下休假。
During your interview, ask every programmer if they took all of the vacation time they were given, for every year they have worked at the company.
在您的面試期間,請問每個程序員,在公司工作的每一年,他們是否都利用了所有的假期。
結(jié)論 (Conclusion)
Company culture is a reflection of the leadership and work environment within a company. As a new programmer, working for a company with a positive company culture can catapult your career. If you end up in a company with a negative company culture, it can impact your ability to learn and grow as a software developer.
公司文化反映了公司的領(lǐng)導(dǎo)能力和工作環(huán)境。 作為新程序員,在擁有積極公司文化的公司里工作可以促進(jìn)您的職業(yè)發(fā)展。 如果您遇到的公司文化對公司不利,那么這可能會影響您學(xué)習(xí)和成長為軟件開發(fā)人員的能力。
更多文章 (More articles)
Thank you for reading my article. If you like it, please click on the clap icon below so that others will find this article.
感謝您閱讀我的文章。 如果喜歡,請單擊下面的拍手圖標(biāo),以便其他人可以找到本文。
Here are more of my articles that you might find interesting:
這是我可能會發(fā)現(xiàn)有趣的更多文章:
7 Things I learned in my journey from coding bootcamp to Senior Developer
我從編碼訓(xùn)練營到高級開發(fā)人員的7件事
Instantiation Patterns in JavaScript
JavaScript中的實例化模式
The Secret to Becoming a Better Programmer is Speaking
成為更好的程序員的秘訣
First Impressions Count — Why Doesn’t Your Github Repo Have a ReadMe File?
第一印象很重要-為什么您的Github Repo沒有自述文件?
翻譯自: https://www.freecodecamp.org/news/why-company-culture-is-important-to-your-career-as-a-software-engineer-5a590bc44621/
軟件工程師職業(yè)規(guī)劃
總結(jié)
以上是生活随笔為你收集整理的软件工程师职业规划_为什么公司文化对您作为软件工程师的职业很重要的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式能源接入 Net metering
- 下一篇: 【已阅】文件权限属性八进制表示法,chm