2016.10.19 / other
Sibeesh Venu
KNOWORTH
只有想不到、没有做不到
In this post we are going to discuss a few points which you need to take care of in order to be a successful software engineer. We all are software engineers, we create software, but are we the only people who work for it? Absolutely not. Am I right? There are few pretty good cycle or steps to be followed. Here we are not going to discuss about that. There is a saying: “When you do your duty well, there's no need to worry about the other things”. So let us see what are all the things we need to keep in mind to make our software successful, in that way we can also be a successful software engineer. I hope you will like this.
Background
Last week, I attended India’s most anticipated conference at Delhi — the C# Corner annual conference. If you need to know more about the conference, please check here. This conference will surprise you in all possible ways. I really got surprised when I had the chance to meet and attend sessions of wonderful gurus. I learned a lot. Here, I am going to explain the key points which I have noted down from the session “How to Be a Successful Software Engineer” by Mr. Glenn Block. He really motivated all of the attendees. Mr. Glenn Block is an ex-Microsoft employee who worked for Microsoft for almost 10 years, He has been a part of Azure, WCF, .NET, etc. Currently he is working as a Principal Product Manager at Splunk.
I am writing this article with the permission from Mr. Glenn Block.
How to Be a Successful Software Engineer?
I found all the points by Mr.Glenn Block were very meaningful, and must be followed by each of us.
Don’t Be Afraid to Fail
We all are developers and programmers. We make mistakes, all humans do that. It does not matter that you create your software without any faults. If you say so, you may need to make sure that your software is working or not. There is a saying from Albert Einstein: "Don't Be Afraid of Failure."
Don’t be afraid to fail, your failure is your best teacher you ever have. We can all make mistakes which will make us fail, but the most important thing is to learn from your mistakes. If you do that, your next attempt will be successful.
Image Courtesy: Forbes
If you have never failed, you haven’t tried anything new.
Don’t Be Afraid to Ask for Help
We are all working in an environment where we all make mistakes and fail. You should never be afraid of asking help from others. This can reduce your work pressure and guess what? You can deliver your product on time! That’s what your Manager needs from you. Sometimes, your junior can also lead you to the right path. So never be afraid to ask for help. Just let your ego fly away.
Image Courtesy: Psychology Today
Be a Continuous Learner
We live in a life where something new is arising in each seconds. It is same for our IT industries too. Everyday there is something new to learn. At the end of the day, what you have learn is most important. You should give a try to all the technologies which is being developed related to your designation. At the same time, it is important that you must be a master for few of them.
Image Courtesy: Keep Calm
You Can’t Learn It All
When you read the above points, there will be a thought in your mind: “How can I learn it all?” When I said to be a continuous learner, it is limited by how much you can really learn. You just need to try the technologies which you think may help in your programming life. At the same time, as I said in the above point, you must master a few of them too.
Value Your Code
When ever you write any code, just make sure that it does the things it is supposed to do in a clear and easily read manner. It was great hearing from my friend, Mr. Dhananjay Kumar, who said that Mr. Glenn Block writes coding in a way a poet writes a poem. We must follow that. It is very important that your code is maintainable, or else the one who maintain your code after a few days/months/years will have to struggle a lot.
Image Courtesy: Slide Share
Find a Mentor, Be a Mentor
We all will have a teacher in life who gives us knowledge and who help us to understand things, right? It is more important that you must find your mentor who point you in the right direction. Learn from your mentor, because a mentor can teach you so many things which he/she got from his/her life. As we all know, ‘Experience makes a man perfect’! Once you learn, be a mentor for someone to whom you can share the knowledge you got from your mentor. While being a mentor, please make sure that you are directing your followers in the right direction.
Image Courtesy: The patter son foundation
Don’t Be a Jerk
There are quite a few around us. It is not required all of them to be good. Sometimes you may end up in a situation to work with people who only speak negatively. What's important is that you be an optimist.
Don’t Over Commit
We all will have deadlines in our projects, we all know that. But there is a limit to what you can do in a time frame. Try to understand that. When you accept the requirement sheet, try to understand the efforts that need to be done and how much time you may need to work. If it doesn’t match the time frame given by your Manager/Client, please feel free to inform your reporting person. It is very important that we deliver a product which works as they expect instead of delivering it full of bugs. So never over commit. If you do that, get ready to search for an another job. You may get fired.
Never say ‘Yes’ when you want to say ‘No’.
Image Courtesy: Leadership Freak
The Right Idea Doesn’t Have to Be Your Idea
Do I really need to explain it?
We all work, we all have brains, we all have ideas. Sometimes your junior can teach you a lot, sometimes he will fix the problems faster than you. Just admit it and agree with the solutions they give you. Their ideas will help deliver the project on time. That matters. So just let go of your ego.
Image Courtesy: Sound of heart
Be a Good Listener
By being a good listener, you can see the things through others' perspective. This will enrich your capability and reputation. If they are wrong, you explain to them that they are wrong and why that is.
Testing, Testing, Testing
Testing is one of the most important roles in any software development cycle. Never release your product without proper testing, because testing is the phase you catch the bugs that clients and managers never like. If you think you are done with testing, do it once more.
Question: What is the most repeated lie by a developer?
Answer: I have done unit testing.
Patterns
Always follow the most relevant pattern which suits your project. A pattern can make you fail at the end cycle if you select it according to your requirement.
Question: What is the most important phase of software development?
Answer: Requirement gathering or requirement understanding.
Be a Part of the Community
This is very important. You need to be a part of some communities because these are made for us. There are so many communities available, a few of them are listed below.
· C# Corner
· MSDN
· ASP.NET
· Stack Overflow
· Code Project
In this way you can make yourself visible in the online world. Share your knowledge to all, and gain knowledge from all sources possible.
Contribute to OSS (Open Source)
If you get a chance to contribute to any Open Source Projects, never miss that chance, go ahead and do that. This will increase you reputation because open source projects are being used by billions of users.
Last but not the least, please comment your suggestions and feedback.
Conclusion
Did I miss anything that you may think is needed? I hope you liked this article. Please share your valuable suggestions and feedback.
2025-09-13 / Technology research
Programming is an industry thats constantly moving forward. At some point, you might take an honest look at your own skills and conclude that youve fallen behind the curve. When youre a professional this is easy to do because the chances are you have no need to push yourself day in and day out. But sooner or later falling behind the trends will come back to bite you. Youll be less competitive in business and in the job market. So how do you get back on top of your game again? Use Your Knowledge in a New Way The biggest reason why people fall behind is that theyre not doing anything different. […]
by Carol Jon
2025-09-13 / Interface
What makes a great landing page has always been a topic of discussion for many designers and webmasters. In order to design a winning landing page, you have to do plenty of research about your target audiences needs, the web-page-design techniques used and heaps of other information on the science and psychology involved. Its not the same as making an attractive website that is beautiful and functional. Clearly, a landing page has to have much more to make sure your viewers LAND on it safely and take action, just like an astronaut would. Source: Apollo 11 Moon Landing. So, your client has asked[…]
by Preston Pierce
2025-09-13 / Industry news
TIOBE Index for July 2015 July Headline: Revival of C++ Programming language C++ is the biggest climber of the first half of 2015. Compared to last year C++ gained more than 3.1%, leaving Java (+2.0%), C# (+1.6%) and Python (+1.6%) behind. The reason for this renewed popularity is most probably the introduction of the new C++11 standard, which is fully embraced by its community. The new C++11 standard improves the C++ programming language in many ways. Now that the most important C++ compilers such as Gcc, Visual Studio and EDG are supporting the standard to the max, C++ is booming. The TIOBE […]
by TIOBE Software