1 free read left. Create a free account for unlimited reading + AI research.
Create free account[Music] hey folks welcome to part two of our series on how to be a good developer brought to you with help from the good people at stack exchange so let's review what we've discussed so far development is all about problem solving breaking a problem down and finding the right solution to do that you need to be a great analytical thinker and a professional tinkerer who can take apart any digital system understand how it works and put it all back together the best problem solvers are explorers who are constantly learning new tools and techniques on their own and from other developers today I want to start by talking about the third primary skill of an effective developer communication because if you're going to be working with other people and you are at some point you're going to have to talk to them most developers don't really like this they like to imagine themselves as the Lone Wolf hacker tearing through code into the we hours of the morning free of stupid time syns like meetings but the reality is that real development almost always happens in the context of a team because there's a limit to what one developer can do a well-coordinated
team can tackle bigger problems play to each person's strengths and solve problems faster and better than if any of them had done it alone one developer who's bad at communicating can wreck all of that when people aren't talking to each other the various pieces don't line up the wrong problems get solved assumptions are made bugs creep in and projects run late this is just as true for working with non-programmers as with fellow developers somewhere on your team there will be a manager or an artist or a marketing person who is vital to getting the project finished and out to the end users if you aren't communicating with them they can't do their jobs and the product will suffer so how do you get better at communication first treat it like any other problem and examine the tools at your disposal meetings phone calls Skype chat email passive aggressive check-in comments these are all ways to stay coordinated with the rest of the team so don't neglect them but you don't want to treat it just like any other problem because now you're dealing with people that means listening to their ideas giving the benefit of the doubt not assuming your way is always the right way this is especially true when working with non-programmers since your tendency will always be to assume that the programmer mindsets right and the artist is just insane take a deep breath listen
to what they're saying again assume until proven otherwise that they're just as good at their job as you are at yours a team that communicates well will always get better results than a team who doesn't so at this point we've pretty much covered what it means to be a good developer of course there's much more to it than just the big picture stuff here are some more specific tips and skills you should pick up as a developer number one math at least through algebra and geometry you don't have to be great at math to be a programmer but you will need to use it most developers won't do a lot of advanced math but you'll definitely use algebra trigonometry geometry and basic probability in the course of your career if you're going into game development or Finance higher math is even more important number two estimation the software industry is famous for blowing through deadlines sometimes by months or even years and some of that is feature creep it's very hard to resist adding just one more feature but just as often it's due to developers who are bad at realistically estimating how long something will take actively work on your estimation skills break down each piece and estimate each component record your estimate and see how long it actually took you and figure out where you went wrong if you're not a evaluating yourself you're not going to
get any better at it three microeconomics if you can't talk the basic languages of Economics Supply demand opportunity cost Game Theory and all that you and the suits are just going to be talking past each other most of the real decisions on a project will be influenced by money and a lot of the programmers make themselves irrelevant to the decision-making process by insisting on only thinking about making the software perfect instead of what's best for the business four basic user interface design it's basically unavoidable at some point in your career you're going to have to make something that an actual person will use and most bad interfaces come from programmers understand common UI metaphors and when to use them accordians modal dialogues buttons icons tabs folders all of that learning to see it from the user's perspective can make all the difference you may not be enough of a designer to make it beautiful but every programmer should be able to make something usable number five low-level languages like C and assembly you may not use them every day and in fact you may never use them but the abstractions of all the higher level languages are built on the same basics of pointers branching and arithmetic at some point in almost every industry performance becomes an issue
and understanding how the code works at a low level is the only way to get high performing code six understand how computers work this means understanding computer hardware networking and operating systems most of the details of these things are nicely abstracted for you 99% of the time but someday your team's going to have to deal with packet loss or page faulting or Hardware failures and you don't want to be playing catch-up then having a solid understanding of how all these systems work will make you a better developer and seven just start programming if all of this seems like too much to figure out right now it'll never hurt to just get more programming experience under your belt if you're watching this on a computer over the internet you already got everything you need to start programming so get to it and that's about it once again very big thank you to our friends at gamed dev.com for their insights into game development again if you're interested in becoming a programmer definitely make some time to check them out and even if you don't want to be a programmer stack exchange has opened up a pretty neat site to ask and answer more general questions about games which you can find at gaming. stackexchange.com thanks again fellas I think you may have helped at least a few people better understand how to pursue this career we'll be back
next week to kick off another multi-part series see you then [Music]
Professional software development requires a transition from the solitary hacker archetype to a collaborative team member. The primary thesis is that technical proficiency alone is insufficient for success; effective communication and a broad understanding of business and design principles are essential for delivering high-quality products. Because modern development occurs within multidisciplinary teams, the ability to coordinate with artists, managers, and marketers is as critical as writing clean code. Poor communication leads to misalignment, missed deadlines, and flawed project outcomes.
To improve professional efficacy, developers should treat communication as a core skill, emphasizing active listening and the assumption that non-technical colleagues are equally competent in their respective fields. Beyond interpersonal skills, developers must cultivate a diverse toolkit. Key technical and professional competencies include mastering algebra and geometry for problem-solving, refining estimation skills to prevent project delays, and gaining a foundational understanding of microeconomics to align technical decisions with business objectives.
Furthermore, the scope of a well-rounded developer extends to user interface design, ensuring that software remains functional and intuitive for end users. Technical depth remains vital, specifically regarding low-level languages like C and assembly, as well as a fundamental grasp of hardware, networking, and operating systems. These deep-level insights are necessary for troubleshooting performance issues and system failures that occur beneath the abstractions of high-level programming. Ultimately, the path to becoming an effective developer involves a continuous cycle of self-evaluation, practical application, and the integration of both soft skills and technical expertise to solve complex problems within a business context.
Jason Schreier · 2026
Comments