How to choose the best software company if you want to get a job?
The article I wrote earlier turned out to make many people send a message to me regarding what job seekers should ask to identify. If the best Software Company they are applying to is a software manufacturer or not. This question is exciting because the first time I graduated from university, there is no guidance on the ideal workplace for software developers. My criteria used to be a high salary. In the past, banking was the Prime graduate of informatics graduates because these companies were brave to pay expensive for software developers.
Times have changed. A 21-century scholar of informatics graduates should be smarter in sorting the workplace and should be brave to ask back to the assessor so that software developers don't spend time working with companies that can't humanize the software developer. Hopefully, this guide can help job seekers to identify which companies still have a software company mindset. Before reading this article, I recommend reading the prequel article so that it is in the context of this article.
- Can a software developer have a higher salary than the manager?
The first question a candidate should ask is whether the software developer could have a higher salary than the manager in the company you want to go. In the software company, the software developer is regarded as a cost-center so that the software factory is trying to suppress the low salaries of developer software.
Working in a company where software developers are at the lowest pay grade is not very tasty. Software developers are not uncommon in-under-estimate and only viewed as resources. Our colleagues who are software developers often self-pity and complain that as software developers they have no life. Software developers cannot self-actualize into great software developers because the only way to get a higher salary is by becoming a project manager.
In modern enterprises, software developers are seen as valuable individuals, not as resources. In modern companies, what they believe is congruent with what they do, software developers are not in the lowest pay grade and could have a higher salary than the manager. In modern enterprises, software developers can pursue professional careers. Not all software developers need to pursue a career as a project manager, and software developers can self-actualize into the best developer software.
- Is it on-time and on-scope to be the success criteria of a project?
Software Company still lags in the way of thinking and always makes on-time and on-scope as success criteria because software development is yet seen as a cost center and the work of the manufacturer has not seen as a profit influencer and Innovative work. This mindset is a derivative of Scientific Management.
- Is the development team member assigned to several projects at once?
In the software manufacturer, the focus is cost-efficiency because software developers are viewed as resources. In addition to finding the lowest-paying developer software, each developer is tasked with working with several projects, and each developer is ensured by the project manager to never idle. The Software company focuses on the utilization of each individual so that it should not be occupied and busy 100%.
Multi-tasking makes the time of the software delivery become slower and rarely degrades quality. Overburden because the software developers are too tired from over-utilization makes them unable to get inspired from his brain and rarely degrades software quality. Software developers are creative workers who work more with their minds, unlike more work on their muscles.
Working in a company whose focus is on people's efficiency is not very good. Software developers are not considered a human being. The software developer is only viewed as a resource that must be squeezed as hard as possible. Overtime is not seen as a regular thing. The harvesting of thinking so that overtime is considered as usual is not uncommon.
Modern companies are not focusing on people’s efficiency but focus on flow efficiency by providing an environment where people can focus on producing quality products and the highest possible value.
- Is there a team concept or people are in a silo throwing one another job?
In the software company, there is no such thing as the concept of the team, that there are only those who work like in an assembly line in the company that throws each other's jobs from one person to the next. Each function works in different phases in the SDLC. Each role reports to a functional manager, respectively. QA reports to QA Manager, Developer reports to Development Manager, Analyst reports to Analyst Manager, Infra reports to the Infra Manager, etc. Because in the software company, there is no concept team, in the software company we also will not see its name collaboration.
Working in a silo-based company is not very good. Politics and bureaucracy are everyday food in a company like this. Many are only thinking of personal KPI. The Functional Manager will also be defensive against his department alone because his KPI is heavily dependent on his defensive level. In this company, too, not uncommon people look low and have no empathy for the developer software.
In modern Enterprise, Cross functional-team works together to improve the business value of the product. In the software company, there is no sense of ownership of the software developed because each person focuses on pursuing the airing. Therefore, the software of the software manufacturer is often user Experience S*cks. In modern enterprises, each team member has ownership and love for the software they develop because they are not coining based on functionality. Not only do they have property, but they are also ambitious to create high-quality software that has an impact on its users.
- Is the company optimizing performance or individual performance?
The Software Company is highly obsessed with individual performance because the software manufacturer wants to make sure every individual has been squeezed as loudly as possible to work as hard as possible. If anyone has not worked on target, then management wants to sack them to work even harder. In a software company, each role has a KPI that is intentionally designed to cause a conflict of interest or to interplay the part of mutual competitiveness.
Working in a company that is obsessed with individual performance is not very good. The theory of management that they use is still a theory of scientific management in which workers are just numbers. The company is only looking at the software developer as the numbers that need to be managed in the Human Resource Management (HRM) system, not as a unique individual of God YMK creation.
New companies, seeing the smallest units, are a team and focus on creating a collaborative group of non-competitive individuals with each other through the KPI of creation. A modern corporate assessment system is also designed to encourage people to focus on the main mission of product development rather than to focus on achieving personal KPIS. Modern companies are aware that the optimization of individual performance is sub-optimal because software development is the whole teamwork that emphasizes collective intelligence instead of assembly-line work like in the software company.
- Do each team member in one team have the same success indicator or conflict with each other?
In the software manufacturer, in addition to the no concept of the team, everyone is ambitious to fulfill his own KPI. In the software company, politics is very viscous because everyone is ambitious to fulfill his personal KPI. People don't care about others as long as the KPI looks beautiful. Businesses and IT have KPIS designed to conflict with each other. Even in IT's own Development, QA and Operations have a conflicting KPI.
They are working in a company whose personal KPI between each opposing team member is very bad. Politics and bureaucracy are everyday food in a company like this. People do not have a holistic picture and a pivotal mission to the software to be developed. People are good at doing Tai-chi to defend his KPI. His eyes have been obscured by his personal KPI alone. Collaboration and collective ownership of the software is not found in companies like this. Software developers are difficult to develop in companies like this and even get carried away with corporate politics. They are working in a company like this siphon much energy to politically that could be used for personal development.
In modern enterprises, each team member, regardless of their position, works for the same mission and does not have a KPI that causes a conflict of interest to each other. The Tester has the same purpose as the developer who has the same mission as the designer, etc. Everyone focuses on improving the value of the software developed not to focus on achieving private KPIS.
- Can the development team challenge the features and deadlines of the company's leadership?
In the best software company, the boss thinks that he is always right — the little fruit hears and does what the boss says. Deadlines often descend from the sky and cannot be in the challenge. The features come because of the highest political power within the company. In the software company, the most senior political power always win. The leaders in the software factory do not want to dispose of his ego all the way to the well. They do not want to know and have no empathy.
Working in a company where the company leadership and management feel the most correct and cannot be in-challenge is not very tasty. We often think inferiority or self-pity works in a company like this. We so often view ourselves low as machine spare parts in the company because the boss feels the decision is always right and can not be in the challenge. Software developers are difficult to develop in companies whose bosses have no empathy, who think the experience is the absolute truth of the universe, and not a servant leader.
In modern corporations, the leaders are humble and serving; they never feel the most correct or assume all of his experiences as the absolute truth of the universe. Leaders in modern enterprises are open to the challenge, even encouraging each individual to challenge the decision if anyone can offer a better solution. Leaders in modern enterprises override their personal ambitions for the greatness of the people they lead.
- Does the company punish or celebrate failures?
Inside the software company, failure will end on judgment and judgment because the software manufacturer sees failure is the end of everything. In the software manufacturer, failure is seen as something negative. Failure is not an option.
Working in a software company whose people have a fear of failure is not very good. People do not dare to take risks and do not have a passion for work. Our days are felt mundane because people play safe. The people are very defensive and not infrequently dispelling work and intelligence, making excuses. Software developers are difficult to develop within the company that people have a fear of failure.
Modern companies see that failure is an opportunity to learn and find improvement. Failure will end on retrospective, something worthy of celebration. Blame the situation, not the person, is a working principle in a modern enterprise. Modern companies celebrate failures because they know they can find something bigger behind the crashes. Modern enterprises have a safe-to-fail working environment, not a fail-safe working environment. New companies do not punish and judge who makes mistakes because it only makes people afraid to take risks, which is needed in software development so that there is innovation in software development.
At the End,
Applicants can ask such questions to the company who want to go to identify if the company is a software company or not so that you do not have to spend your days Ponder "Why programmer have no Life." Different from my past era, nowadays, there are many modern companies that no longer have the mindset of software and do not use the Scientific Management mindset. Hopefully, this article helps you get a more humane workplace for software developers.