Someone can call himself an excellent software developer when s/he has mastered the programming languages, data structures, varied algorithms, complexity analysis techniques along with the best practices followed within the industry. While these are some benchmarks for a good data developer, there are others who have got all the necessary skill sets but still fail to leave a significant mark in their career.
In this article, we will list down a set of 18 significant questions that developers must consider before accepting a job offer.
Reality Vs Expectations
Software development practices are one of the key ingredients one should follow before accepting a job offer as a developer in any MNC.
Major Focus Points Before Accepting The Job
- Quality of releases over time
- Coding standards
- High-quality tests
- Continuous development
- Code review throughput
- Code review participation
- Technical debt
- Overall Architecture
As a developer, there are lots of things one could optimize when looking for a new job like be it a culture that suits you or a tech stack you’re excited about, a product you’d feel proud to help create.
In our experience, none of these can compensate for the frustrations of being on a team that isn’t effective. If a software team has good answers to many of the questions above, they are probably doing well and are worth considering to join.
5 Sets of Questions To Ask For Self Evaluation
1 |Regarding App & Software Tests:
• How dependable and fast are the tests done?
• Do they ensure that tests run on any branch before any code reviews are done?
• Do the apps released are of high quality? How often are progressive rollouts and deploys are rolled back and aborted in the company?
• How to avoid wasting valuable code review time are the code analysis tools used in the company?
• What is the minimum average time for a pull request or code review waits for the reviewers to review it?
• Do you get the opportunity to do changes into the preset work module and production in a team setting?
2 |Regarding Team Efficacy:
• Do the code review responsibilities are distributed equally among team members in an unbiased way?
• How do the team manage its projects? Does the teamwork in a set period (sprint)?
• How much is the team’s technical debt and is it impacting the team to meet the deadline?
• How well does the team function; how well do the members get along?
3 | Regarding Company Regulations:
• Do they have rules and regulations in place to protect customers’ security and privacy?
• How well and secure is the architecture for software development and development process functions?
4 | Regarding Employee Redressal:
• Do they address the problems of developers and if yes, how?
• What are the average hours, the employees are made to work? Is there any work-life balance?
• How long do the developers work at the company?
5| Regarding Skill Enhancement:
• Does the company allocate time to focus on learning the underlying languages and not just the framework?
• What kinds of training opportunities or skill enhancement workshops are currently conducted in the company?
•Do the company provides opportunities to learn from senior developers and work under their mentorship/tutelage? (For a Fresher)
By self-evaluating based on the questions that we have posted one can easily stay at the top of their game and can have a fulfilling career as a developer. The software industry is constantly a changing landscape. The Blackberry which was once called the leading-edge technology of today became the cannon fodder in the wake of the iPhone of tomorrow. It is a two-edged sword where your skills must match with the company’s expectation and also your career needs to be fulfilled.