How to become a Software Developer


There is something about the world of work that pushes people to always seek positive changes. There are those who make career moves for better benefits, a higher salary, geographic relocation, as part of their career plan, or simply because their current work cycle is coming to an end.There is also a second class of professionals who make changes motivated by new challenges, because they believe they have learned everything they had hoped for in their current profession and want to take a step up.The technology industry offers limits sufficiently high to bank on growth, not only in benefits and salary, but also in promising a new lifestyle:

  • Greater flexibility as time goes on
  • A new perspective on work where physical presence is not a job requirement for adding value
  • Career growth that will be unlikely to reach the end of its cycle within the next 20 years

Tools and skills to work in the software industry

Working in technology is an exciting, dynamic challenge, as full of obstacles as it is of opportunities. For someone like me, starting work in the IT world was mainly a research challenge. I had to learn some of the basic technologies used in the market, frameworks, architectures and technical concepts that can take a few long months to fully get to grips with.I discovered that there are a number of global requirements when choosing to work in the industry. In these last 3 years I have been able to compile a short list of tools, skills and concepts that opened up the possibility to develop in the industry way more than any particular language or technology.

A sense of community and teamwork

The day-to-day life of a developer is based on someone else’s work and, in turn, their work will be the basis of someone else’s. The perfectibility of the code, the analysis, the documentation and effective communication will be fundamental to world-class work.

Acceptance of failure

Every day we will encounter new problems. What was an achievement yesterday is now old news, and new challenges will rear their heads prior to a production launch or on a weekend.Nobody said it would be easy, but the important thing is not the lack of problems, but the resilience to face them.

Curiosity

This job is based on learning. While the methods and technical characteristics of some industries remain the same for some time, the technology industry advances faster than we can predict. Continuous learning, a self-taught spirit and collaboration and assistance from the team are central to a profile that is constantly fed with information. 

The main tool for our work is the Internet (someone once told me that you must first learn to use Google, and then learn to program). It is important to stay active by consulting, investigating and having a calling to absorb the information that comes our way and then share it within our environment.

Customer orientation

In this industry, perhaps more than any other, the product is intangible and as such once it is finished only its result is perceived. Understanding, interacting, making proposals, and providing solutions and new alternatives increase the value perceived by the client and reduce the uncertainty around an ongoing project. This is key in the agile project management methodologies market. Learning to manage using the Scrum model relieves uncertainty: periodic milestones, refinement, permanent planning and measurement, and hindsight allow the client to see what is being done and the team to anticipate changing scenarios with an assessment of their own work in real time.

Discipline

There are thousands of expert opinions on this point. My personal experience indicates that discipline in this industry can be boiled down to three areas:

  • Generating good habits

This can be achieved by taking advantage of work time, respecting schedules, and being punctual. It is also very important to always make use of active listening, set aside a few hours a week exclusively for training, and provide or request feedback on our work.

  • Keeping records

Use management tools, document and comment on code. There are some very useful tools for the daily management of requirements, time and productivity, such as Jira or the Trello or Asana Kanban boards, and some tools for team analysis and estimation such as PokerBot.

  • Self-evaluation of results

This means quantifying the relationship between results and effort and applying corrective actions if deviations are detected. One of the most commonly used processes is the implementation of one of the most well-known milestones of the Scrum methodology, the Daily Meeting, which allows us to understand what we are doing and what we need to complete our tasks. At the Daily Meetings priorities are defined, and expectations are consolidated.

Humility

You are going to fail. You are going to make mistakes. For this reason, a humble attitude is essential when facing your colleagues’, leaders’, or even clients’ corrections. This is one of the most important qualities when working in technology.

Flexibility

The need to be flexible is a reality that runs through the industry, and the wider world, for which humility and constant learning are the key to acknowledging that we are fallible.A flexible attitude also implies openness to changes, the restructuring of objectives, new paradigms and, above all, getting our mind used to unpredictability.The world of IT is fascinating. Attitude is just as important as aptitude, and a developer with a good attitude dramatically increases their rate of growth and earning potential.In my experience, working in technology and developing as a software developer has been a leap I would highly recommend. Today, all professions are multiplied with technical skills and software is transformed not only into a new source of jobs, but also into a catalyst for professionals who can provide scalable solutions to solve problems and make people’s lives easier. We are at a unique point in the history of humanity and technology is the tool that can solve the conflicts and problems of the coming years, which is why I discovered that  it is as important to develop from a technical perspective as it is to develop the soft skills which will be essential to making the most of the opportunity of becoming a developer of solutions for the 21st century.

Guillermo Mari

About the Author

Guillermo Mari is a Full-Stack Developer with extensive experience in web development. Guillermo is a good team player, proactive, and an effective communicator.