Effective communication can make all the difference between an average developer and highly productive “rockstar.” Programming isn’t just about talking with servers, clients, and network-addressable coffee machines.
Being on the same page as your team mates really does matter.
Here are some everyday communication tasks you’ll be doing as a developer:
“Curiosity killed the cat” does not apply to the development world! Curiosity is a strong fuel for new inventions and self-development. Experimenting helps you connect the dots and discover new solutions.
You can gather valuable experience while testing your assumptions. Ask questions, build something new with what you’ve learned so far, iterate today on what you did yesterday. Don’t be afraid to try. Even if you fail, you don’t lose. Why? Because you learn.
Show your code laboratory. Your projects don’t have to be finished. What’s more important is whether they were given a chance to become production code, and what you learned during their implementation.
Share your way of thinking a ervations on forums, write a post about them, and spread nd observations on forums, write a post about them, and spread the word about what you’ve learned.
Your users make your app successful. If they don’t like it, you’ve lost. Ask them what they need, solve their problems, and be curious as to why previous solutions did not work. You’d better get interested who your users are, and understand when and how they are try to solve what kinds of problems.
Be curious about the weaknesses in your code. Test your code, try to break it, and discover as many weak points as possible before it goes live. Observe how users react to your changes. Next, get interested about what happened after the app has been launched and your work paid.
Be bold enough to ask for help any time you can’t work out the solution. You belong to the very open society where a clear, detailed question will usually get you the right answer.
Without a plan the smallest project may become a hard-to-maintain monster. Before you go into heads-down code mode, you’ll want to consider cost estimations, sprint planning, architecting schemas, and designing elements such as user flows.
Being a good strategist means that you’ll notice pitfalls before you fall into them.
Iteration is better than perfection. A good strategist is still able to react quickly and deploy duct tape solutions, but recognizes that these are only temporary. They are effective only for a moment, then will need to be revised.
Software development is no career for the intellectually lazy. If you dream of a stable well-paid job without much effort, do not even try to enter! Being a specialist in one field will only pay off as long as you stay open-minded and eager to learn.
New frameworks, trends, and methodologies are constantly emerging. You don’t have to learn all of these, but you should make an effort to keep up, for your career’s sake. Not every client will want to build an app in the technology that you’ve already worked so hard to learn.
In time, some frameworks and languages will become more popular, and you can get paid better knowing these languages, frameworks, libraries that are in demand.
Being open to new ideas also means being respectful, tolerant, and proactive. Don’t be a hater of React just because you don’t know it and worked with Angular for the past few years. Stand up from behind your screen and go to conferences, meetups. Chat with other devs both online or offline. Stay hungry and stay foolish.
It is easy to forget about an app’s underlying goal when you’re staring at lines of code all day. Step back and think about the business’s underlying goals. You can go far if you don’t merely stop at deadlines and shipping code, but also provide smart solutions of your own.
You can appear remarkable to a client by being more proactive and giving them more than they expect.
You also have to know when to say no to the project or job offer so you can avoid getting mixed up in poorly conceived user stories and spaghetti code. Be careful because fame spreads fast, but notoriety spreads even faster.
Take care of your personal brand. Build a portfolio you can boast about, gather references, show your expertise, and practice what you preach. This will help you stand out from the crowd of other hundreds of developers applying for a given job or project.
Oh, and don’t underestimate the role of your hobbies and previous life experience. It may end up mattering for the project you want to apply for. If you are a newbie programmer, you can become a stronger candidate by looking for projects that can benefit from your pre-existing domain knowledge.
The journey without a goal is interesting, but it’s just a stroll. I’m at the beginning of my developer career, and I know what kind of developer I want to be.