What You Need To Know To Be An Awesome Software Developer đŸ’Ș

David Cunha
PICUS
Published in
5 min readSep 21, 2018

Every Software company developed their own approach regarding years of experience, general knowledge, specific know-how and guidelines for their team members to grow inside the organization.

PICUS grasped several concepts and metrics over the last years, towards the creation of what we consider that fits better with our principles and how we believe Software Developers should set their goals and position themselves in the industry.

This topic can be controversial and very subjective but follow along, as I’m going to describe which levels exist inside PICUS’ Software Development full-stack team, and what we believe you should know before reaching the upper level!

🐣 Junior Developer

You probably have less than two years of work experience and need near-constant help. However we have no expectations for you to know everything up-front, just come with an open mindset!

A Junior developer is probably familiar with one or two programming language and frameworks, and at the same time, not only you won’t know the business domain, but you may also struggle with the fundamentals of a programming language and frameworks. This step is where you absorb the most knowledge for your career and find what drives you! đŸ’»

Key Points to reach Intermediate:

  • Knowledge in Operating Systems, Data Structures, and Algorithms;
  • Understanding the concepts of the Web (HTTP, TCP, DNS, Cache);
  • Experience with Frontend (HTML/CSS/JS/React) and Backend technologies (Node.js/SQL);
  • Code Review and Pair Programming;
  • Continuous Integration and Software Testing;
  • Good understanding of English (written and spoken).

đŸ„ Intermediate Developer

This is where most of the software developers fall. You should have more than two years of experience and generally less than six, although some developers can stay at this level in their whole careers...

They can produce working code with less supervision and understand when they need to reach out for help. You will not be generally tasked with highly complicated tasks that require an in-depth level of knowledge or to lead client’s meetings. On the positive side: you’re now into the whole development cycle and can participate more closely in the decision making of internal development processes! Great, yeah? đŸ€“

Key Points to reach Senior:

  • All from above;
  • Design Patterns;
  • Business Analysis;
  • Good communication skills;
  • Mentor capabilities;
  • Community activity;
  • Processes improvement/creation.

🐓 Senior Developer

Now you reached the “epic level” for Software craftsmen. However, you’re just starting
 As once someone said:

The more you know, the more you know you don’t know.

That’s the truth, my dear friends
 You have experience, and you’ll be able to design solutions as well as completing complex tasks. As you already worked on a couple of projects, some big and other straightforward, you should have run into a lot of problems and seen the results of design problems. Moreover, as a Senior, you have an excellent idea of where to look first and what corners can be cut and what should never be disregarded.

At this stage, being Senior starts to be more than just having good programming and computer science knowledge, but yes getting acquainted with the business domain, you’re working on. Management and Leadership skills start to shine for some well-rounded individuals, and you can be called up to lead projects, manage clients and teams. Knowing how to explain technical decisions to laymen, driving the communication, and knowing how to push back a requirement when you see associated risks involved, is paramount to succeed as a Senior Developer. However don’t forget that you didn’t reach the end of the line, every day is a new day to grow as a professional and a human being.

In the following weeks, we will be sharing recommendations for how can you improve as Developer and the process behind our work. Stay tuned! 😍

To sum up!

The number of years of experience should not be the only one metric you should care about, but yes, having years of AWESOME experience! Like some automobile commercials back in the 70’s and 80’s mentioned: “Your Mileage May Vary”!

Start by concrete items, and draw your goals for the next 6 months and for the year to come. From there, invest in yourself. The interwebs are plenty of resources and books that can help you get to the next level (we will be sharing them in an upcoming post 😊), but reading/listening is not enough if you don’t apply practical means to experiment what you just discovered.

LEARN BY DOING should be your motto because practice, good habits, daily coding, and being humble, will make the difference between being an average and an awesome Software Developer!

David is the Lead Developer of PICUS. He believes that using the right tool for the job is always the best choice for any software project. Therefore, he helped in to build several MVPs that could solve his clients’ problems at the right product stage.

PICUS is a consulting company of designers and developers that partners with you to create great products for web and mobile. You can follow our work on Facebook, Instagram, LinkedIn, and Twitter.

--

--

David Cunha
PICUS
Editor for

Interested in building scalable web apps and businesses that make people happy đŸ’»