DEV Community

Cover image for Joining a Software Company: Self-Aware Software Artisan
Mario Novak
Mario Novak

Posted on

Joining a Software Company: Self-Aware Software Artisan

Our goal is to determine what makes a great company, find a company that makes sense for you, plan your growth, outline what is expected from you and vice-versa, and determine the compensation package.

Everything is dependent on the situation and the individual, so suggesting anyone anything, e.g. to join an existing Company or to start a new one, is ungrateful and depends on the situation at hand.

Whether you will go and join others on the journey already started or start your own and attract others to join you — depends on your interests, skill level, will, enthusiasm, and the situation that meets the before-mentioned things.

Related: Self-Aware Software Artisan: Starting a Software Company.


🏆 Your progress 🌏 🏄‍♂️

After you’re done reading: check the ⬇️ bottom of the page — you’ll find next parts of this series that cover diverse set of related topics!

📣 Coming soon!

I’m continually refactoring this series.

Subscribe to receive a single-page Manifesto: Scalable Software Development distilled to the ultimate truths; from the viewpoint of an Software Artisan.


Author’s experience

Data Sculptor, Architect of Systems and Products.

Founded startups in the fields of Education and Sports and led teams of up to ten people.

Worked, as a Systems Architect, Frontend, and Backend Developer, for a product company, a digital agency, and as a remote freelancer.

For more information, check my Personal Website.


🎷 Background song

Getting closer to what you are — Picking the industry, company and the position

Alt Text
Source

If you are interested in psychology, find a company that is deeply in the trenches with it. The second best option is to find a position that is involved in it, even if the company is not primarily in the industry of your choosing.

If you don’t see anything you like — start your company.

Take everything as a series, or a continuation, of steps you take. If you are not satisfied with the direction, adjust — change your company, position, or start a new company by yourself.

Think and feel what is inside you. Decide the next step that is the closest to what you can understand that is true for you.

Are you and the company a true fit?

Alt Text

I’ve come up with a game a few years ago. And it shows the relationship of you towards other people/companies and topics in the world. You are the blue one in the middle, the world is the outer circle. We’ve implemented this on a WhoHack hackathon in Rijeka, Croatia. Onetius — BarFight game.

If you are not feeling utilized, fulfilled at your work — change it. If you can’t talk about what is on your mind — change the company. It is important to have as many people in the right positions as possible — to contribute more truthfully and meaningfully.

It’s not about the money. It’s not about the dogs, cats, football tables, light show in the office, or bragging how woke the company is.

It is about the interplay of everything that allows you: to have a playground for growth, express your individually while, at the same time, you’re nurturing a team spirit — working on a project you are passionate about. It is about having the freedom to tailor the mode of working to you, and do the best work of your life.

Applying for the job

Alt Text

Source: Seinfeld, YouTube

If you are in touch with a company that is working in the Industry and on the problem you are interested in… Arrange a talk with them, assess the team, their aspirations, state your current status, from where you’ve come, and what you want from the future.

You — applying as a complete Human Being

People are not picking you on the pure grounds of you being a money-making machine. If you’ve got that impression — don’t go there.

People are rather picking you based on you being a human, with your past, experience, steps you’ve taken to get where you are, your sensibility, courage, willingness to go past the hurdles, and your outlook on life.

The bigger picture of you, working at the Company

The most important is that we recognize our state, emotions, and aspirations and actively work on extracting information from it and act accordingly.

Companies or People you should be working with are those that see you as a whole person, the same as you should look at them — like a company with an evolving story written by the people working there or like a complete person, with advantages and flaws.

Remember, this whole generation of people you are currently swimming with — will go away, and the only thing that will be left behind is — the laughs, conversations, and feelings between the team.

Your ski jump for 300 meters doesn’t mean jack shit if there is no one you could inspire.

We are constantly telling the story of ourselves, continuing on the past, changing through time.

Know your responsibilities

Alt Text
Source

It is important to know what are the exact responsibilities of your position.

Be sure to check with the company everything you’re interested in about the position. Namely:

  • amount of hours expected from you,
  • part of the day to be reserved for the work you do — to overlap with the rest of the team,
  • type of the problems you’ll work on,
  • people you’ll work with,
  • technologies you’ll work with.

The more things are known in advance — the more you’ll be able to prepare and respond appropriately while starting your work.

List all of the requirements, form a valid agreement

It is a responsible thing from both sides to formalize verbal communication in the form of requirements from both sides, written and signed in an Agreement.

Communicate any requirement in a clear and understandable manner.

If you don’t understand what is in the Agreement— ask the company for clarification and/or your lawyer.

Some of the important things to address:

  • ownership of the work you do,
  • monitoring, reviewing processes,
  • clauses for the way of resolving potential problems,
  • compensation package,
  • anything else important to you.

If something is not in the agreement, and you find it important, explain to the other side and request an addition.

Compensation for your work

Alt Text
Source

Money is a crude form of value we’ve come up with to simplify the computation of worth. You need to be compensated enough so that you feel valued as you should, based on your knowledge, experience, and future prospects.

State the amount you wish to get for the work you do so that it hits the middle ground of:

  • not being paid less than you think your experience, skills, and future prospects are worth and
  • not being paid more than that — as that would be a lie and will introduce anxiousness because you’re feeling you’re not giving enough.

On the other hand, if you’re just starting, you could settle for the lesser compensation as the experience you will get will be more valuable than potentially missing out on the opportunity. But that doesn’t mean you should sell yourself short for what you’re bringing to the table, at the start of the collaboration and in the future.

Asking for a raise

Alt Text
Source

If you feel you deserve a raise, go and ask for it.

If you feel someone else deserves a raise, encourage them to stick up for themselves and ask for it.


Express yourself

Alt Text
Source

The most valuable part of any company are the people in it.

Each position in the company has the main responsibility that can be, plainly, read from the job posting. (e. g. Frontend Dev: develop UI, …)

There are, also, implicit responsibilities individuals have. These can be summoned to informing on the perspectives you’ve acquired from working in your position, and others may not know.

To optimize inner workings of any company, it is important to continually gather information on all levels, organize it and transfer to the respectable people or groups in the company — to take actions based on it.

There are a lot of moving pieces while building software, thus it is important for all levels to communicate properly — address problems, potential improvements — on a regular basis.

Inform people in your company:

  • about any new tool that can improve your work-flow,
  • about a new strategy for doing things (think and question everything, constantly — share it with others as a talk, presentation, document — it will be greatly valued),
  • about the down-sides of the existing tools, frameworks — that are not discussed or known,
  • how to improve your and other people’s APIs (how to receive requests for work and how to deliver them in a better fashion)…

Don’t disregard anything, but conclude for yourself

Alt Text
Source

Don’t just rush to a conclusion just to appear decisive if the problem needs to be approached more diligently.

Say it if it makes sense, otherwise — say I don’t know — yet. Get back with the best solution you could come up with.

Respect the people, voice your opinion

Respect people around you.

Say what you mean, voice your opinion. If you are shy — find a way, via email, one-on-one talks — whatever makes sense for you and the people around you.

Contribute as much as you can.

Nurture relationships with people around you so that you can build part of your present and future together.


After joining the company

Check Self-Aware Software Artisan: Team.


Find this useful?

👏 Clap so more people see the story.
❤️ Support your friends and colleagues at work — share this essay with them!
🚀 Use it as a, Company or Personal, Manifesto! Fork and Adapt on GitHub!

🏆 Your progress 🌏 🏄‍♂️

  1. Intro

  2. You — A Human Being

  3. Your Health

  4. Question Everything

  5. Deep work

  6. Joining a Software Company — ✺ You are here.

  7. Starting a Software Company — 👈 Next up!

  8. Team Artisanship

  9. Product Artisanship

  10. Code Artisanship

  11. Finishing up


Cover image source

Top comments (0)