Categories
Community

Bug fixes, fresh knowledge, kittens and beer: What devs want from Developer Economics

Developer Economics is the largest developer research program, engaging thousands of developers of all shapes and sizes across the globe. We are the analyst of the developer economy, answering “what do devs want?”.

Twice per year, during the Developer Economics Survey, developers from all over the world, from all areas of coding, have their say in crucial matters around the developer community and share their views to shape the future of coding. The mission of Developer Economics is to “Help the world understand developers and developers understand the world”.

The Q2 2019 DE Survey, was launched on the 19th of June and was officially closed on August 13th. During this time, the developer community supported our mission not only by taking the survey but also by providing insightful & valuable feedback.

In total, we received over 5,100 messages as feedback. Our team read through all of the comments, shortlisted improvements that we want to include in our future surveys and we are currently assessing them to prioritize implementation for our next wave. We received a lot of suggestions about new questions we could include, concerns about the length of our survey, and we were informed about a few bugs or translation problems some of our users ran into. We also received a lot of enthusiastic comments thanking us for the survey and we were excited to read that a lot of the participants learned from our survey as well! A few devs asked us for more kittens while others requested for some beer!

Here are a few of these that we found rewarding:

“Nothing was left out!”
“Looks good to me. It was a detailed survey which covered almost every aspect of a programmer’s life 🙂 Best of luck for future endeavours!” – Siddhesh, India
“Thanks for doing all this work. Good luck on collating all the data and building the report. Really looking forward to the results!”
“What your doing right now is pretty good, keep doing it”
“[…]I love the effort put in by developers economics I am totally grateful that I and my fellow developers in Nigeria and the rest of the world were given this opportunity to express ourselves. Whenever the survey is opened I will love to be part of it again and help spread it.” – Okpako Moses, Nigeria

A few insightful:

“Should create more questions for beginners like me. Thank you.”
“Adding a section for Open Source Software will help a lot next time.” – Kenji Rikitake, Japan
“More jokes” – Camilo Cervantes Salazar, Colombia
“Already great, maybe a much dynamic UI”
“Have a dark theme on your survey website for all of the dark theme-loving developers ;)”

And here are some we thought are hilarious:

“Needs pictures of cats.”
“Free beer”
“What the f**k”

This is only a tiny sample of all the feedback we receive every day here during the surveys and we are happy to read every single one of them! We may not be perfect yet, but with your help, we are improving after each survey wave. So, thank you for taking the time to let us know your thoughts and “what devs want”.

What else do devs want?

We like to give back to all the developers who took the time to participate in our survey. We will run our prize draws and announce the winners early in September, so keep an eye out for that! All survey participants will have early access to our State of Developer Nation Report 17th Edition, which will be published shortly after and will contain all key findings from this survey. Didn’t take part but want to receive a copy of the free report? Sign up here to receive access when it’s live.

From all of us at Developer Economics, thank you! Your contribution means a lot to us. We hope to see you again in our next survey.

Categories
Community

Calling All Developers to Shape the Future of Software Development

The latest Developer Economics survey is now live, ready to measure the pulse of the developer ecosystem, helping the world understand developers and vice versa. We are calling all developers to shape the future of software development.

Here are a few facts about our developer surveys:

    • This is the 17th edition of the semi-annual Developer Economics surveys.
    • It is supported by the leading developer communities and technology vendors around the world: Amazon Alexa, Azure, ARM, Connected London, Intuit, Here, Digital Ocean, Nutanix, DZone, Hacker Nest, Heroku, Intel, Microsoft, Mozilla, Pivotal, VMWare, Salesforce, Samsung, SAP, Sitepoint, and more. However, it is run by the independent analyst firm /Data. (https://www.slashdata.co/)
    • We reach over 40,000+ developers in 167 countries annually.

Who is this for? Who will shape the future of software development?

Software developers of all profiles including professionals, hobbyists, and students who work across all major areas: mobile, web, desktop, cloud, IoT, AR/VR, games, machine learning & data science.

What has changed in the survey?

  • We have redesigned our questionnaire to capture all trends & insights related to the developer ecosystem.
  • Developers can now sign-up for a global, independent, ever-growing community.
  • We have a new Point System. Developers can earn points through several actions and unlock exclusive content and prizes.
  • The survey theme. It’s now easier to walk through the questions with minimum distractions. That said, we try to make the survey taking as fun as possible, so that survey participants can enjoy a few fun facts throughout their experience.
  • We want to hear the true developers’ voice so we reward them with amazing prizes, gadgets, licenses, etc.
  • For each completed response to the survey, /Data will donate USD $0.1 to the Raspberry Pi Foundation to support the developers of tomorrow access tools and learning courses.
  • There is a revamped Referral program available for all survey takers. Sharing is caring!

& What has stayed the same?

  • It features questions that cover developers’ level of coding skills, favourite programming languages, technologies used for work/hobby, go-to spaces for learning and resources, as well as preferred tools for specific areas of development: mobile, web, desktop, cloud, IoT, AR/VR, games, machine learning & data science.
  • We still care about learning and giving back, on top of helping devs
  • Available to developers around the world in English, plus 8 other languages: Chinese Simplified, Chinese Traditional, Spanish, Portuguese, Vietnamese, Russian, Japanese, Korean.

For any additional information regarding the Developer Economics Survey, feel free to contact the Developer Economics team at community@developereconomics.com.

Developer Economics survey is now open, inviting all developers to take the survey and voice their opinions about platforms, apps, languages, APIs, revenues, dev tools, and more.

Are you a developer? Have your say!

Join us today!

Categories
Business Interviews Tools

Dev Evolution: Meet Vasil from AndroidPal

How do tech startups win the hearts of developers with their products? What does it take to create value and get developers to use their tools? Our guest Vasil from AndroidPal talked to us about these challenges and shared a few tips on Android development.

Who?

I’m Vasil, owner and CEO of AndroidPal Ltd. and other businesses like Belvek Ltd. I have been into computer technologies most of my life, during the last 10 years — professionally.

My interest in technology and computers started when I was very young, probably at the age of 7. Back then people did not have computers at home. My brother and I had the chance to land in an after-school activity to learn programming. It was only once per week and we couldn’t wait for it to start. We were taught BASIC back then on computers called Pravetz.

We’ve initially worked with 8-bit but later 16-bit computers which were mostly identical with the Apple II computer. It seemed I had a knack for programming, maybe because I was good at Maths.

Additionally I’ve studied and worked with other popular at the time programming languages and technologies like VBScript (yes, it was a thing), Visual Basic, Delphi, OpenGL, PHP, ASP (prior to .NET) and of course HTML.

Fast forward 15 years and I started my own IT company. We’re based in Sofia, Bulgaria and have been providing software development and related services for more than 6 years now.

Most of our clients are from USA, Germany, Austria and Italy. We also have our own products and services in different fields – education, travel, gaming and entertainment.

How did you get into app & Android development?

We’ve been developing one way or another for Android for almost exactly 9 years now. I can still remember the first Android phone I got – HTC Desire. I think it must have been mid March 2010 when I’ve heard of the phone. I really liked it, but said to myself that I can buy it only after I’ve created a simple app for Android and learn more about Android development.

Back then developing for Android was not easy, the current Android version at the time was Android 1.5 but I remember that writing Android apps I had to support Android 1.1 too.

Developing for Android was done with Eclipse. Eclipse is an open source IDE and back then, at least developing for Android with it was not easy. There were too many issues with the IDE – it required too much memory, freezed often, needed restarts and obscure workarounds to make it stable.

So, that first app that I built used Android NDK and had C and C++ code to allow fast image manipulation. And fast it was – probably 3 to 5 times faster than manipulating the image data directly in Java. Of course a year later the Dalvik VM got JIT which would make a Java implementation comparable in terms of speed.

Ever since that first app I and later the people I work with are developing more and more for Android working on big or small projects for various industries.

And yes, I bought that HTC Desire phone on May 21st 2010 (I know the date because I bragged to a friend over email).

Tell us a bit more about AndroidPal.

AndroidPal started because of a problem. We were working on an Android app with a particularly complex graphical user interface. We’ve inherited the code of another company and struggled making certain views (the interface) work. To such extent that we had to create a tool to inspect the layout better. This is how our own View Hierarchy Inspector tool was born.

We thought it would be very useful to developers like ourselves and it would be great if we created other helpful tools.

With more than 2.7 billion active users undoubtedly Android OS is the most popular OS. There constantly are new technologies and frameworks and SDK updates and languages coming out. We know how overwhelming it can be for developers, and it is.

So we thought we start an online community centered around Android Development — this is what AndroidPal is all about. It’s a website where you can find useful information, chat with peers and learn. The site has different sections like – Questions, Libraries, Knowledge Base and Chat.

ap-studio-wide-screenshot

We’ve built all of these as only the foundation onto which we can implement all our other ideas. AP Studio is part of AndroidPal and the name is just a short version of “Android Pal Studio”.

What pain points are you solving for developers? Why should developers use your IDE?

AP Studio offers tools which Android Studio does not. One example would be the Icon Creator, probably the most popular AndroidPal Studio tool among existing users. Then there is the Shape Drawable creator and other tools. Say you want to create a Shape drawable resource file, you might need to check the docs to recall the exact specs and write XML text code. Our tool works visually. It has controls based strictly on the specs so you can’t go wrong.

Among other things this saves time. The tools are built into the IDE and there are quick actions to streamline the process. For example when you create an icon for your app AP Studio can immediately and automatically set it as your app’s launcher icon.

Then there is the snappiness of AP Studio. It does not have the heavy requirements of Android Studio and feels much quicker. In our work we sometimes need to make a small change and see the result right away, no need to spin another instance of Android Studio in such cases. We’re dedicated to increase the snappiness factor even further.

Our best ideas are yet to be implemented. One such idea is how to organize and reuse resources and experience from different projects. One way is to have a library of resources, for example a library of icons or library of layouts. Something that you can navigate easily. A public as well as developer’s very own private library. Our Shape Drawable Creator tool does have a public library with 8 free items, we’ll add more and accept submissions by developers and improve and categorize things a lot in the next iterations of the software.

Indeed everything in AP Studio is ad hoc. Android Studio is based on IntelliJ Idea which is a great software, but has been built as a generic purpose IDE. Google had to create a plugin for it. At some point we wanted to create our own plugins for Android Studio, but the IntelliJ Idea plugins documentation and the effort required to do so seemed overwhelming. Simple things would require a lot of work.

Therefore being ad-hoc and using modern technologies allows us to have a special touch in everything and to quickly respond and implement user suggested features.

To summarize, I would recommend developers use our IDE because it offers new tools and ultimately saves time and leads to less errors.

How was your experience of building the IDE? What challenges did you face in developing this?

Building an IDE is not a trivial task, it was much more effort than we’ve initially imagined.

Entering an unknown territory was very challenging. It’s a different kind of software than what we’ve done before. Also the sheer amount of technologies involved, the research of how things work and why, reading and understanding the (sometimes lacking) documentations – it’s a very big effort.
But it’s fun and rewarding to see things work. To get to a stage where we can start paying more attention to UX as functionality is already fine.

Martin, one of the main developers of the project had this to say:

“Having only been working on web sites and web apps I found using Angular for a Desktop app was something completely new to me. In my work on the project I’ve encountered things which were different from my usual Web development work. It was a tough but interesting work and certain tasks seemed overwhelming, but I did not give up and as a result became a better developer overall.”

Even though it’s well featured IDE now and offers everything you need to develop for Android we’re long way of having all our ideas implemented.

What’s next for AndroidPal? How do you see it progressing in the next two years?

On the whole we want to improve the online part and include interactive guides for beginners, different tools. To name but a few things coming:

  • Android Update tool where developers learn from a very well presented data what they need to do in order to update / upgrade from version X to version Y.
  • Git repos with Android specific web tools (e.g. preview specific android resources, display android specific info about the project).
  • Knowledge base – we have great ideas there and want to develop them.
  • Most importantly – more work on AP Studio IDE – to ultimately have low-code / no-code solutions for a wider audience (not just professional software developers).
  • Some sort of PM tool (todo lists — we have been using our own tool for it and are thinking of integrating it with AP Studio).

One other non-technical aspect of the project is AP Academy where we would apply our experience in teaching and explaining Android topics to a wider audience and in ways that would make the whole learning process better.

What’s your best piece of advice for developers today?

Software development is not an easy thing. Being a professional software developer means you have to keep up with all technologies as much as you can. Learning and improving is a lifelong process. Becoming good takes years. The best piece of advice would be to not give up when there’s a tough problem to solve. So, keep calm and don’t give up.

For most developers there would always be someone who is better in a particular aspect of programming. We should be humble and strive to learn.
As software developers we should always try to solve problems. Not to learn the syntax of a programming language as best as you can. Or learn the most number of programming patterns. What brings value is solving problems. Being creative when solving problems is equally important.

But this is just some developer with 10 years experience talking. There are far more experienced developers who have been into technology from much earlier days. There are great books out there every developer should read. The list might be long and depend on what kind of programming you do, but I would always recommend the books of Uncle Bob (Robert C. Martin) — for example one of his best known books “Clean Code”. Another book I’d recommend is “The Pragmatic Programmer” by Andrew Hunt and Dave Thomas.

What technologies do you invest in the most, and why?

One way or another we use the following technologies across AndroidPal and in AP Studio in particular:

Java
Kotlin
Gradle DSL
Python
Javascript
Typescript
Angular
NodeJS
PostgreSQL
MongoDB
SQLite
Firebase
Electron
HTML5 / CSS3 / SCSS

Most of the codebase of the IDE is Javascript / Typescript, however many of the important (albeit much smaller) parts are written in Java.

Then there are libraries and frameworks within those technologies which are too many to list.

Using HTML5 for the interface made so many things so much easier than in other platforms (comparing for example using existing Java GUI frameworks or creating our own). The freedom and ease such a mature technology offers is something we’ve really learnt to appreciate.

HTML5 and Angular made the big difference. Can’t even begin to imagine how much more effort it would require to do this with traditional technologies.

Categories
Community

The largest developer community: a critical view

When developers evaluate new technologies, one of the elements they often look at is the size and strength of the developer community surrounding that technology. “Can I get help and support from peers when needed?” It’s one of the reasons why open source technologies tend to be so popular. Conversely, technology vendors regularly signal their virtue with community numbers: “Our product is used by millions of developers, choose us!”

However, there is reason to be critical of this line of thinking. The activity of a core group, or indeed the vendor itself, may matter more to get great support than the sheer number of users. Most technologies are not subject to network effects: they don’t become inherently more valuable when more developers adopt them. Even in open source projects, there is often only a small number of core contributors. Furthermore, vendors may bloat the numbers they report: deliberately, or simply because they don’t have good data available.

At /Data, we’ve been maintaining and publishing estimates on the global developer community for a few years now. Our biannual survey also gives us a solid idea of how those developers are spread across various communities. So let’s see where some of the largest developer communities can be found and how powerful those communities may really be.

What do you mean by: community?

The largest regions in terms of developer population are North America, with an estimated 4 million active software developers in mid 2018, and Europe (3.8M in the EU28). However, calling these communities is a bit of a stretch. Developers in these regions are fragmented across countries and cities, as well as technologies and languages. North America includes the relatively homogenous USA, but also various Latin American countries. Europe includes software powerhouses like the United Kingdom, but also smaller Eastern European countries. From the perspective of finding peers to support you (or talent to recruit), looking at small groups gathered in cities around specific technologies is more useful than considering the wider geography.

The largest developer program in our research, with over 10 million active users globally, is Google. Google is great at empowering and supporting their community through forums and the likes. This said, they also have excellent developer satisfaction scores when it comes to vendor-driven support of developers with documentation, tutorials and training, tooling, and so on. Google is the default choice for many developers; it’s not clear whether that is due to the strength of their community or due to the value they provide themselves. They of course offer a multitude of technologies, where experience in one product doesn’t necessarily translate into another. Perhaps it’s more correct to view them as a collection of communities.

What about different sectors of the software industry? More than 14 million developers are involved in creating web apps. Once again, we can wonder about the fragmentation in this community across technologies. A sector view may not be the right level of analysis.

Finally, we can look at a technology. There are over 10 million active Javascript developers, making it the most popular programming language in the world today. Here we may see a stronger sense of community, with forums, real-life groups, learning institutions and more being organised specifically around the language.

In short, when we say “community”, it’s not trivially clear what we mean by that. (Neither is “developer” for that matter, but that’s a story for another blog post). Community size is not necessarily an indicator of homogeneity, coherence or level of activity. That makes it less than straightforward to assess the value of a developer community.

largest developer community

How (not) to count developers

If you’re interested in estimates of developer communities, you will have no doubt seen very high numbers being floated. Developer tools routinely reports user numbers in the millions; communities who claim a broad reach, like Stack Overflow or Github, will report tens of millions of developers. At /Data, we are skeptical of such numbers, in particular if you intend to use them to make adoption decisions.

First, because it is not clear where each source draws the line in what they consider to be an (active) developer. Are IT professionals, DevOps, or sysadmins included? What about people who once made an account, but never actively used the product?

However, the bigger issue seems to be where such numbers are sourced. Most estimates floating around the internet are based on (unique) pageviews, downloads, IP addresses, and the likes. All of these are susceptible to a multiplier effect, not in the least due to multi-machine and multi-browser software testing, frequent cleaning of caches and cookies for testing, repeat downloads of developer tools, and development automation (e.g. build servers). Abandoned accounts may significantly skew the estimates as well. Sometimes, numbers we’ve come across seem to be based on nothing at all.

Measurements like that are only a vague indication of the number of actual active developers and therefore of the strength of the community. They tend to be not comparable across vendors. Not to mention that it is in the self-interest of the vendor to report the biggest number they can find. Indicators that indicate actual developer activity, like Monthly Active Users, are exceedingly rare.

Conclusion

Whether you’re a developer thinking about the direction of your career, or someone who is deciding on which technology to adopt, the question of how strong the supporting community is, is perfectly legitimate. To asses the true benefit of community, however, make sure to use the right scope and reliable, meaningful numbers.

On our part, we will continue to provide you with our best estimates of active software developers, using sources that are direct evidence of recent coding activity. To do that, we would value your input. We are currently running another survey in our Developer Economics series. If you’re a software developer, please consider answering the questions. If you’re not a developer but are working in the software industry, pass the link on to your developer friends and colleagues.

Every survey completed has a chance to win Oculus Rift +Touch Virtual Reality System to test your creations (or simply play around), Samsung S9 PLus, $200 towards the software subscription of your choice, or other prizes from the prize pool worth $12,000!

Plus, if you refer other developers to take the survey, you may win up to $1,000 in cash. Just don’t forget to sign up before you take the survey, so that we know you want to be included in the prize draw!

We’ll also donate $2,000 to Raspberry Pi Foundation, helping young ones learn how to code, so the more developers take the survey, the closer we are to helping the community grow!

What do you say, are you in?