首页 English

中国科教评价网 — 权威高校排名

您所在的位置:评价网 > 大学排行榜 > 职场攻略 >


来源:发布时间:2014-08-05 10:29    点击数:




乐天投资(Rakuten Ventures)主理合伙人Sae Min Ahn

This is not specifically for software engineers but I believe this applies for the many young hopefuls walking into their first company.


Falling more in love with the company than the job:Probably one of the biggest mistakes I made. I truly believed that if I got into the company I wanted, I would eventually find the role that was right for me. What was more painful was that I gave up an amazing role in a different company because I liked the branding of my-then-employer


Believing that having a black and white viewpoint on business execution was the right path: This was actually an issue – I hope it isn’t anymore – with a lot of the Korean companies at the time. They try to indoctrinate the new grad into thinking that their competitor is “the enemy” or even portray them as “evil” in an irrational mantra. I’m sure it was to gain short-term loyalty, but for a lot of people I know, they picked up a really bad habit of emotionally expending too much time “hating” on their rivals and not thinking enough about the bigger picture of things


雅虎(Yahoo)软件工程师Allen Wu

Two mistakes I made during my first job in softwareengineering as a new grad come to mind. Hopefully reading about my experienceswill encourage new college grads to be more cognizant of these common mistakes.


Thefirst was grossly underestimating how long it would take to complete a feature.The business requirements suggested that the feature was not very technicallycomplex and would be straightforward to implement. What ended up being responsiblefor the bulk of the time was cross team collaboration, dependencies on others,and evolving requirements, which led to many iterations of development. There’s an aphorism insoftware engineering that says that 90% of the work takes 90% of the estimatedtime, and the remaining 10% of work takes another 90% of time, resulting in atotal development time of 180% of the original estimate. Even after someexperience in software development, it is still really difficult for me toaccurately estimate the development time of a task (seeJan Christian Meyer’s answer to Software Engineering:What is the hardest thing you do as a software engineer?), though it’s getting better.


Thesecond was not asking for help when I should have. I was stuck on a bug Idiscovered for a feature that I was trying to implement. Trying to uncover theroot cause of the bug was like opening a can of worms – related problemsstarted popping up everywhere. Instead of properly escalating the issues toincrease their visibility to get more resources or asking for help, I spentmany cycles trying to find solutions, which was an exercise in futility. Mymanager at the time noted that a common mistake made by junior developers is to“disappear” to work on theirtasks for extended periods of time, and reappear when they’re finished. When I realized that unexpected problems are expected,and a manager’s job is to have visibility and enable ateam to operate at optimal velocity, I was able to improve on this.


Answer by Jason Ewing

Be more loyal to your company than the company is to you. I’ve managed too manyteams that have entry level employees and I see this too often. You like yourfirst company, they gave you your first real shot! You should be loyal, right?


Wrong.People stay in an entry level position for too long believing their employerwill “takecare of them” if they just work hard enough, stickaround long enough…


Overtime, this grinds a person down. I love that people believe that if you justwork hard and do well your talents will be recognized and you’ll be promoted, but thetruth is this isn’t always the way things work.Companies both large and small have to have a position to promote you to, abudget to pay you more, etc etc…


Onceyou’ve beenat your first job for a bit, begin engaging your manager about what youroptions are for developing your career. If you start to get the sense that noone ever gets promoted, or that options for advancement are limited, thenchange gears: Learn what you can where you are and take that experiencesomewhere else.


Answer by Carson Tang

Ignorethe bad habits of your older colleagues - Your colleague who has been workingfor at least 10 years might be late to meetings often, but that does not implythat it is acceptable to be late. When an older colleague is late, your managermight cut her more slack because she has proven herself to be helpful andemployable whereas if you are late, you simply look irresponsible andunemployable.


Seekguidance and help proactively - In school, your professors and teachingassistants often provide hints and guidance on homework and lab assignmentswithout you prompting them. At work, everyone is busy with his or her owntasks, so do not be surprised if no one offers help. It is not necessarily thatthey are unfriendly and selfish so much as they are just plain busy. The onesthat offer unsolicited help are generally friendly people, so those are theones with whom you want to be on extra good terms.


Be theexpert of your assigned task - Even if you are assigned a menial task likefixing minor bugs, swallow your pride, fix those bugs, and understand how youfixed them. If you are assigned a major task, the same underlying principlesapply. In software engineering, you are the expert of the part of the codebaseyou modified and extended, so if your colleagues have questions, they expectyou to have the answers. Being the expert achieves two goals. First, yourcolleagues will think of you as a responsible person, and second, your managerwill eventually notice and assign you more meaningful tasks or place you onmore challenging and more impactful projects.


Be ongood terms with everyone - In school, if you disliked someone, you could ignorehim. At work, if you dislike a colleague, you cannot simply ignore him becauseyou will be working together. Instead, be friendly and cordial. If that personis at all a professional, even if he dislikes you personally, he will respectyou professionally.


Valuequality over quantity - If you can, try to work as quickly as possible, but donot sacrifice the quality of your work for the sake of more output. Yourmanager and colleagues will remember negatively the time you broke the softwarebuild with a code check-in, even if it was delivered a week ahead of time.However, they will remember fondly the success and quality of your polished andcompleted project, even if it took an extra week to wrap up.