Help improve the developer experience with Salesforce solutions.
Developer Nation is running a short survey with our friends at Salesforce. If you are currently using any Salesforce solutions (incl. Tableau, Heroku, MuleSoft, Slack, etc.), you can share your experience and help Salesforce improve its products.
The State of Building & Developing on Salesforce is your opportunity to help Salesforce better understand how you build and develop using their platform so that they can improve your experience.
Previous developer surveys have provided great insight into who Salesforce Developers are and how developers learn and use Salesforce, which led to informed improvements. For instance, we learned that the developer community loves and engages with videos from Salesforce developer advocates, especially on platforms like YouTube. In particular, they prefer short video content that helps them solve tricky challenges. Based on these two helpful pieces of data, a YouTube playlist was created called Developer Quick Takes, demonstrating clever solutions in short-form videos.
This is for developers but also admins, architects, analysts, and more.
In the past, the survey has been focused on developers only, but now it is welcoming anyone who builds and develops in the Salesforce ecosystem to participate. As the Salesforce product portfolio has grown, the community that builds using them has also grown. In an effort to be inclusive, the survey is now open across several communities to include admins, developers, architects, analysts, and more. This survey covers products from the entire Salesforce ecosystem, including Heroku, Slack, Tableau, MuleSoft, and many others. Whether you use Salesforce low-code builders every day, write Apex code occasionally, or build in the Salesforce ecosystem in another way, we want to hear from you!
Have your voice heard and help shape the future of software
At Developer Nation, we partner with tech companies to help them gain insights and thus equip their product teams with the right tools to create improved customer and product experiences. Your feedback will be put to good use and shall inform product improvements and the future of building and developing Salesforce. We will also, share some key insights and an impressive list of prizes waiting to be claimed by the survey participants.
The 24th Developer Nation Survey is live, here’s a look at the winners so far!
What are the Developer Nation Prize draws?
We run weekly prize draws throughout the survey period (December 8th 2022 to February 3rd 2023) for developers who have taken our survey. You can take a peek at the full list of prizes on offer here. In addition, developers earn 100 points for every survey completed, plus 10 points for providing their feedback about the survey.
For existing community members who have reached over 301 points, they are also included in exclusive prize draws!
We’ll be updating this blog throughout the survey period.
Thanks to everyone who took on the challenge! If you want to test your influencer abilities in our next survey, make sure you join our Referral Program. Here are the top 50 winners:
What happens now?
We’ve reached out to all winners directly via email. 👀 If you don’t see your name on the list, don’t worry, we’ll have more surveys in the future.
To ensure that you are notified when our next survey is live, sign up. Don’t forget to make sure the survey notification option is ticked.
Open source software (OSS) development is deeply ingrained in the developer culture, representing a distinct and inclusive collaborative ecosystem. In this chapter, we will explore the motivations behind vendor-owned OSS contributions through the lenses of experience, global region, and the use of Stack Overflow.
OSS projects represent the power of community: collaborative efforts to develop code and software which positively impacts a wider audience than the individuals involved. Vendor-owned OSSprojects, e.g. TensorFlow and Visual Studio Code, combine this sense of community with financial backing from the world’s largest tech companies – a powerful combination of stability and open cooperation.
For every developer involved in vendor-owned OSS, there is a different motivating factor – why do developers contribute to these projects? The big picture is that the top-three motivators for vendor-owned OSS contributors are: wanting to learn how to code better (38%), to improve the software that they use (29%),and to contribute to something bigger than themselves (22%).
How does experience affect vendor-owned OSS contribution?
When compared to beginners, those with six years of experience or more are around 13 percentage points more likely to contribute in order to improve a software they use. These experienced and improvement-focussed developers are also much more likely to hold specialist roles compared to their less experienced peers. For example, they are six times more likely tobe software architects and five times more likely to be either tech/engineering team leads or site reliability engineers. They not only believe that the software they use can be improved, but that they also have the capability and skills to improve it.
Experienced developers devote significant attention to enhancing the open-source software (OSS) provided by vendors, which they actively use and rely on
In fact, improving software seems to be the main motivation for many senior developers – those with 16 years of experience or more are the least likely to contribute for the majority of the other reasons we list. Learning to code better, getting noticed by their company, and getting their code reviewed are much lower priorities among seasoned developers. This is to be expected given the amount of expertise and recognition they have typically accumulated by that stage of their career.
At the other end of the scale, those most willing to contribute for their own education are developers with 1-2 years of experience. Compared to those with even less experience,these developers are 58% more likely to be exclusively professionals and 48% less likely to be exclusively students. In other words, at this stage of their careers, they have enough professional know-how and confidence to contribute to vendor-owned OSS software – yet are pursuing further education for their coding skills by giving back to the community.
Vendor-owned OSS contribution around the world
According to our data, 73% of developers contribute to vendor-owned OSS globally, but the level of contribution varies around the world. Developers in South Asia are the most likely to contribute (85%), while those in Eastern Europe are the least likely (67%). As for the two largest regional developer communities, North America and Western Europe,78% and 70% of developers contribute to corporate OSS projects, respectively.
South Asia and the Middle East and Africa are hotspots for developers contributing to vendor – owned OSS projects in order to level up their coding skills
As for specific motivations, there are a couple of hotspot regions that stand out from the crowd. Nearly half (47%) of OSS contributors in the Middle East and Africa and SouthAsia are motivated by learning to code better and similarly, about one in four by the opportunity to have their code reviewed by more experienced colleagues: 10 and 5 percentage points above the global average, respectively.
Tying in with our previous analysis: these regions also hold the two largest shares of developers with less than two years of experience – 52% for the Middle East and Africa and 73% for South Asia.
However, to see how motivations towards vendor-owned OSS change across the globe, we take a wider perspective. In doing so, we group motivations into three broad categories: individual-focussed (getting noticed by the company, learning to code better, etc), collaboration-focussed (getting their code reviewed by knowledgeable people, etc.), and business-focussed (building community support around a corporate open source software project). In this manner, we can get a view of how sentiments towards vendor-owned OSS change around the world.
For instance, we see that developers in Oceania are at least 5 percentage points more likely than any other region to have business-focussed motivations when contributing to vendor-owned OSS projects. This may be linked to the financial success/focus of developers in this region – 9% of OSS contributors in Oceania report that they or their organisation generate more than $1M of revenue every month on average,compared to the global average of 4%.
Female developers are considerably more likely to be business-focussed when contributing to vendor-owned OSS
An interesting note on gender: we see that globally, female developers are 26% more likely than male developers to be business-focussed in their approach to vendor-owned OSS contribution. This observation is particularly strong in Europe: 54%of female developers in Western and Eastern Europe are business-focussed, compared to 33% of male developers. However, as the proportion of OSS-contributing female developers (22%) is only slightly higher than the global proportion (21%), it’s unlikely that they drive business-focussed regional behaviour.
How do OSS contributors useStack Overflow?
Let’s look at the usage of a website that is synonymous with cooperation in programming and software development and see how the proportion of OSS contributors changes with varying levels of interaction. For users of Stack Overflow, we see a behavioural trend–those who are more active on the website are more likely to contribute to vendor-owned OSS.
Diving into the specific usage patterns of Stack Overflow,those who don’t use or visit the site are the least likely to contribute to vendor-owned OSS for any reason, compared to those who use the site at any level. This is again related to experience: 39% of those who don’t use Stack Overflow havel ess than a year of software development experience and only 5% have an account with a badge; these developers are the least likely to contribute to vendor-owned OSS projects, after those with more than 16 years of experience.
Likewise, there are differences in motivations to contribute to vendor-owned OSS between those with or without StackOverflow badges. For example, only 28% of OSS-contributing developers without a badge want to improve the software they use, in contrast to 40% of developers with badges. A possible driver here is professional status – 74% of those without a badge are professionals. For those with a badge, 91% are professionals: these developers are not only more focussed on improvement, they are more willing to engage with the community to do so.
The strength of community shines through in vendor-owned OSS projects, where collaborative efforts to develop software have the remarkable ability to create positive impacts on a broader audience beyond the individuals directly involved. Here, we’ve shown that developers involved in vendor-owned OSS have different motivations depending on their experience, gender, and region, which in turn reflects how they use collaborative environments like Stack Overflow.
The 24th Edition of Developer Nation survey is now live and this blog post is your cheat-sheet to know everything this survey wave has to offer and how to make most out of your experience as a survey participant.
What is the Developer Nation Survey ?
If you have never participated in a Developer Nation survey before, this section is for you.
It is our most complete global survey that we have ever created for professional developers, hobbyists, students, and no-code software creators. It is intended to shape the key trends among developers and software eco-system for 2023.
When you participate in this survey you’re supporting the developer research which is used by companies and organisations creating developer centric products to provide for a better developer experience and as a bonus, you also get to win some amazing prizes and support the charities and causes you care about by donating to them.
When you participate in the survey you’re eligible and automatically enters to win prizes from a pool worth $19,000+
General prize draw: For every participant we have 250 prizes including:
2 x ThinkPad L15 Gen 3,
ThinkPad L13 Gen 3,
iPad Air,
DiY IoT kits,
choice of gifts cards or crypto,
Github CoPilot or Tabnine yearly licences,
IDE licences,
courses,
Swag bags,
cloud credits, and
tech accessories.
Special prizes for Developer Nation community members:
For our Developer Nation community members, alongside General Prize pool we also additionally have extra:
ThinkPad L13 Gen 3,
iPad Air,
swag bags,
$15 vouchers.
You can choose to join the community during the survey sign up process or by subscribing to our fortnightly newsletter at: https://developernation.net/subscribe . As a community member you’ll be part of 70,000+ developers around the world and will be getting regular updates about :
All this is powered by the survey results intended to help our community members grow in their career journey and connect with like-minded people.
ARVR prize draw:
As part of this global survey, we’ve a special section calling all Augmented (AR), Virtual(VR), Mixed(MR) and Extended(ER) Reality developers, designers and creators.
Let us know what do you think the future holds for creators of these immersive technologies which will only take 10 mins to participate and make you eligible for additional prize draw pool including :
iPad Air
ThinkPad L15 Gen 3
Meta Quest 2,
KODAK PIXPRO SP360 4K PREMIER Pack,
Crypto and Gift Cards
Check more about winners from previous surveys in the blog here .
Donations
By participating in the survey, you can also support a cause you care about by donating to one of the following organisation or non-profit :
Girls Who Code
CoderDojo
Free Code Camp
WWF
Raspberry pi foundation
You can read more about this in our last donation blog here .
So what’s Next?
The survey is live and will be running from December 8th 2022 till February 3rd 2023. You can pause the survey and finish it at your convenience, within the deadline.
It is available in English + 8 additional languages including Chinese Simplified, Chinese Traditional, Spanish, Portuguese, Vietnamese, Russian, Japanese, and Korean
Participate and let your voices be heard. We’re excited to learn what has changed in the developer world these last 6 months. Which tools and platforms are you using now and if JavaScript still rules the world of programming?
All these answers unveil along with the prize distribution with the 24th Edition of Developer Nation survey.
With most companies using Artificial Intelligence and Machine Learning technology, it’s significant to use a programming language that reduces the code complexity and offers simple implementation.
Though developers have ample opportunity to use different programming languages, Python gives them an edge over other available languages. Python offers a large number of libraries with simple and flexible tools, which makes the job easier.
Plus, it is one of the leading solutions that can work for ML and AI. Python has gained an extensive advantage over different programming languages and is being used for different projects. You can hire Python developers to know more about compatibility.
Let’s dive deep and look into what makes Python an ideal choice.
1. Huge frameworks and libraries
Building different ML and AI projects can be time-consuming. And at times, the coding process can be a complex one. However, many libraries are prewritten and compatible with Python, so developers prefer it over other languages.
The libraries available in the stock make the process seamless for new developers. Developers can pick a library based on the need of the project. For instance, the Pybrain is used for machine learning, and Scipy is specifically used for advanced computing.
Also, programmers can save a lot of time by using the approach, which is a unique library.
2. Flexible platform
Python is a highly flexible platform and is suitable for every purpose. The programming language offers the benefit of choosing between scripting and OOPS. Plus, you can consider recompiling the source code in project development.
It’s easier to bring any changes, which saves time. Additionally, it allows the developers to choose from different programming styles, following which they can combine various styles to create better projects.
The language is suitable for linking different data structures and offers perfect backend solutions for programmers. Moreover, it’s the most feasible choice for programmers who are often stuck between different algorithms – providing them with the power to check the code.
3. Its quite popular
Python is quite popular among the developer community for creating projects. It’s one of the top programming languages, and most developers love to use it for simple stacks and tools.
Moreover, it is one of the most commonly used languages for new developers. Developers can easily choose from the many Python packages available online. With a wide choice of packages, choosing the one for the project becomes simple.
Leading companies have been using the language for years, so it’s the most preferred choice for the AI community. It is also the number one choice for developers who work on machine learning projects.
4. Platform-independent nature
Python has a platform-independent nature and that’s why most developers prefer the language. It makes the entire process of building solutions more seamless and simple.
Developers can work on multiple platforms without errors. By tweaking the codes, they can make the applications ready to run or go live in no time. Additionally, they can run the apps on different OS.
By choosing Python, developers can save a lot of time they otherwise waste on testing applications. The flexibility of coding is the main feature of Python.
5. Better visualization options
As discussed earlier, Python comes with a variety of libraries that are available online, and those libraries come with visualization features and tools. Moreover, when it comes to AI, the developers need to develop visuals for a project.
They need to highlight the visuals for accuracy and attention. Plus, it plays a vital role in presenting the data. For instance, libraries like Matplotlib can be helpful for programmers and data scientists.
It allows creating of different charts and histograms and – creating plots for data comprehension. The tools help in visualization and representation, which helps the developers to build better reports.
6. Clear readability
With Python, you will get the benefit of readability, which is an important aspect of technology. It is a simple language, easy to use, and beginners can change the code.
Unlike other programming languages, Python is not complex. Besides, ease of use plays a vital part in exchanging ideas, algorithms, and tools. As a result, AI professionals can use the language to bring minor or big changes to the project at any given time.
Apart from the readability, there are tools available to create an interactive design. The external tools can help in debugging and tab completion. It can also help in testing. Additionally, it also plays a part in facilitating the work schedule.
7. Rapid development and community support
Python offers the benefit of prototyping, and if the developers are familiar with stacks, it saves time. Also, the developers don’t have to waste time in the integration of AI. Most developers consider Python simple as far as readability and writing are concerned. You won’t need to learn the complicated codes.
Python offers extensive community support – backed by experts and professionals in the field. Additionally, it provides the developers with all the essential resources they need to work on.
New developers can work quickly and hassle-free. Besides, the experts are always preparing to rescue new developers if they are stuck with the project. In every phase of the development cycle, you can take the help of experts.
Wrapping up,
AI and ML technology is constantly evolving and bridging gaps between companies. Implementation and integration can help increase efficiency and productivity.
Additionally, the use of Python for the two technologies is providing solutions to real-life problems. Plus, you can expect a customised user experience with Python.
The nature of professional game developers’ work can vary depending on the type of studio they work for. In this chapter, we will explore the profile of developers working for different types of game studios, focussing on their experience, roles, and technology choices.
For the first time in the latest edition of our Developer Nation survey, we asked professional game developers to describe the type of game studio they work for. The modern game development space has stratified itself into several different studio types, and within these studios, the types of tools and technologies used can vary significantly. Further to this, the profile of developers also shows differences between studio types.
We break down professional game developers as belonging to the following studio types:
Game publishers, who outsource most of their development;
Large-scale studios that develop and self-publish a collection of games;
Third-party developers who work on various games from different publishers;
Indie studios that publish and develop a small number of games
Here’s what we found
Game developers may be equally spread among different studio types, but we observe some important differences in their profiles. Developers with 3-5 years of experience are most commonly found in all types of studios except third-party developers; for this type of studio, their team is most likely to have 1-2 years of experience. Those with more than 11 years of experience in game development make up only a small portion of the general game developer population (11%) but have a much higher representation at indie studios (20%).
The most experienced developers in the industry can choose where they work. They may be choosing to work for indie studios due to greater creative control over projects or a preference for working within small teams, now rarely found in AAA development. They may also make personal decisions to work for studio types that are less likely to be involved in ‘crunch’.
“Developers at Indie studios are twice as likely to be highly experienced – 16 or more years under their belts – than those working for other studio types”
Mid-career game developers–those with 6 to 15 years of experience–make up more than a third (37%) of the developer workforce in large-scale studios, compared to only a quarter (24%) among professional game developers in general. The scope and complexity of the properties that large-scale studios work on may drive demand for more experienced developers. Despite this, the most experienced developers still more frequently choose indie studios, indicating that the previously suggested factors may outweigh the offers large-scale studios can make to these developers.
Of the many roles game developers may hold, we consider game designers, artists, UI designers, programmers, and QA engineers as the ones that consumers would likely identify with game development and are often the ‘core’ roles for producing games. Differences in studios can be seen by the different percentages of developers identifying themselves with these roles. Those who self-identify as programmers account for 39% of those working for indie studios, which is significantly higher than the professional game developer average (24%).
Similarly, the proportion of developers working for indie studios describing their roles as either game designer (46%), artist (27%), or UI designer (14%) is nearly double that of the population average, 23%, 15%, and 8%, respectively. The proportion of these roles between studios makes sense, considering the nature of development within these types of studios. Indie studios are typically smaller than other studios, with 66% of indie developers working for companies with up to 20 employees, compared to only 43% and 34% of developers working for game publishers and third-party studios, respectively. This can lead to more employees in a studio being directly involved in game design and development.
“Third-party studios have twice the proportion of developers in test roles compared to other game studios”
A counter-example can be seen with QA engineers, who are twice as prevalent in third-party studios (10%) compared to the population average (5%). Third-party studios having a larger proportion of QA engineers corresponds to their role in development cycles. These studios do a lot of development in-house, often work on larger projects, and can undertake contract work for larger studios, all of which require dedicated QA departments.
Further differences between game studios can be found in the choices of game engines. Unity and Unreal Engine are the most used game engines, with 33% and 15% of game developers using them as their primary engines, respectively. However, among developers who work for indie studios, these two game engines account for 48% and 20% of developers, compared to less than 28% and 12% for developers at other studios. Both engines are widely used and popular, with Unity being the most used engine for all studio types, but they have specific business and technical aspects that appeal to indie developers.
Why Developers use Unity
Due to its flexibility and ease of use, Unity was the common choice for indie developers when the scene emerged. This has led to a large online community and marketplace to support indie developers with tutorials, assets, and customised libraries. Unreal Engine is also popular amongst indie developers with it being considered one of the most powerful out-of-the-box engines and having a licensing structure that doesn’t require royalties to be paid until a game makes more than $1 million in revenue. The difference in popularity between the two game engines for indie developers likely lies in the availability of assets in the Unity store. Unity Asset Marketplace has over 77,000 assets and tools, compared to Unreal Marketplace’s 22,000, allowing small indie studios to offset development time with ready-made assets and tools.
“Unity and Unreal Engine are the most popular engines for game developers, with particularly high adoption by developers at indie studios”
Unity and Unreal have many tools and utilities but are not capable of performing every possible aspect of game design. In contrast, in-house or custom tools allow developers to focus on working with engines designed around the specific requirements of their games, as well as develop tools to optimise both development and performance. Amongst the large-scale and third-party studios, the second most popular engine choice is the use of either an in-house or proprietary engine–16% and 12%, respectively. These studios have the resources, time, and business motivation to focus on developing their engines. Use amongst large-scale developers is further incentivised by allowing assets and developers to move between projects more seamlessly, with a greater familiarity with the engine.
Engines Game Publishers prefer
Game publishers have a similar level of resources and time, but their in-house engines are often pivoted to commercial engines. Unreal Engine was developed by publisher EpicGames, Source from Valve, and RedEngine from CDProjektRed. Among game publishers, the engines initially developed by a publisher but are no longer in-house, make up another 15% of primary engine choices.
Less than 5% of developers working at indie studios use in-house engines; instead, Godot is the next most common engine choice. Godot is an open-source game engine that has built a strong community of developers around it. It has created supporters due to its dedicated 2D engine and its Python-like language GDScript which accommodates many Python users worldwide and is especially popular among student developers. The open-source nature of the engine also means indie developers do not have to worry about licensing or subscription changes, reducing financial demands and worries.
Access research reports that highlight key current and emerging development trends, expertly narrated by our analysts, based on the data from our global surveys by joining the community. Click here to join.
Web frameworks speed up and simplify the web development process by providing developers with a set of high-level APIs that allow abstract access to underlying system resources and other low-level functionalities. In this article, we look at how web frameworks have risen or declined in popularity, and we explore the profiles and technology use of the developers who use them.
The big picture of web usage framework
Born out of the necessity to provide consistent web experiences, frameworks revolutionised how web developers create our online world. With standardised approaches to development and framework-specific communities available for support, they are still a popular choice amongst web developers. According to our survey data, 60% of web developers use either client-side or server-side frameworks.
Indeed, web frameworks often present a time-saving option for web developers to do their jobs in simple and efficient ways. When turnaround times are tight, developing a website or a web app from the ground up may not necessarily be the best option, particularly when working with demanding clients. Indeed, when we look at deployment frequency, lead time, and time to restore service, framework users are likelier to be at the elite efficiency level. 12% of web developers who use frameworks deploy their code on demand, 8% have a lead time of less than an hour, and 51%take less than a day to restore service. For web developers who don’t use frameworks, 9% deploy their code on demand,5% have a lead time of less than an hour, and 43% take less than a day to restore service.
“Web developers using frameworks are more likely to deploy code on demand, have smaller lead times, and are quicker to restore service”
However, there are disadvantages to using frameworks. For example, it is unlikely that one framework will provide everything a web developer needs, just as it is unlikely that a web developer will use everything that a framework or a library has to offer. The proliferation of different frameworks with different standards and guidelines only further muddies these waters. In this case, it may be easier to stick to one or two frameworks and supplement their use with custom code rather than creating a bloated working environment.
Indeed, that’s what our data shows–the share of web developers using three or more frameworks is gradually dropping. Now, the average number of frameworks used is approximately the same for developers of all experience levels, around 3.2. However, usage habits change depending on specific years of experience–and may give an indication of what’s in store for the future of web development.
For example, those with less than five years of experience are more likely to use one framework (22%) than those with six years or more (17%). While age is not necessarily correlated with experience, we see a similar trend for those aged 24 and under(22% use one framework) compared to those 45 and above(17%).
We can take a look at specific frameworks to see who is using what. React is by far the most popular client-side library, as it is used by 58% of web developers who use client-side web frameworks. React’s stable popularity as a library is contrasted by jQuery’s decline, which has experienced a 13 percentage point drop in usage in the past 12 months. Comparing the two, React is perhaps more capable of handling the modern web development environment–it’s faster, has a larger library of npm packages and is efficient at creating larger web applications.
Who are the developers using jQuery?
Looking closely, we find that those with more than 11 years of web development experience are nine percentage points more likely to use jQuery than those with less than ten years (49% vs 40%). Similarly, these seasoned web developers are less likely to use React(52%) compared to their peers (58%). As jQuery was created nearly a decade before React, it makes sense that those with more web development experience are sticking to what they know.
“Experienced developers are more likely to use jQuery and less likely to use React than their peers”
What about server-side frameworks?Next.js and Spring have been on the rise in the past 12 months.Next.js’ and their popularity is likely linked with React–after all, Next.js is a framework built upon React. Infact, 86% of those who use Next.js also use React; for comparison, only 45% use jQuery. As for Spring–a Java-based framework–itsincrease in usage may be explained by a similar increase in Java use amongst web developers–8 percentage points in the past 12 months (27% vs 19%).
A frameworks user mindset
What does framework use mean for the technology use of web developers? If a web developer is forced to configure or write an application in a particular way, it may narrow their skillset as it forms a reliance on a particular architecture. When we look at the web developer population, it seems that those who use frameworks are actually more likely to be self-driven, have technical skills, or use web technologies when compared to those that don’t use frameworks.
Framework users are more likely to have learnt how to code through self-education (66% vs 55%) and are more likely to manually download packages from npm(45% vs 36%). Similarly, they are more likely to use each of the top-ten web development technologies listed in our survey.
“Web developers who use frameworks are much more likely to have learnt to code through self-education”
Of these technologies, continuous integration/deployment (CI/CD)services are particularly worth mentioning–framework users are more than twice as likely to use these compared to non-framework users. As we’ve previously highlighted, framework users are more efficient when it comes to code deployment. However, framework users that also use CI/CD tools are 5 percentage points more likely to deploy on demand (15%) than framework users who don’t use CI/CD tools (10%).
Finally, while the share of web developers who use low-code or no-code tools has increased by 9 percentage points in the past six months (54%)–for framework users this share is 40%. This corresponds to an increase of only 5 percentage points in the same timeframe. In other words, those who are using frameworks are more likely to rely on old-fashioned coding by hand and have the skills to do so.
Access research reports that highlight key current and emerging development trends, expertly narrated by our analysts, based on the data from our global surveys by joining the community. Click here to join.
In college, as I was finishing up my engineering degree, I roomed with a bunch of English majors. Every now and then, we’d get together with friends and have short-story writing competitions. Admittedly, not the coolest way to spend a Friday night, but it unlocked my love of writing.
Looking back on my career as a software engineer, manager, and CTO, that time I spent writing was actually one of the most impactful of my college career. Besides helping me as I started Draft.dev, writing contributed to my growth as a developer, leader, and professional.
In this article, I’m going to expand on why writing is such a complementary skill for a software developer and the many ways this skill can benefit your career. I’ll also share some pointers to help you get started as a technical writer and improve your skills.
You Write More Than You Think You Do
“Once somebody hits a minimum threshold of technical skill to hold a job in the industry, about 80% of their ability to succeed in software development is determined by their communication and people skills, not their technical abilities” — Ben McCormick, Engineering Manager at Meta
Software development is typically associated with skills like coding, analytical thinking, math, and problem solving. However, equally important is effective communication.
Joel Spolsky, Co-founder of StackOverflow, concurs with this and even goes so far as to say that he wouldn’t hire a programmer unless they can write well:
“The difference between a tolerable programmer and a great programmer is not how many programming languages they know…It’s whether they can communicate their ideas…By writing clear comments and technical specs, they let other programmers understand their code, which means other programmers can use and work with their code instead of rewriting it. Absent this, their code is worthless.”
Spolsky makes a good point, because whether you realize it or not, you’re doing a lot of writing over the course of your day as an engineer. This includes, but isn’t limited to:
Commenting on code
Collaborating with colleagues and clients on Slack and email
Writing bug reports and code reviews
Posting and answering questions on community forums
“In their first few years on the job, engineers spend roughly 30% of their workday writing, while engineers in middle management write for 50% to 70% of their day; those in senior management reportedly spend over 70% and as much as 95% of their day writing.”
In fact, communication is the primary skill employers are looking for now that remote work is here to stay. By ignoring it, you’re limiting your utility at your current job as well as your future career prospects.
How Writing Can Level Up Your Career
Initially, I mostly wrote for fun and to see if I could get some passive income going on the side. None of my early attempts took off. But they did give me deep insight into the value of technical content as well as lots of practice in creating that kind of content.
Come 2020, the pandemic struck and the company I was with at the time hit a rough patch. I was trying to figure out what I wanted to do next and I realized writing full-time was a real option. This led to the founding of Draft.dev.
Since then, it’s been a pleasure to see what a difference writing has made, not just for our clients, but also the engineers who write for us, both financially and professionally. Provided you stick with it, writing can help you level up your career too.
Writing Establishes You As a Subject-matter Authority
One of the immutables of life as a developer is that we’re constantly learning. A recent StackOverflow survey found that nearly 75% of developers learn a new technology or framework every few months or once a year.
Writing is a great way to reinforce your learnings and document your experiments with a new tool. It can help improve your critical thinking abilities and integrate prior knowledge with new concepts.
What’s more, your observations can help other engineers learn as well. With remote work as prevalent as it is, junior developers don’t get as much face time with their managers and existing use cases and tutorials can help them get up to speed with their work.
Writing can also help you improve your ability to clarify complex topics to non-technical stakeholders and create better alignment between product and business teams.
In fact, the more you write, the more you build and exert influence, directly accelerating your career trajectory.
Writing Can Help You Find the Job You’ve Always Wanted
Job-hunting in software development can be an aggravating process, especially for newcomers.
Writing can help you bypass the traditional recruitment system by putting yourself out there. A well-written tutorial is social proof of the fact that you understand a tool or framework well enough to implement it. After all, claiming you know React in your resume is one thing. Publishing a tutorial where you’ve integrated it with other libraries to build a working prototype is another altogether.
Recruiters or engineering managers who spot your work will be tempted to reach out to you directly instead of wading through a hundred other applications. I did the same thing when I was an engineering manager, and others I talked to have confirmed this.
“I once got a full-time offer to join a cloud computing startup as a copywriter on the strength of a few blog posts I’d written,” says Stephanie Morillo, a content strategist and technical program manager. “I was offered a role as a part-time technical writer for an open-source organization, and I even started doing freelance copywriting on the side for [software development] agencies”
Adam DuVander, Founder of EveryDeveloper, goes even further, “I owe my entire career to a couple of articles I wrote…A tutorial I wrote on Webmonkey led to my first developer job. They saw how I discussed the technology and knew before we even chatted that I could handle the work.”
Writing Can Be a Lucrative Side Hustle
Engineering salaries can differ widely based on everything from the language and frameworks you specialize in to where you’re located.
According to StackOverflow’s 2021 Developer Survey, Clojure developers enjoy a median salary of $95,000, compared to PHP developers who make just $38,916.
The average salary for a full stack developer in the U.S. is $101,402 plus yearly cash bonuses of $5,500, whereas it’s around $58,000 for one in Germany and approximately $9,767 for one in India.
Writing can provide supplemental income and help you bridge this pay gap by utilizing existing skills and knowledge. Draft.dev, for instance, offers you a chance to do just that. So far, we’ve paid over $600,000 to writers in over 64 countries in the two years we’ve been operating.
Writing Can Lead to Public Speaking and Book Authorship Opportunities
Around 2017, I was writing a lot about using PHP with Docker. While I wasn’t able to monetize the site directly, it did lead to a short, self-published book on the subject that was downloaded by over 1,000 developers.
It also led to a host of conference speaking opportunities and consultancy offers. I wasn’t necessarily an expert on the subject, but I was one of very few people publishing any material on it and so my work stood out.
James Hickey, Principal Engineer at SAVVY, had a similar experience, “I have had many people reach out to me about doing contract work simply by reading my blog and had many offers to write books in the last couple of years.”
Morillo adds, “I wrote a few articles about tech culture in the mid-2010s and was able to secure conference speaking engagements from them.”
Authorship and speaking also tend to bring you more exposure, which leads to similar opportunities in the future, creating a flywheel for yourself.
Improving Your Skill As a Writer
“I have never considered myself expressive or eloquent, so I used to doubt that I would make a good technical writer…However, the truth is that writing, like every other skill, can be learned and developed through practice.” — Linda Ikechukwu, Technical Writer and Developer Advocate at Smallstep
New writers frequently experience the resistance that accompanies all creative endeavors. The only way past this is to have a plan and keep at it. Here are a few tips I’ve found helpful over the years:
Start With Something Familiar
The first block new writers tend to face is what to write about. It’s easy to get caught up between something that’s easy to write and something that you believe is more interesting for readers. My advice? Go with the former.
Eze Sunday, Software Developer and Technical Writer, echoes this sentiment, “Start writing about the things you currently know and share them with the community. You’ll be surprised how many lives you’ll impact.”
Pick a problem you just solved or a tool you just tried out and write about it, even if it feels like something trivial. Just the act of putting some words to paper can tell you something about your writing style and the unique perspective you have to offer.
Aim for Quality
Quality trumps quantity every time. It’s much better to write a few outstanding articles than to write a bunch of average ones.
Be selective about your topics and go deep when you find one you really like. Some of my most popular blog posts are the ones that delved deep into a subject, like this 4,500-word guide to API development.
Alternatively, write more often, but keep it short and interesting. David Heinemeier Hansson, creator of Ruby on Rails, Founder of Basecamp, and a prolific writer over the years, used to employ this method a lot (and still does), almost as if he wants to cut short an article before it loses value for the reader. Doing this may also help you get more practice without feeling pressured to write huge articles.
Write Regularly
On the flip side, don’t get so caught up with perfection that you neglect to publish regularly.
Frequent practice keeps your skills sharp and gives you a constant flow of feedback from your readers. Personally, I like to block four to eight hours of focussed writing time on my calendar each week.
A few other writers I’ve spoken to like to use timeboxes throughout the day to churn out productive content. Choose whatever method works for you, but ensure you’ve set aside some time to write regularly.
Keep Your Goals in Mind
Finally, keep moving towards something. Whether you’re looking to monetize a blog, capture a niche, or just record your own learnings, keep that plan in mind as you work on your articles.
And be honest with yourself. As DuVander points out, “Decide whether it’s a side thing or a main thing. You can make either work, but you’ll want to set your expectations appropriately…There are a lot of ways to use writing in an engineering career.”
Track progress towards your goal with readership metrics. You can do this by creating a newsletter that readers can sign up for, running analytics on your website, and paying attention to comments and feedback.
Conclusion
Many software developers ignore communication skills at their own detriment. I hope some of the data and experiences here offer proof of this, but if you’re afraid to start or don’t think you’re very good, don’t worry. As with anything else, the more you write the better you’ll get at it.
If you’re a developer or an aspiring technical writer looking to start contributing professionally, consider writing for us at Draft.dev. We’re always looking for more writers and we’re open to people of all experience levels!
Finally, I’d love to hear some of your thoughts on writing as an engineer and what it takes to be a better writer. Leave a comment below or connect with me on Twitter.
When one works on a regular job, one has specific external frameworks that control productivity. On the other hand, freelancers do not have any frameworks, so a person either has the superpower of self-organisation or, sooner or later, finds some specialized project management software to use.
It seems as if freelancing is about freedom. Freelancers can choose their projects, regulate their time and plan their future. However, freelancing is just the opposite, accurate organisation and planning. A freelancer must manage work without outside help or guidance to make good money, stay productive, and avoid falling into an extreme workload.
The second stakeholder in streamlining a freelancer’s work is the client. Communication between the two parties must be managed for sustainable work and productive results. The best way to do this is to implement some management.
Why We Need Project Management Software
A freelancer’s work can produce both excellent results and total headaches.
When working with a freelancer, the client, for his part, should understand that he is hiring a specific specialist, such as a designer, an accountant, a copywriter, a developer, etc. More often than not, the freelancer will know precisely how to draw design, reconcile debit and credit, and write text or code. Usually, he cannot or is not required to draft the terms of reference, to be an excellent negotiator or a manager. At the same time, clients want the collaboration with a freelancer to include the following:
A high level of negotiation,
Fulfillment of obligations,
Control of work deadlines.
In companies, these functions are often performed by different people or even departments. The freelancer does everything himself. He can be the most talented performer and, simultaneously, a lousy negotiator, supervisor, and manager. In such cases, project management software comes to the rescue.
Key Criteria for Selecting Project Management Software for Freelancers
Today’s digital project management software for freelancers can solve many aspects of the interaction between the client and the contractor. There are plenty of them, and they are all suitable for one task or another. Let’s discuss the criteria for selecting tools worth paying attention to:
Cost and availability
Availability is the main criterion for choosing a tool for a freelancer. Many of them are free and have a wide range of functions. Therefore, payment is implied only if the user wants to apply additional features.
Budget tracking
Freelancers often work for many different clients with hourly rates, so being able to track hours, payment, or even the cost of a project is essential.
Communication
A unified communication system is critical because chaos occurs when some tasks are sent to messenger, others to e-mail, etc.
Time management
It’s about the importance of matching tasks to a deadline. The software developmentshould have calendar functions, scheduling, reminders, and, if necessary, a time tracker.
Collaboration tools
For many remote activities, it’s vital to be able to share information in real-time to continue the course of the project. It’s also essential to track the progress of tasks, segmenting them by status, deadline, and priority.
Reporting
Automated reporting allows the creation of a comprehensive understanding of the work process, analyzes it, and identifies problem areas.
Best Tools in 2023
Asana
This task manager is convenient when there are a lot of projects. The program is intuitive, and tasks start quickly. A user can assign each task a priority, an executor, and a time limit. Tasks are placed according to projects. For convenience, the user can give a detailed description of the task and subtasks in the “description” section. When the team works on tasks in Asana, they get all the news about updates in the feed.
Freelancers just starting to manage projects can take advantage of Asana’s basic free plan, which includes an unlimited number of tasks, projects, and storage. Up to 15 people can work together on this plan. A mobile version is also available.
Basecamp
It is one of the most popular project management software. The advantages of Basecamp are its simplicity and distribution of tasks and its intuitive interface. In addition, the software integrates into popular development services and allows you to create your add-ons.
Unfortunately, Beyscamp has a partially free version. However, a trial period will allow you to see if the software is convenient for the needs of a particular freelancer.
ClickUp
ClickUp is a versatile project management software. The cloud-based tool allows you to work smoothly in real time. It includes all necessary functions: task creation and management, internal communication, documentation and reminders, and integration of third-party applications. The tool allows you to assign people responsible for tasks, work with repetitive tasks, exchange comments between team members, and so on. In addition, the software cares about the security of free users and offers them two-factor authentication.
The application has a free version with somewhat limited functionality, which is enough for freelancers.
Insightly
The feature of this project management tool is that it allows for managing contacts, tasks, events, and resources. In addition, it integrates with the most popular collaboration services.
Insightly has a free version and a 14-day trial period for paid packages.
Monday.com
It is an excellent tool for freelancers with minimal budgets for operational processes. It also provides the ability to visualize processes in the form of charts and tables in one of its low сost packages, which for many looks pretty convenient. In addition, the service has more than 70 templates for tasks of various kinds. Prepared board templates greatly facilitate the work because they already have a thought-out logistic algorithm for managing many tasks.
Thanks to a simple, intuitive interface, it is easy to work in, and the mobile version allows you to work on a smartphone or tablet.
Notion
Notion is a great all-in-one program for individual freelancers, as it allows them to create tasks, notes, and a mood board for art.
The tool is completely free for individual use. However, a free limit of 1,000 blocks is available if you need to use it for teamwork. That’s enough to see if Notion is suitable for use.
Solo
Solo is a task manager literally made for freelancers. Because in addition to the standard features of many management software, Solo lets you view a list of deadlines, overdue invoices, invoicing projects, average hourly rate, and all major project data and then skip to the details of each aspect. You can send electronic invoices to your clients and view when they are due, overdue, or due to be sent. Turnover reports for the current year, month, or week are also available.
The program is available on iOs for $19 a month, which is not very cheap for freelancers, but it can provide a lot of helpful information for scaling.
TickTick
TickTick is an indispensable to-do list app for a freelancer who works on different platforms. The app also has a web version. Tasks are created quickly and intuitively. The subtasks have as many features as the tasks. The program’s main advantage is the distribution lists with the ability to output tasks from them to a common list of tasks. It helps to distinguish operational work issues, household chores, and long-term tasks.
The application has a free version and a “premium” version. Feature-wise, they are almost similar, and the free one is reasonably competent in its functionality.
ToDoist
It is the task manager with one of the broadest functionalities for freelancers. It is available as an app and a web service. In addition to the standard features for such applications, ToDoist has a recurring deadline feature for tasks. The user can create priorities and delegate tasks to performers. To make sure users remember the charges for the day, ToDoist will notify each of them. Graphs clearly show how productively the user spent his day/week. ToDoist highlights several types of services for integration: automation, communication, email, file management, scheduling, productivity, and time tracking.
ToDoist works on a subscription basis. There are three plans: Free, Premium, and Business.
Toggl Plan
It is a network solution for task scheduling, project planning, and team management. Tasks are created through a “drag-and-drop” interface, which is very convenient. Marking assignments as completed helps track progress and increases accountability in the team. Users can see all the tasks that need to be completed on a single project or get a simple overview of all the tasks that team members are working on. In addition, the Toggle Plan allows for project budgeting, risk management, and personal and team performance tracking. Conveniently, the service is available online and offline.
The free plan allows one to form a team of up to 5 people, create an unlimited number of projects, etc.
Wrike
Wrike allows the creation of conditions for cooperation with high interaction. The program has excellent usability, good logistics, and a friendly interface. It integrates with third-party services. Everything is intuitive. No extra clicks are required to perform the targeted action. Suitable for managing remote employees and freelancers. Wrike contains a network schedule and project reports. It allows setting reminders and logging task times.
The tool is available for free for novice teams. The free plan includes mobile and desktop versions, project management, and a Kanban board view. Paid plans include Team, Business, Enterprise, and Pinnacle.
Have you used any of these tools? What is your opinion please write in the comments.
Thanks to the advanced camera systems and even LiDARs nowadays in our smartphones Augmented reality is subtly blending into everyday consumer life; you can actually see how a new Ikea couch or Apple Homepod will look in your living room before you decide and buy one. Companies like Meta (formerly Facebook) are building an entirely new world using Virtual Reality termed Metaverse where you can create virtual office spaces to have real-time meetings with your colleagues, play a game of basketball and even attend concerts.
AR augments the real-world scene by adding layers on top of your real world, whereas VR creates completely immersive virtual environments that need VR goggles or headsets to experience it. Both of these technologies started as the next chapter of the gaming industry but quickly found their way into other applications like Fashion, Interior Designing, e-commerce, Architecture and Metaverse. You no longer have to visit a physical store to experience how a new jacket or pair of glasses will look on you or a theme park in Florida to enjoy a roller-coaster ride.
Download the Aspiring AR/VR Developer infographic here!