Categories
Community

From Interpreted Basic to Swift UI – Part 2

Developer Nation Community Stories

Part 2

Check out Deborah’s story as it started out here

Week of WWDC 2022 

Monday – Mapping down the journey

Apple’s WorldWide Developers Conference (WWDC) for 2022 kicked off with the Keynote (1 hour and 48 minutes) where I sat and enjoyed the presentation and did not take any notes. The Platforms State of the Union sessions (1 hour 10 minutes) was next, after an hour for lunch on the West Coast. This also is a session I watch and do not take notes. They also had the Apple Design Awards (18 minutes) and a Day 1 recap (3 minutes).

During the week, I looked over the list of sessions available each day and jotted down the ones that I was most interested in, listed by the days the videos would be available. I figured I would start with those and potentially watch others based on what I learned from the first set and how much energy I had left from the day.

Tuesday – The Swift Cookbook of Navigation 

On June 7, I was ambitiously planning on watching the following sessions, once they because available that day:

  • Build Your First App in Swift Playgrounds
  • Dive into App Intents
  • Get to Know Developer Mode
  • Implement App Shortcuts with App Intents
  • The SwiftUI Cookbook for Navigation
  • What’s New in SwiftUI

I opened a Word document and copied the transcript of each session and any code that was attached and pasted it into the document. I figured it might come in handy to look for terms, ideas, or code snippets someday. 

The first session, Build Your First App in Swift Playgrounds, was interesting, and I do not have a lot of hand-written notes about it, as it did not directly apply to my goal, to learn how to use SwiftUI to update my way-out-of-date-app. 

The second one, Dive into App Intents sounded promising and yet…it was about how to make it easier for a user to RUN your app, not how to describe what I intended it to do for me. I took lots of notes from Implement App Shortcuts with App Intents because I was determined to make them work for me somehow. 

Now, the SwiftUI Cookbook for Navigation was exactly what I needed. It talked about three-column navigation split view, and showed Recipe Categories, Recipe List, and Recipe Detail. This would work fine for me. I need to implement this! Yippee! I found what I came for! 

Now, I just needed to dig deeper and find out how to implement what they were cooking up! It talked about new container types: NavigationStack and NavigationSplitView. 

I did not watch the last session I had planned for Monday. I saved that for Tuesday morning, as the new sessions were not available when I get up early (I live on the East Coast of the United States and Apple and their timeline is based on their West Coast location) and I wanted to have something to do so I wasn’t tempted to log into my full-time job and check on some things. This was my “vacation” week after all. 

Wednesday- Design App Shortcuts & Privacy Nutrition Label

On June 8, I added to the one left-over session with the following choices:

  • Create Your Privacy Nutrition Label
  • Design App Shortcuts

Swift UI & Swift Charts 

I started with What’s New in Swift UI from Monday’s list. It was a list of sessions that talk about the details of new items in SwiftUI, such as The SwiftUI Cookbook for Navigation, which was the last session I watched the previous day, so I congratulated myself on that choice. 

The session also mentioned Swift Charts, and this was not of interest to me because I had no immediate plans to add charts to my app. It then talked about sharing, and since this is broken in my app currently, it peaked my interest until they talked about Mail, Messages, Air Drop, Notes, Add to Photos etc and  not  Facebook or Twitter, that are not not considered sharing now. The session ended with a peek at layout and how a mixed layout can be achieved with Grid, GridRow and GridColumn. 

Create your Privacy Nutrition Label

Next up was Create Your Privacy Nutrition Label. I went into this thinking there was an actual label that would need to be filled out to submit an app to the store. The areas are Data Used to Track You, Data Linked to You, Data Not Linked to You, and Data Not Collected. If the developer selects the last one, the label reads, “This developer does not collect any data from this app” and that applies to my app. So, that was all I really needed from this session.

Thursday – What’s new in Xcode

On June 9, I added just two more to my original list:

  • What’s New in AppStore Connect
  • Writing for Interfaces

I still have not watched either of those sessions. I started the day with What’s New in Xcode which gave me a list of other sessions to take a look at when I have time. Some new code was introduced and hints and tricks were shared to make coding faster by using code completion and using simple icons in a single size instead of needing all the sizes for all the different versions of pixel count now available. 

The new sessions I added to the watch list are:

  • Use XCode to Build a Multiplatform App
  • Meet Swift Package Plans
  • Create Swift Package Plugins
  • Building Global Apps: Localization by Example

Localization do or don’t?

I decided to watch the last one on that list first, Building Global Apps: Localization by Example. This sounded promising, and I was interested in how well the translation would work for my app. I thought it was  too much AI and not enough about how you will need to hire translators who would take the text you send them and return it in different languages, which you reference in code to use the localized version of the text. 

My small little app is not going to be translated. Not for this next version. 

Custom Layouts and Swift Playground 

Next, I watched the session Compose Custom Layouts with SwiftUI and learned about grids and geometry reader and the layout engine. It was way over my head, and not really relevant to what I was hoping I needed to do. I thought  starting in Swift Playgrounds is where I should turn my attention. I watched Create Engaging Content for Swift Playground only to find out that this was not relevant either since it was about how to write an app for learners.It was interesting though!

Friday  – Having a Design Lab appointment 

I had signed up for a Design Lab appointment so someone from the Apple Design department would take a look at my app currently available and make suggestions on how to improve it and bring it up-to-date. I took lots of notes on what he found when he used the app, and I have a few things to think about when re-designing the app that I hope to incorporate into the final product. Then, as I was looking around for sessions to watch, I noticed that my all-time favorite SwiftUI online instructor, Paul Hudson (@twostraws) had recorded a session at Apple Headquarters in their new developer lab podcast space so I just had to watch it. It was What’s New in SwiftUI for iOS16 and this is the session I took the most notes from and, as usual, after watching his session, I wanted to jump right in and start coding. 

Well, WWDC is over for the year. There are still sessions I would like to watch…you know, that magical time we all have called “someday”. It is time to get the app updated and into the app store before the time runs out and Apple pulls it from the App Store. That story was in part 1 and documents now I spent most of my Saturday after WWDC, all psyched up to get going with this new-found knowledge and enthusiasm for a redesigned version of my personality test app (Which 1 Are You). 

Sunday

After spending way too much time on Saturday downloading the Beta version of Xcode, making sure the app works, and then finding out I can’t submit to the App Store from Beta, and all the other pitfalls I tripped over, I was not too enthusiastic about redesigning the app. So, I reread some of my notes, and remembered that I had had a dream over night about how exactly I could do this.

 I started a new project in XCode, called TestingCode. To use as a proof of concept It has three structs, some state variables, and the body consists of a NavigationSplitView from the Cookbook session and Paul’s podcast. I thought I had understood it, and yet I cannot get it to work. And it’s back to my full-time job, too!

Coming up next : Debugging, NagivationSplitView and more

And that is where this blog ends, for now. Tune in for part 3, where I debug the issue, and learn more about this intriguing NavigationSplitView and how it actually should work. This is where the transcripts and code samples from the sessions I copied should come in handy to see what the pieces of the NavigationSplitView actually should be and how they work together.

Any comments? Suggestions? Email me at FromInterpretedBasicToSwiftUI@gmail.com.

Categories
Community

From Interpreted Basic to SwiftUI – Part 1

Developer Nation Community Stories

Part 1

It is with great excitement that we are now kicking off our new section of stories coming right from our Developer Nation community members.

Our first piece comes from Deborah Graham who recently attended Apple’s WWDC and decided to put her learnings from that experience into immediate action. 

This is the first part of Deborah’s story, recorded in her own vivid style.

Taking 250 pages of notes at Apple’s WWDC

Well, another WWDC (Apple’s WorldWide Developers Conference) has come and gone (week of June 6-10, 2022). I took a week off my regular, full-time job as a Finance BI Specialist (yeah, doesn’t really explain what I do, let’s say I work with Access, VBA, and SQL a lot and some source systems to get data into reports and SQL tables so others can create Tableau reports for employees to consume) to “attend” the conference and I watched 12 sessions(so far)  and a surprise video from my favorite Swift online teacher, Paul Hudson (@twostraws).

I took a lot of notes, and then created a Word document with the transcripts and code segments attached to the sessions. This Word document is over 250 pages already (and I have sessions I haven’t seen yet that will be added to the document). Why did I do that? It’s actually already come in handy…but let’s not get ahead of ourselves.

Rewriting my app to Swift

For starters: Using Xcode and Figma

Over the weekend, after the WorldWide Developers Conference concluded, I started working on getting my current, old app (written in Objective-C and hard to maintain and update) updated to reset the clock so the app would stay available in the App Store. It’s “Which 1 Are You”, if you are inclined to download it and see the “before” version as I work though re-writing it into Swift and using updated standards and design expectations. 

I downloaded the latest Beta version of Xcode to make sure the app would actually still run (if not, I had a LOT of work ahead of me to get this app updated before the deadline Apple set before they yanked it off the App Store due to not having updated it since June of 2017…yikes, it IS old!). 

I found out that I needed an App Store Icon (1024 by 1024). I wanted to find a free program to create an icon. A quick search found a video which suggested some paid programs and a free one called Figma. I figured that would work for me. I created the simplest icon I could. Luckily, it built and ran without changes. 

I figured I needed something different before I could submit to the App Store, so I marked it as working Upside down, too. I ran into a long list of issues during Archive and they were all small items.

Submitting to the App store

Then I ran into issues when submitting to the App Store. I found out that I could not submit an app from a Beta version of Xcode. So, it was back to the other version I had and tried again.

It seems, since I said I don’t collect data on users, the frameworks I used originally for ads, which no longer work, do collect (or might collect) data, so I either needed to revamp my statement or remove the frameworks. So, I removed the frameworks and tested it again. All was good. Back to submitting to the App Store. 

Then, I needed screenshots in all sorts of different sizes. Luckily, another search showed me that the Simulator Tool allows for screenshots. I spent an hour running the program in different device simulators to take screenshots and upload them to the App Store Connect page to get all the images I needed. 

It was late Sunday night when I finally got the green light that the app was in for review. I went to sleep wondering if the review would find anything else I needed to do. Woke up Monday and checked my email. My updated app was available on the App Store! Version 1.6.3 was a go! 

This means, I have some time to work on getting the app into Swift and taking the knowledge and advice I received at WWDC 2022 and re-vamping the app.

This blog will document the progress, insights, inspirations, and setbacks as I encounter them. Hope you enjoy the journey!

About the Author – Deborah Graham

Deborah Graham is a professional developer. She has over 20 years of experience with various programming languages. It all started while attending Community College to get an Associate degree in Electronics technology (hardware). One day, they delivered some Apple IIe computers to the computer room to keep the PDP-11s company. There was a pong-like game written in Interpreted Basic where the source code was available. She quickly figured out that by increasing her paddle to 99% of the goal area and the opponent’s to 1% and turning up the speed of the ball, it was a fun way to a win. One small change, one big difference. And a love of programming was born. When not in class, she could usually be found sitting at that Apple IIe and tweaking the program a little to see the changes. After graduating, she held several hardware-related jobs to match the degrees (two Associates: Electronics Technology and Computer Maintenance Technology, both hardware-based degrees), including Test Technician, Manager of the Test Department, Customer Support (where she created the Customer Support Newsletter that would collect errors in the hardware or documentation and send it out to the local sales and support reps to cut down on support calls to the home office) and then she went to the documentation department to correct all the errors and to create technical documentation with the hardware engineers. She was a Technical Writer for an automated testing machine manufacturer. The documentation software (this was WAY before Word) used LISP (now just Lisp) as the extension tool. The writing team found they needed/wanted to extend the documentation software to do things like index across all documents and spell-check all documents. Luckily, there was a class happening and she flew up to Montreal to attend the week-long class and the love of programming continued! When she got back, all sorts of extensions were created and shared with other users of the software. 

One day, during the yearly performance review and plan for next year, her manager said to get a promotion, she would need to get a bachelor’s degree. Didn’t matter in what, it was one of the requirements to move up in the company. So, she called the local state school and asked what degrees they offered. And BSCS (Bachelor of Science, Computer Science) was one of the choices. It was either that, or Nursing or Teaching. Easy choice!

Right before graduating (and being eligible for a promotion), she was laid off! But now, with a degree to go with her love of programming, she was hired by the documentation software provider as a technical writer. After that, she worked for an early browser-based distance learning provider as a technical writer. One Friday, the boss asked her if the online help she was writing in HTML could pop up when links where clicked instead of completing replacing the main help. Granted, that’s a no-brainer now…but this just wasn’t available in HTML at the time. On the way home, she went to the local bookstore, went to the Computer Science section, and checked the index on all the books to find one that would be of help. She bought the book, read it on Saturday and Sunday (yes, she reads programming books for fun!) and on Monday, she got into the office before the boss, coded up come JavaScript and when he walked in, she said, “like this?” and he was amazed. The thrill of writing some code and seeing the result is very motivating. She went on to teach a class called “JavaScript for Technical Writers” at various places. As she was creating the class and with a vacation scheduled, she emailed the author of her JavaScript book asking his permission to use the book and the sample code in her class, promising to give him credit for the code. When she received his okay, that started her habit of bringing a programming book to take on vacation with her to learn a new language. Some people may take a romance novel to read at the beach…she falls in love with a new programming language!

That leads to the list of the programming languages that she was used to professionally write code:

  • M/MUMPS/Caché ObjectScript
  • HTML
  • XML
  • ASP
  • Lisp
  • Pascal
  • Certified AES
  • Visual Basic/VBA
  • JavaScript
  • Postscript
  • PCL
  • Python
  • SQL

And some that she uses for her hobby

  • Objective-C
  • Swift

Which brings us to the hobby. One team she was on had a meeting habit of taking personality tests before the meeting and then declaring which one of something each team member was. Which flower are you? Which Major city? Which cartoon character? Each week, someone on the team would find an online test, and they would all take the test and report the results for the icebreaker at the start of the meeting. One week, she was looking for a test on which character from Scorpion (a television show about geniuses that solved problems for the US government each week and learned a little more about how to function in society with a help of their “normal” assistant and her genius son). Anyway, she could find tests on which genius, but not specifically about that show. When she mentioned this difficulty to the team manager, she was told to write one herself. Apple had just opened the AppStore to developers, so here was another opportunity to learn a new language. It took a few years of reading books, finding online classes on Objective-C, and finally getting an app into the AppStore. The CIO of her company mentioned it at a few All-Hands meetings, and he shared his test results. There are 15 tests available for a variety of TV, movies, cartoons, and general interest. If you are at all inclined, it is called “Which 1 Are You” and it has her name as the developer. 

As an Apple Developer, she is invited to attend Apple’s WWDC (World Wide Developers Conference). Before the pandemic, it was almost impossible to get tickets. Since the last few years have been online, it opened the gates and allowed anyone to participate. She has “attended” WWDC for two years in a row now and looks forward to attending them each year. She takes a week off from her full-time job as a SQL and VBA Programmer and soaks in the new information and the enthusiasm from the presenters and other attendees.

She was asked by Developer Nation to document her journey from WWDC 2022 to an updated version of the app, totally re-written in SwiftUI, into the AppStore. Follow along and see what works, what doesn’t work, and let’s see if she can get the app ready for version 2.0! You can email the author at  FromInterpretedBasicToSwiftUI@gmail.com

Categories
Community

[Live Updates] Prize Winners – 23rd Developer Nation Survey

The 23rd Developer Nation Survey is live and running full speed and we already have our first winners to announce! Those that were lucky enough to win one of our amazing prizes!

What are the Developer Nation Prize draws?

If you’re new to our prize draws: developers who take our surveys earn 100 points for every new survey completed, plus 10 points for providing their feedback about the survey. And in return they become eligible for benefits and rewards – you can see a full list here.

Now, this is a survey that covers many technologies and participants may choose to participate in different ways. Some of them are members of our Community as well – so they are entitled to additional prizes.

This is why we run several prize draws. In this blog we will be adding all prize winners from our prize draws, so keep an eye on it as it will be constantly updated.

48 hour prize draw

iPhone 13 developer prize draw winner

iPhone 13 – @FergusonTreash of Nigeria

Nintendo Switch developer prize winner

Nintendo Switch – @thienanh2009 of Vietnam

Week 1

$20 gift cards

$20 developer prize draw winners

@WismarR of USA “Thanks”

Dolapo of Nigeria

A. of Croatia

Seona of Australia “Thank you!”

Jeswin of Saudi Arabia “I’m excited to accept this kind gift from developernation. Kindly please help me if I face any issues in redeeming it.”

Eduardo of Uruguay

o**************7@g***l.c*m of Nigeria

c*************9@1*3.c*m of China

SitePoint Premium License

SitePoint premium license developer prize

a*********1@g***l.c*m of Belarus

@adamdevbone of Australia “Thanks so much!”

h**********1@g***l.com of India

State of AR/VR Survey Prize Draw – Week 1

$500 towards your AR/VR project

$500 towards your AR/VR project @JoshuaH47169834 of United States

SitePoint Premium License – Ricardo of Brazil

SitePoint Premium License – James of United States “I’m so happy”

Week 2

Xiaomi RedMi 11 5G developer prize draw winner

Xiaomi RedMi 11 5G – 李文君 of China

$1,000 towards the desktop set up of your choice - developer prize

$1,000 towards the desktop set up of your choice – @marcellusm2 of Brazil

$100 gift card – Neba of Cameroon “I’m really grateful for you choosing me as a winner???”

$50 gift cards

$50 gift cards - developer prize draw winners

Cyrus of United States “Thank you”

@theddiya of Nigeria “Thank you for it”

Emilian of Romania

n********l.g*****a@g***l.c*m of Portugal

@doddsy5544 of Australia

h*********d@g***l.c*m of Indonesia

z********i@f*****l.c*m of China

State of AR/VR Survey Prize Draw – Week 2

$30 gift cards

J of Canada

R of United Kingdom

Gajendran of India

Week 3

Nintendo Switch

Armeiro of United States “I am euphoric the first time I win something for sharing my ideas and my profession “

$20 gift cards

$20 gift cards for developers

h**.a*****@g****.c** of United States

m**********@m**.c** of South Africa

Rémy of Belgium

J of Spain

Hamilton of Australia

n********@g****.c** of Philippines

w*******@b************.w****.w*** of China

e*****.l*********@g****.c** of New Zealand

State of AR/VR Survey Prize Draw – Week 3

$20 gift cards

Ian of Canada

p********@i*****.c** of Greece

Muhammad Dinar Aulia Rahman of Indonesia

Week 4

Docker 12 Months Pro Plan

s*********@y****.c** of India

$100 gift cards

c**************@g****.c** of Mexico

Godwin of Nigeria

$50 gift cards

j****************@g****.c** of Philippines

d*********@g****.c** of Poland

s*****************@g****.c** of Colombia

$20 gift card

m***********@g****.c** of South Africa

State of AR/VR Survey Prize Draw – Week 4

Amazon Echo Dot 4th Generation

Joe of USA

Week 5

Tick Tick Premium License

j********************@g****.c** of Philippines

Amazon Echo Dot 4th Generation

Justin Revilleza of Philippines

$20 gift cards

t***************@g****.c** of South Africa

d***********@g****.c** of Philippines

4********@q*.c** of China

p************@g****.c** of Poland

j******@g****.c** of South Korea

State of AR/VR Survey Prize Draw – Week 5

$100 Gift Card

b********@g****.c** of South Africa

Week 6

Tick Tick Premium License

GSS of India

Pluralsight Skills Standard 2 Months Subscription

Pluralsight 2 months subscription prize

Nikilosa of Jakarta

Skillshare 3 Months Subscription

Skill share 3 months subscription prize

v*****.s*******@g****.c** of India

Notion Personal Pro License

Roman of Mexico

VIVO Black Height Adjustable 32 inch Standing Desk Converter

a******.1*.a******@g****.c** of Argentina

Smart Plug

s**********************@g****.c** of Colombia

$50 Gift Card

e*********@h******.c** of Mexico

e***************@g****.c** of Mexico

Jorge of Spain

2****************@g****.c** of India

$20 Gift Card

鈴木朋和 of Japan

$10 Spotfiy Voucher

t**************@g****.c** of Mexico

State of AR/VR Survey Prize Draw – Week 6

Apple Air Tag

s***************************@g****.c** of Brazil

$30 Gift Card

s*********@g****.c** of Greece

Week 7

Amazon Echo Dot 4th Generation

s***********@g****.c** of India

Apple Air Tag

j*********@h******.c** of South Africa

$100 Gift Card

Michal of Czech Republic

$20 Gift Card

1********@m******.c** of United States

i*************@g****.c** of India

Community Prize Draws

Developers with 801+ points

Devices:

Samsung Galaxy S22 – @mouseannoying of UK

iPhone 13 – Lynton of Belgium

$50 Udemy or Gumroad gift card

Paschal of Nigeria
Thomas of Singapore
Michael of United States
Panji of Singapore
Deepam of India
Víctor of Mexico
Adrian of Malta
Christopher of Philippines
R of Brazil

Swag

A of UK
Brad of USA
Charlie of Australia
A of Ukraine
Geoffrey of Canada
Ashley of UK
V of USA
Thomas of Cyprus
Richard of United Kingdom
Nicholas of Trinidad & Tobago
Dean of Australia
Laborde of USA
Brian of USA
Alexandre of Belgium
Jignesh of India
Daniel of United Kingdom
Mike of United Kingdom

$15 gift card

Jonathan of Australia
Brian of Canada
Michael of United States
James of USA
Léo of Sweden
Tsvetomir of Bulgaria
Ioannis of Greece
Mikael of France
Akhil of India
Matīss of Latvia
S of Germany
Bledi of Albania
Stefan of Germany
Rodney of Canada
Thassilo of Germany
Andrew of United States
Vitalii of Ukraine
Andrejs of Latvia

What happens now

We’ve reached out to winners directly by email. If you recognise your email address but believe you haven’t been contacted yet, you can contact us here.

We’re already on the hunt for prizes for our next global survey, so if you’re not a winner this time, there are more chances to win in our future surveys.

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.

Special Thanks

We could not have brought all these prizes to you without our sponsors Florin Pop, CertNexus and SitePoint for donating prizes to the survey! Also thanks to our goody bag sponsors Buildable, CodeGym, Coil, CertNexus, Florin Pop, Kamon, Kentico, Linode, and Manning Publications. Are you a company interested in giving away a prize to developers in our next survey? Get in touch!

Categories
Community

Cheat Sheet – Developers, unite! Have your voice heard.

This is a cheat sheet focusing on the Developer Nation 23rd survey wave, giving you all the key details to make the most out of your experience:

What
11+ years of surveying developers.
The Developer Nation survey has been measuring the preferences, needs and wants of developers for more than 11 years. It’s a dynamic survey where each participating survey taker will have a unique path, based on their own background and experience. 

When
The Developer Nation Community will be launching its 23rd survey wave on June 2 in English. On June 9, the survey will be available in all other languages: Spanish, Portuguese, Chinese Traditional + Simplified, Korean, Russian and Japanese.

Who is it for
Developer Nation is borderless! Everyone’s welcome! 
The Developer Nation survey is global and open to all. In the previous edition, more than 20,000 developers and creators of all levels – from students to hobbyists and seasoned professionals – from 160+ countries, shared their views. 

We want to hear your opinion if you see yourself as a developer, software engineer or tech creator involved in Web, Mobile, Desktop, Cloud, DevOps, Industrial IoT & Consumer Electronics, AR/VR, Apps/extensions for 3rd party ecosystems, Games, Machine Learning & AI, and Data Science.

If you nodded at any of the above areas or descriptions, this survey is for you. Keep reading for the benefits of participating or start now.

Why participate
There are several benefits for those who take the survey. Some of these are:

Prizes
By participating, developers can win amazing prizes and unlock more as they proceed, including a complimentary virtual goody bag packed with free resources. 

Premium access to information
Understanding the trends can be paramount to developers’ next career move. We share the results, data and ecosystem insights with the participants and tech organisations who use the data to improve their developer offerings. 

Giving back and helping others
For each qualified survey response, we will donate USD $0.10 to a charity of your choice. Our goal is to reach USD $1,800+ in donations. Take the survey, pick a charity to support, and help us make a difference.

What’s different this time
Every wave is a new opportunity to give developers what they want. Here’s the latest benefits we introduce in this 23rd wave:

  • Weekly prize draws, including everyone who signs up to take the survey.
  • Special Prizes to be drawn for everyone taking the survey in the first 48 hours (2 winners: Nintendo Switch & iPhone 13).
  • A new way to reward participants: the more questions you answer the more chances you get to win. A participant’s name will be included multiple times in draws depending on the number of questions answered. 
  • Prizes include: Nintendo Switch, iPhone 13, Xiaomi RedMi 11, Samsung Galaxy S22, Amazon Echo Dot 4th Gen, Premium Subscriptions and Licences, Vouchers for online courses and tutorials, Gift cards and vouchers for Amazon, Spotify, Apple Store, Google Play, cash to fund your development projects or towards the gear you need up to $1,000 USD and many more prizes drawn every week.
  • Everyone who completes the survey will receive a virtual goody bag filled with free subscriptions, discounts and vouchers. 

You read this far, which should mean you’re interested. Why not start the survey and share your views on key topics only developers can understand? If you’re short of time, you can save your progress and continue later (you’ll need to sign up to save). 

Are you creating for AR/VR?
There is an additional, exclusive, survey dedicated to Augmented, Virtual and Mixed Reality creators, with the same benefits. AR/VR creators can share their reality views using this link.

Categories
Analysis Community

Spotlight on Developers in China & the Rest of East Asia

What are some of the key differences between developers in East Asia, including the Greater China region, and the rest of the world? In the 22nd edition of our Developer Nation Survey we collected insights from developers and software engineers in East Asia to try to answer this exact question. Here is what we found!

“A fifth of the global developer population is located in either the Greater China region or the rest of East Asia”

We split the Greater China area from the rest of East Asia to provide more regional granularity. In terms of relative size, we find that almost a fifth (18%) of the global developer population is located in either the Greater China region (9%) or the rest of East Asia (9%). Breaking down East Asia into countries, we see that more than half of the developers here are spread across two countries: Indonesia (32%) and Japan (21%). When comparing developers across regions, we can see that just over a third (34%) of developers in the Greater China region have six or more years of experience, which is notably less than developers globally (43%). Furthermore, the Greater China region has a much smaller concentration (4% vs 22% globally) of highly-experienced developers (16+ years). With generally lower levels of experience in the Greater China area, aspiring developers may find starting a career here less competitive than developers in regions with higher levels of experience.

“East Asian developers outside China have similar levels of experience to the rest of the global developer population”

Both groups have a little more than a third (34%) of their developers with 11+ years of software development experience. However, East Asia’s data are largely propped up by Japan. The developer community in Japan tends to be highly experienced, with almost six in ten developers (59%) having 16+ years of experience. No other country has a higher concentration of developers with this level of experience. 

Developers in the region are mostly either self-taught or have an undergraduate degree in computing

The journey to coding mastery lacks a clearly defined path. Developers typically state they’ve used more than two learning methods on average to learn how to code. In general, the self-taught method is the most popular among developers globally, with more than 60% using this method. However, our data shows that the proportion of self-taught developers fluctuates significantly across regions.

In the Greater China area, the most popular method for developers to learn how to code is via an undergraduate degree in computing, with 50% having used this method. This is significantly higher than developers in other regions (41% -42%). We generally see a higher concentration of professional developers in Greater China (83%) than we do in the rest of the world (70%). It could be that the job market in Greater China more often requires a degree in computing or engineering, which would also explain why self-teaching is used less often in this region.

Developers in the rest of East Asia, however, tend to follow the learning trends of developers in other regions. Here, we see the self-taught method is the most popular method (61%), followed by an undergraduate degree in software engineering (41%). Analysing the data at a country level, we see developers in Indonesia are more diverse learners. Developers in this country stated that they used three methods on average when learning to code. Indonesian developers are more likely to learn via self-teaching, online courses, and developer boot camps than any other developers in East Asia. This is quite different from their peers in Japan who are the least likely to use online courses and bootcamps to learn how to code. Instead, developers in Japan are most likely to use the self-taught (63%) and on-the-job training (45%) methods when learning to code.

“Less Stack Overflow, more Segmentfault.com and Teratail.com

Next, we explore how developers interact with the popular online community, Stack Overflow, to understand their engagement levels with programming support. Stack Overflow has become a standard support community for many developers, with more than eight in ten (85%) of the general developer population reporting they’ve used or visited this popular question and answer site.

Our focus on developers in East Asia and the Greater China area shows Stack Overflow’s popularity falls below the global average. Developers in these regions are around three times less likely to visit Stack Overflow than developers in other regions. Developers in the Greater China area are the least engaged, with only 19% having an account, and only 11% having earned at least one badge. Developers in this region have other home-grown Q&A site alternatives, such as segmentfault.com, which could be contributing to the lower adoption of Stack Overflow.
Developers in Japan are skewing the perception of this region. Developers in Japan have even less activity on Stack Overflow than developers in the Greater China area. Here, only a little more than a third (36%) stated they use Stack Overflow. Furthermore, only about 5% have an account. Like developers in the Greater China area, our data does show usage of Stack Overflow increases among Japanese developers who have gained experience in software development, indicating that less experienced developers are using other platforms for support. Like China, Japan has other home-grown options like teratail.com where developers can field programming support from their peers, which may be the place new Japanese programmers visit more often to get answers to their questions.

Categories
Community

Developer Nation Community, turning the page to a new chapter [New job opportunities included]

The Developer Nation Community is definitely not new. It goes back to a long time ago, when communities were not as much in the spotlight as they are today. Our mission has always been to keep its ears open to the voices of software creators and share back data and insights from our global surveys.

Over the years, we have worked on several initiatives to grow and engage our community and – no complaints – we have managed to win the hearts of thousands of software creators around the world.

This is why we are now very excited to be taking the Developer Nation Community to its next level.  And let us give you a quick tour of what we are working on currently. 

A value proposition that is closer to what software creators expect from us. 

We have always championed the importance of being data-driven when making decisions. And this is even more crucial when decisions are tied to one’s professional career and growth. To that effect, we have shaped our mission accordingly. Thus, we will focus on helping developers be their best and we will do that by helping them answer burning questions such as :

What software developer careers are out there? 

Which ones have the most demand? 

What skills or formal training should I acquire? 

How can I become more productive and efficient?

We are aiming to create a space where software creators can set the right foundations for their career,  learn how they stack up against emerging software development trends,  get tips and discover opportunities for professional growth as well as plan wisely their next moves.

Investing on people

To be able to support our community members and keep true to our mission we have decided to invest in a new Community Team and this is why we are currently recruiting for two roles. We are hoping that by bringing in more people we will be able to build on the value we can bring to our community while focusing on having an even more personalised relationship with them.  We would love it if these roles were to be filled by existing community members, so if you take a look at the job descriptions and you feel you are up for a new challenge, we would like to meet with you.

On the people front, we are also very excited to announce that Vanessa, our current Developer Advocate, will take up a new challenge as our Developer Success Executive. She will continue to listen to developer feedback, and work with the Developer Committee, and her mission will be to focus on prizes and benefits for software creators in our community.

Community Lead

As our first Community Lead you will have a significant impact on designing and executing the Developer Nation Community strategy – one of SlashData’s strategic priorities. You will grow, engage and motivate a global community of software engineers focusing on providing them with resources that will help them grow in their career journey and plan their next move.

We are looking for an avid communicator who loves engaging with developers, has excellent organisational skills, and has a solid tech background. They should have at least 1-2 years of experience in community building, growing, and/or engaging roles and will be very fluent in English – both written and spoken.

Apply here

Developer Advocate

As the Developer Advocate you will be a key part of the future of this global community of developers coming together to learn from each-other, share experiences, creating content with the aim to help developers grow in their careers, foster relationships between senior developer mentors and mentees, and connect developers globally with major technology platforms.

You will engage and motivate a global community of software engineers making sure to constantly provide them with content in various formats as well as engage in conversations to help them grow in their career journey and plan their next move.

Apply here 

  • A community-led approach

The next chapter of the Developer Nation community will come with a wide range of initiatives. Would you like to be among the first to get involved?

  • Content contribution

We are open to all types of formats (podcasts, blogs, videos, webinars, Twitter space discussions etc) as long as the topics resonate with our mission and comply with our values.

  • Events and meetups

We will soon go into the space of organising events for the Developer Nation community. If you have any ideas or would want to be part of them, please reach out and we can brainstorm together!

  • Mentorship

Are you in need of a mentor or perhaps you are a particularly skilled mentor? Or do you just want to help? In any case, this is a great opportunity to be part of a grassroots initiative where the community is actively engaged in peer support. 

For all of the above and also for anything else you wish to share with us please drop us a line at community[at] developernation.net

Categories
Community

Developer Prize Winners

It’s time to announce the developer prize winners of our 22nd Developer Nation survey!

If you’re new to our prize draws: developers who take our surveys earn 100 points for every new survey completed, plus 10 points for providing their feedback about the survey. Benefits and rewards can be found here.

?General Prize Winners

$1,000 towards the desktop of your choice

$1,000 towards the desktop of your choice

Achmad Ka’bi. Indonesia

Suprise Draw! iPhone 13

Surprise Draw! iPhone 13

Mikhail P., Kazakhstan

$250 towards the desktop of your choice

$250 towards the desktop of your choice

Kevin, Nigeria

$500 towards your AWS certification

$50 towards your AWS certification

Vikas S., India

Nintendo Switch

Nintendo Switch

h*******.4**@g****.c**, India

$120 towards the tools license of your choice

$120 towards the tools license of your choice

Aaron K. South Africa

s***********@g****.c**, India

$100 gift card

$100 gift card

4*******@q*.c**, China

VIVO Black Height Adjustable 32 inch Standing Desk Converter

VIVO black height adjustable 32 inch standing desk converter

Илья, Russia

Blockchain Academy Course

d**********************@g****.c**, Venezuela

SitePoint Premium Licenses

SitePoint Premium license

Abdulazeez, Nigeria

s***********@h******.c**, Turkey

Joel. Jamaica

Marvellous, Nigeria

YuHang Zhang, China

$30 Gumroad ebooks

$30 Gumroad ebooks

Luis, Mexico

Jessa, Philippines

p.l*********@g****.c**, India

r*******@y****.c**, Russia

?Weekly Prize Winners

$500 Linode Vouchers

Gokul, India
g********@n****.c**, South Korea

$50 Winners

$50 gift cards

Akash, India
Akhilesh, India
Andresjs, Latvia
Carl , USA

d**********@g****.c**, India
Dhvani, India
Dmitriy, Russia
E., Bosnia & Herzegovina

Ken, Cameroo
Konstantin, Russia
m*****.b*******@g****.c**, Lebanon
Michael, Indonesia
o*******@g****.c**, Burkino Faso

Puspam, India
Raj, India
Ryne, USA
S., India

Sai, India
Surendra, India
t**************@g****.c**, South Africa
teawr9@mi.o, USA
V., India

V., USA
w.k@g.c, India
w@z.c**, Indonesia
H., Turkey

?State of AR/VR Survey Prize Draw

$500 towards your AR/VR project

$500 towards your AR/VR development project

j***.b*@g****.c**, Slovakia

$120 towards the tools license of your choice

$120 towards the developer tools license of your choice

m*****@m**.c**, USA

$100 gift card

$100 gift card

Patricia, UK
Eisenbruch, USA

$30 Gumroad ebook

$30 Gumroad ebook

JD, USA
a*************@g****.c**, India
h**********@g****.c**, USA
j**********@h******.c**, UK

$20 gift card

$20 gift card

p****.n****.2***@f*.u**.a*.i*, Indonesia
s*********@g****.c**, USA
F., Slovenia

?Exclusive Community Draws

Premium Prizes (for members with 801+ points)

iPhone 13

iPhone 13

Victor, Mexico

Samsung Galaxy Tab S7

Samsung Galaxy Tab S7

Massimo F., Italy

$50 Udemy / Gumroad ebook

$50 Udemy / Gumroad ebook

A, India
Adrian, Germany
Alex, Israel
Ashley, UK
Brian, USA
Damian, Hungary
Ivan D, Brazil
Jon, USA
Kirill, Russia
Mario, South Africa
Roberto, Spain
S., UK
Yohanes, South Africa

Swag

Surprise swag

Abdul H., Indonesia
Adam R., Sweden
Andy D.,Australia
Ankit, India

Antti K., Finland
C., Taiwan
C., USA
Cristian, Colombia

David F., Japan
Dominic, UK
E., Cyprus
Elijah, Uganda

G, Italy
Gideon, UK
James, Uganda
Karl F., Germany

Liliana I., Mexico
Lucas H., Argentina
Marc S., Germany
Mika L., Finland

Miroslav C., Slovakia
Niraj K., India
Patrica M., USA
Petermaria, Switzerland

R., Malaysia
R., UK
Shadi, Egypt
Shinzo S., Japan

Shubham, India
Steve H., UK
T., UK
Thassilo H., Germany

V., USA
Vince M., USA
z@g*.c, Russia

✨Extra Prize Draw winners

Skillshare subscription (3 months)

P., Russia

Amazon Echo 4th Generation

p****************@g****.c**
Bruna S., Brazil
Anubhav, India

Apple Air Tag

h***************@g****.c**, Vietnam
n**************@g****.c** India

Smart Plug

M., USA
d*********@1**.c**, China
Dustin, USA
l******@o******.c**, China

Tick Tick Premium License

m***************@g****.c**, Indonesia
d*********@1**.c**, China
Dustin, USA
l******@o******.c**, China

Ergonomic mouse pad and wrist rest

Basudev D., India

“Ten++ Ways to Make Money as a Developer” eBook

n*****@n********.n**.i*, Israel
Olusegun, Nigeria

$20 gift card

Jayanth, India
l************@s***.c**, China
Gabriel, Brazil
d*******@g****.c**, Nigeria
A., India
Reski, Indonesia
n*******@g****.c**, India
T., Turkey
M., Italy

$10 gift card

Andrew, USA
a*************@g****.c**, India
John, USA
l***********@g****.c**, Russia

We’ve reached out to winners directly by email. If you recognise your email address but believe you haven’t been contacted yet, you can contact us here.

Special thanks to our prize sponsors CertNexus, Florin Pop, Linode, and SitePoint for donating prizes to the survey! Also thanks to our goody bag sponsors Convox, Kentico, Manning Publications, The Blockchain Academy, and TinyMCE. Are you a company interested in giving away a prize to developers in our next survey? Get in touch!

We’re already on the hunt for prizes for our next global survey, so if you’re not a winner this time, there are more chances to win in our future surveys.

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.

Categories
Community

First Prize Winners of the 22nd Developer Nation Survey

We’ve been busy running our prize draws since the launch of our 22nd survey in December.

Some of the prizes have already reached their destinations:

“It was my first time winning a prize on the Developer Nation, and I received it before Christmas so it feels like a Christmas gift from someone special” – Akash, India.

“I just want to thank you, hopefully it can be used to support our lesson plans to develop applications for small entrepreneurs.”Michael, Indonesia

Here is the full list of the Developer Nation prize winners from weeks 1 to 4, including runner-ups. ?

Prize draw winner

Thanks to our friends at Linode for their generous gift of the $500 credit. We’ll continue to run weekly prize draws between now and the end of January 2022. Once our survey closes, within 30 days we’ll run the draws for premium prizes, cool accessories, exclusive community prizes, and more.

We’ve reached out to all winners directly via email. If you recognise your email address but believe you haven’t been contacted yet, get in touch here.

If you’ve not taken the survey yet, why not hop in for a chance to win a prize (all participants will get a virtual goody bag).

Take the survey!

Here’s one of our community members, Amulya, with his Developer Nation t-shirt and mug. Swag like this could be yours!

Categories
Community Languages

Size of Programming Language Communities in Q3 2021

Following our latest Developer Nation Survey, results are in and our State of the Developer Nation report 21st edition is now available! More than 19,000 developers from around the world participated and shed light on how they learn, the tools they use, how they are involved in emerging technologies, but also what would make them switch employers, among other topics.

As always, programming languages are a beloved subject of debate and one of the first topics we cover. The choice of language matters deeply to developers because they want to keep their skills up to date and marketable. It matters to toolmakers too, because they want to make sure they provide the most useful SDKs.

It can be hard to assess how widely used a programming language is. The indices available from players like Tiobe, Redmonk, Stack Overflow’s yearly survey, or GitHub’s Octoverse are great, but offer mostly relative comparisons between languages, providing no sense of the absolute size of each community. They may also be biased geographically or skewed towards certain fields of software development or open source developers.

The estimates we present here look at active software developers using each programming language; across the globe and across all kinds of programmers. They are based on two pieces of data:

  • First, our independent estimate of the global number of software developers, which we published for the first time in 2017. 

We estimate that, as of Q3 2021, there are 26.8 million active software developers in the world

  • Second, our large-scale, low-bias surveys which reach tens of thousands of developers every six months. In the surveys, we have consistently asked developers about their use of programming languages across ten areas of development, giving us rich and reliable information about who uses each language and in which context.

JavaScript’s popularity has skyrocketed

JavaScript is the most popular programming language community by a wide margin. Nearly 16.5M developers are using it globally. Notably, the JavaScript community has been growing in size consistently for the past several years. 4M developers joined the community in the last year – by far the highest growth in absolute terms across all languages – and upwards of 2.5M developers joined in the past six months alone. Even in software sectors where JavaScript is not among developers’ top choices, like data science or embedded development, about a fourth of developers use it in their projects.

Back in 2020 we suggested that learning Python would probably be a good idea. It still is. Since it surpassed Java in popularity at the beginning of 2020, Python has remained the second most widely adopted language behind JavaScript. Python now counts 11.3M users after adding 2.3M net new developers in the past 12 months. The rise of data science and machine learning (ML) is a clear factor in Python’s popularity. 

More than 70% of ML developers and data scientists report using Python

Java is the cornerstone of the Android app ecosystem as well as one of the most important general-purpose languages. Although it has been around for more than two decades now, its traction among developers keeps steadily growing. Since mid-2018, nearly 2.5M developers have joined the Java community, which now counts 9.6M developers.

Rust is rising fast

The group of major, well-established languages is completed with C/C++ (7.5M), PHP (7.3M), and C# (7.1M). Of these, PHP has grown the fastest in the past six months, with an influx of 1M net new developers between Q1 and Q3 2021. C and C++ are core languages in embedded and IoT projects for both on-device and application-level coding, whereas PHP is still the second most commonly used language in web applications after JavaScript. On the other hand, C# is traditionally popular within the desktop developer community, but it’s also the most broadly used language among AR/VR and game developers, largely due to the widespread adoption of the Unity game engine in these areas.

Rust has formed a very strong community of developers who care about performance, memory safety, and security. As a result, it grew faster than any other language in the last 24 months. Rust has nearly tripled in size from just 0.4M developers in Q3 2019 to 1.1M in Q3 2021. 

Rust is mostly used in embedded software projects but also in AR/VR development, most commonly for implementing the low-level core logic of AR/VR applications.

In previous editions of the State of the Developer Nation report, Kotlin has consistently been identified as a rising star among programming languages. Kotlin’s audience has doubled in size over the last three years – from 1.5M developers in Q2 2018 to nearly 3M in Q3 2021. This trend is largely attributed to Google’s decision to make Kotlin its preferred language for Android development. Kotlin is currently the third most popular language in mobile development, behind JavaScript and Java.

The more niche languages – Go, Ruby, Dart, and Lua – are still much smaller, with up to 2M active software developers each. Go and Ruby are important languages in backend development, but Go has grown slightly faster in the past year, both in absolute and percentage terms. Dart has also seen a significant uptick in its adoption in the last year. This has been fuelled predominantly by the increasing adoption of the Flutter framework in mobile development. Finally, Lua was the second fastest growing language community in the past two years, behind Rust, mainly attracting AR/VR and IoT developers looking for a scripting alternative to low-level languages such as C and C++.

You can read more about programming languages communities in the State of the Developer Nation report 21st edition.

Categories
Community

Supporting developers with our global developer surveys

In Developer Nation we have been supporting developers and organisations who help developers since 2019. The way we do this is through our donation program during our Global Developer Surveys. Every 6 months we donate $1,800-$2,000 to each organisation. So far, we’ve supported the Raspberry Pi Foundation, Black Girls Code, Techfugees, and Women in Big Data (South Africa).

For our 21st Developer Nation survey, we wanted to get developers more involved in the process. What changed this time? 

Developers who participated in our latest survey wave got to choose the organisation they wished to support. Each developer taking the survey raised the donation amount by $0.10. There were 5 different organisations to choose from.

These were:

  • CoderDojo helps enhance and build technological skills in an informal, creative and social environment.
  • Electronic Frontier Foundation is battling for free speech, digital privacy and innovation. EFF is defending civil liberties in the digital world.
  • Free Code Camp is helping people to learn how to code for free. They offer a variety of videos, tutorials, articles and interactive lessons in order to enhance coding skills.
  • Mozilla Foundation works to ensure the internet remains a public resource that is open and accessible to everyone. Their goal is a more human-centered internet.
  • The Nature Conservancy, our most diverse donation program given our audience, protects through its projects millions of acres of land, rivers and marine ecosystems.

Based on the donation choices of the developers participating in our 21st Developer Nation Survey, we can proudly announce our donation to each program, as shown below. We are excited to know that we have such a diverse community that apart from empowering others to enter the developer ecosystem, are also mindful of our natural ecosystem:

  1. Free Code Camp – $748
  2. Mozilla Foundation – $516
  3. The Nature Conservancy – $436
  4. Electronic Frontier Foundation – $196
  5. Coder Dojo – $116

Thanks to those who participated in our Developer Nation survey & helped make this happen!

Special thanks to prize winners and our affiliates – Michael Rabenandrasana and Sanchit Khurana- who have donated their prizes value and payments to the above charities.

We also received some great input and suggestions on other organisations we should support in the future, and invite you to share your ideas too, so we can keep supporting developers and make a difference. We will make sure to add them on our donation list in our upcoming surveys.