Evers since the Covid-19 outbreak took on global pandemic proportions, a lot has changed about how developers work, communicate, and stay sane, above all. There are certain stereotypes about developers (i.e developers are “loners”, most working remotely, they get most of their entertainment online anyway etc) that make it all too easy to assume that quarantines were easy on developers. Did they feel the impact of lockdowns and social distancing as sharply as other people? We wanted to debunk these stereotypes and ask developers what really affected their lives during these uncertain times.
To understand what’s happening, we ran a small poll in May 2020 asking the members of our community to describe their day-to-day during quarantine. How did the new social distancing rules affect their work, education, entertainment, and lifestyle choices? This mini-survey was intended to be fun and entertaining first and foremost. 138 developers from our community took part. We thank them once again for being good sports and helping us create these light-hearted insights on an otherwise very heavy subject.
The results are summed up in this Covid-19 infographic, which we hope you’ll find amusing.
You may be nodding your head as you scroll down and think “yes, me too!” or you may have a very different experience that you’d like to share. Whatever the case, we invite all developers to take part in our new Developer Economics survey, where we investigate new trends in software development and what the future holds.
Do you like this infographic? Feel free to share it on social media and don’t forget to tag us as the source!
If you’re interested in dabbing your toes in the front-end development, this post if for you. Our community is rich with developers covering all major areas of development, so we reached out to one of our loyal members to share a few front-line tips with you via this mini professional front-end developer guide!
Dominic Myers is a professional front-end developer with a wealth of experience. He spends most of his day being fascinated by, developing and implementing the newest trends in web development, primarily HTML, CSS and JavaScript, or whatever will get the job done. Here he shares his professional front-end developer guide to the front-end development triangle.
A Professional Front-end Developer Guide
I’ve spent the past couple of years writing, editing (and editing some more) a book about front-end development (which you can purchase here or here), which is finally making it’s slow and ponderous way into the light. That use of words suggests that it’s a vast and weighty tome of a book – and it certainly was when I first submitted it – but after all that editing, it’s finally down to a fighting weight, and I think it’s a better book for that. One thing I was keen to point out is the triangle of technologies we, as front-end developers, need to be conversant. In much the same way that fire isn’t possible without fuel, heat and oxygen, front-end development is impossible without a more than cursory knowledge of HTML, CSS and JavaScript (JS).
HTML
In the dim and distant past, when attending the introductory lecture for a conversion Computer Science MSc, I didn’t understand why the rest of the students sniggered when someone answered HTML when asked if we had any experience of programming. Once the chuckling had subsided sufficiently, the lecturer was keen to point out that while HTML was not a programming language, with its lack of all those things recognisable as being associated with programming languages such as variables and functions it couldn’t be; it was still a language – be it a markup language. As such, it involves a certain level of abstraction.
The writer of HTML needs to have an appreciation of the milieu in which it will reside: the browser. Browsers themselves are unusual beasts with all sorts of wild and weird characteristics. The same browser might act differently on different architectures, or in identical hardware but with varying levels of user privileges, or with plugins installed. The unfortunate HTML author might even have to deal with superseded versions of browsers (Yes, IE11, I’m looking at you! I spend a significant amount of time massaging ES6 into ES6 for IE11, most often by hand but sometimes with Babel – but even Babel has its limits).
Along with the vagaries of the browser, an appreciation of what the browser will do with HTML is necessary. It isn’t merely rendered line by line to the user interface; instead, it is converted to Document Object Model (DOM). I like to think of the DOM as something like a tree with a trunk quickly splitting into two – one being something of a stub and the other adorned with a whole plethora of branches, sub-branches and twigs. This second branch is when the HTML writer gets to play, and the palette of elements they get to play with grows larger all the time! I guess my analogy might get strained though, my knowledge of Dendrology is limited, but suffice it to say that there are many HTML elements, some of which have fallen from favour, while still others have found favour and been embraced.
Without this tree as a foundation, front-end development is nigh on impossible. I can’t tell you how many times I’ve seen CSS or JS courses suggesting that a rudimentary knowledge of HTML is a requirement. Rudimentary knowledge? HTML is our bread and butter and, while we can use CSS to get a `div` to behave like a `span`, why not use a `span` in the first place? But this brings us neatly to our next side of the triangle: CSS.
CSS
It is arguable that if my fellow student had said CSS instead of HTML, then the laughter might’ve been even louder – this was a few years ago before you say anything. CSS acts as adornment for our DOM tree; it gives its elements’ colour if you will. That’s not to say that altering the colouring is its limit – but it’s still essential. Also, please take note of when they were laughing; CSS was then not Turing Complete (footnote: Turing Completeness denotes a language where a question is asked and answered – there is no guarantee how long that answer might take though). CSS3 was demonstrably Turing Complete in 2011, though follow through on the links please, its a fascinating read.
CSS3 is profoundly compelling and allows the canny front-end developer to avoid all sorts of weird and wonderful JS trickery. Trees in autumn can be bare and stark but can still hold a beauty all their own, but trees in the flush of Spring, Summer and Autumn are nigh on always a delight to behold. CSS serves as the foliage and, while I appreciate aesthetics plain HTML I love decorated trees, all the while knowing that without the foundation of HTML – the trunk and branches if you will – all that gorgeous adornment would be on the ground, blowing in the wind.
CSS has taken over from JS in some areas, though there is still a tendency for front-end developers to reach for JS rather than utilise CSS.
I can understand this: if all you’ve got is a hammer, everything looks like a nail. If I can do something quick and dirty using JS rather than research the CSS technique, then I used to do that. I did before I clocked just how performant it was to use the native capabilities inherent in CSS, it’s lightning-fast so learn and use it, please!
That brings us nicely to the next side of our triangle: JS.
JS
I dread to imagine what the reaction would’ve been to my fellow student saying JavaScript. I dare say snorts of derision rather than any form of laughter. JS has a history of being seen as something of a joke language, which is a shame as it is rather elegant – especially now.
If HTML is the bare tree and CSS is the foliage, then JS allows us to act like tree surgeons with superpowers! With JS we can make all sorts of alterations to the DOM (the DOM is, after all, merely an API for HTML). We can add, subtract and alter the constituents of the HTML with JS, we have superpowers with JS. But take heed of my caution above regarding CSS, just because you can do something with JS, first please check you can’t do the same thing with CSS! After all, with great power comes great responsibility!
There is an excess of books and courses on JS and the frameworks and libraries that have sprung up about it. Strangely, such an overabundance can present something of a barrier to those seeking to enter front-end development. With a whole feast presented to you, it’s easy to find an old and obsolete resource and end up eating something well past its sell-by date, getting food poisoning and resolving to give it up as a bad job.
But, should you find something bright, shiny and new and that works off the bat, or drink the kool-aid by some other route, the sheer power of JS can mean that you leave good old HTML and CSS by the roadside. You might even get tempted to start implementing some CSS-in-JS and never have to touch a CSS file throughout your career, only looking at the MDN Web Docs to find out what the JS name for a CSS property is.
Thoughts
I think it is this disconnect between JS and the other two sides of the triangle that prompted Chris Coyier to write about “The title ‘Front-End Developer’ is obsolete.”. Something of a provocative title and one that he doesn’t endorse but uses as a launchpad to explore the confusion regarding the term “front-end developer”. Most, if not all, job postings for front-end developers will ask for one of three things: Angular, React or Vue. That list is likely to change though, and it’ll change at a rate of knots, in much the same way as the things themselves and their associated toolchains will also change. Sometimes the postings won’t even mention HTML or CSS or will suggest candidates should know SCSS, further alienating those whose bread and butter is HTML and CSS.
Does this mean that we’re looking at a further sub-division within development? The need for developers dedicated to working with the front-end led to a separation of developers into front- and back-ends. Are we now seeing a further split between HTML and CSS developers and JS developers, with HTML and CSS developers getting short shift? I’m not so sure TBH, those dedicated JS developers do generate HTML and CSS, but do so via JS, leading to a further question of how well they appreciate the nuances of both HTML and CSS? Perhaps more of a focus during preparation for the career on these would suffice. HTML is rock solid, and CSS standardised nowadays so the necessity of knowing how anything other than evergreen browsers interprets identical HTML and CSS.
I’m not sure about what to do to address the situation of this further fracturing, or even if it’s worth discussing – I’m just conscious of it, and I’m wary of losing something. JS gives you superpowers and enables the canny developer to spin a whole DOM out of nothing, made up of HTML and CSS. The superpowered JS has some mean powers but still, in the end, relies upon a thorough knowledge of both HTML and CSS, it isn’t a one-man-band. All three together and employed skillfully are an orchestra with a profound impact and rich timbre. We owe it to ourselves as developers to embrace the full triangle. a cursory knowledge of HTML, CSS and JavaScript (JS).
About
Dominic Myers is a front-end developer with a wealth of professional experience. He spends most of his day being fascinated by, developing and implementing the newest trends in web development, primarily HTML, CSS and JavaScript, or whatever will get the job done. He shares his knowledge online via his blog and forums such as Stack Overflow.
If you are involved in front-end and want to share your views, visit our latest survey and help shape the trends.
Did you enjoy this professional front-end developer guide? Do you have a topic that you are passionate about and would like to share with our developer audience in our blog? Get in touch!
Augmented Reality (AR) and Virtual Reality (VR) have captured the public imagination for decades; from the Holodeck in Star Trek to Ironman’s Heads Up Display, this technology is synonymous with visions of the future. Recently however, AR & VR processing has become commonplace on smartphones and companies like Oculus & Sony have released consumer-quality headsets. In this post we take a look at some of the AR/VR trends in the ecosystem, focusing on the main differences between developers and non-developers active in this space. Let’s look at those AR/VR trends.
AR & VR are the smallest individual software sectors
Considered individually, Augmented Reality and Virtual Reality remain the smallest software sectors out of the ones we research (the others being mobile, desktop, web, games, backend, industrial IoT, consumer electronics, data science & machine learning). Even when combined, AR and VR (AR/VR) are only marginally bigger than Consumer Electronics, the next smallest sector. Only 0.4% of people are involved solely in AR or VR, the rest are involved with at least one other development area.
AR/VR trends – Only 0.4% of developers are involved solely in AR and/or VR
Of the 9% of people involved with AR or VR almost half (46%) are involved with both AR and VR. This shows that there is a significant overlap in the skills needed to work in these sectors. There are more people involved solely with VR (31%) than with AR (24%). AR is slightly less mature than VR and there are some technical challenges in AR (occlusion, optics & object registration, for example) which are still being resolved, this also means that there is a smaller market for AR products, as the technology is less established. This results in a slightly higher barrier to entry and subsequently a smaller number of people involved in AR than for VR only.
AR & VR trends – practitioners are mostly hobbyists
One of the defining features of AR & VR practitioners is their diverse involvement in different development areas. As previously discussed, the number of people involved solely in AR & VR is very small, but in fact, many of them are also involved in multiple development areas. Over 60% of practitioners involved in AR and VR are involved in 5 or more sectors in total. This is a large contrast with respondents who don’t work in AR or VR, where only 9% only are involved in 5 or more sectors.
Most people who are involved in AR or VR are hobbyists, and not just in AR & VR. These people are more likely to be hobbyists in every other sector than people not involved in AR or VR. They are technology enthusiasts who like to experiment outside of their professional duties, and are currently experimenting with AR & VR, potentially with a view to incorporating AR & VR into their existing development projects.
Looking at this from the other side, 28% of VR professionals also consider themselves to be hobbyists in the same sector. Out of AR professionals, 24% take on AR projects in their spare time as a hobby. This is higher than most other sectors, with machine learning being the next highest at 26%, then games at 25%. This shows that AR & VR practitioners are enthusiastic about the sector, often having passion projects on the side.
57% of AR & VR hobbyists work professionally in at least one other development area
We also see more diversity in the type of roles that AR & VR practitioners do. Because AR & VR sit at the intersection of arts and technology, practitioners often fulfill hybrid (both technical and non-technical) roles. In fact 35% of AR practitioners fulfill a hybrid role. Subsequently, people involved in AR/VR are less likely to be ‘Pure Developers’ (people solely fulfilling developer-type roles) than those involved in other sectors. This difference is especially pronounced for respondents working in VR or in AR and VR, with only 34% and 38% respectively working solely in developer roles, compared with 50% of respondents working in AR only.
Practitioners who are involved in VR only, or VR and AR are more than twice as likely as their counterparts who are only involved in AR to be in non-developer roles. This shows that non-developers tend to favour working in VR in some capacity.
Drilling down into the roles, we see that 49% of AR practitioners work as programmers or software engineers, compared with only 37% and 32% respectively for VR practitioners and those who work in both AR and VR. Many AR practitioners are also involved in web & mobile development and machine learning. This suggests that these coders are interested in AR from a technical point of view, looking to challenge themselves by using the latest technology or to implement AR in their projects.
On the other hand, VR practitioners and those involved in both AR and VR are more than twice as likely as AR practitioners to be game designers or work as product managers. The popularity of these roles reflects the quick uptake of VR by the game market – moving from being an emerging technology to generating revenue.
Not only do AR & VR practitioners hold different roles compared to people involved in other sectors, but they also wear a lot of different hats. More than 20% of people involved in AR or VR take on 4 or more roles, compared with only 12% of people involved in other sectors. We already know that AR & VR developers are often passionate hobbyists, but it’s also clear that they have diverse interests and skills. This diversity comes from the fact that as AR and VR development technology matures, tools are appearing which require fewer technical skills to create an AR or VR product. This attracts non-developers who can more easily realise their vision.
AR & VR practitioners take on more roles than people working in other sectors
What other AR/VR trends are there?
Almost as many AR & VR developers use 3D animation software as use IDEs
While there is some overlap in the technologies used by developers and non-developers involved in VR, none of them have a strong appeal for both audiences. The Oculus technology suite comes closest to being the go-to platform for both developers and non-developers, with over 35% of each audience using the platform. Playstation VR, Windows 10 Mixed Reality & Google Daydream all attract a good proportion of non-developers (36%, 28% and 26% respectively), but fail to appeal to VR developers. This landscape creates an opportunity for a technology vendor willing to invest in widening support and access for one (or both!) audiences, as a unified tech stack would provide large efficiency benefits to integrated teams by integrating with other tools and platforms, streamlining training needs and reducing the variety of tools being used.
Unity Mobile AR, AR Core and AR Kit lead the pack of software tools for people creating AR products, but all of these tools are favoured more by developers than by non-developers. This suggests that there is space in the AR software market for a tool which allows non-developers to more easily realise their creative vision.
Over half of developers use game engines and 48% use 3D modelling and rendering software. The high uptake of these technologies amongst AR/VR developers is testament to the powerful efficiency gains available from the abstraction they offer, as well as that AR, and especially VR, lend themselves to game development.
Over 50% of AR & VR developers use game engines
We’ve already seen that practitioners that undertake developer and non-developer roles (hybrid developers) make up a sizeable proportion of those involved with AR & VR, and this is validated by the popularity of 3D animation software (39%) and designer tools (30%) amongst the technologies used by AR & VR developers. In fact, almost as many AR & VR developers here use 3D animation software as use IDEs!
Backend-as-a-service, ML APIs and app store analytics are all used by less than 15% of AR & VR developers. The usage rate of app store analytics for AR & VR developers is 3 percentage points lower than for game developers, and 10 percentage points lower than for mobile developers. This suggests that AR/VR developers are focusing on getting the basics right, rather than trying to extract maximum value from their apps’ marketing funnel.
We see some overlap in the tools used by non-developers; 49% use 3D modelling and rendering software, 43% use game engines and 42% use 3D animation software. The high usage rates of the more artistic technologies is to be expected, given that these people are, by definition, not developers.
The Adobe toolset is the most popular software tool amongst non-developers, but the next three most popular software tools are all SDKs used by 24% of AR non-developers (ARCore, ARkit and Unity Mobile AR). This begs the question, do non-developers involved in AR & VR know how to code?
What are your biggest pain points in getting into AR/VR development? You can share your experiences in our AR/VR survey.
Who are thetop companies contributing to open source? This blog post looks at how CodersRank used publicly shared data to answer this question, and how they created a series of data visualization videos.
The boom of open source software brought a change in technology that shaped the world as we know it today.
Open source exists thanks to the hard work of dedicated programmers and developers. It has become the foundation of cloud computing, software-as-service, next generation databases, mobile devices, the consumer internet, and more.
We, at CodersRank, are great admirers of open source. Almost every one of us contributes to open source regularly, and we sometimes work on a project or two together.
In this blog post, we’ll introduce you to a video that we created. This video gives you a visual representation of companies that contributed the most to open source since 2012. If you find this data interesting, then you’d probably love to know the methodology behind it. We’ll show you exactly how we gathered the data and then how we gave it a visual spin.
Video: Top Companies Contributing to Open Source
The video, “Top Companies Contributing to Open Source | 2012-2019”, is part of a series of data visualization videos that we came up with at the end of 2019. We made these out of curiosity, after realizing that you could see certain trends forming if you put together some of the publicly shared data.
This will be a quick overview of our method – please see the actual code used further down this page.
Measuring contributions
In measuring the contributions we only considered the commits. We know that there are many other ways to contribute to a project not just commits but in this particular case we wanted to focus on the commits.
Defining contributing authors
We relied on the email addresses of the authors. The second part of the email is usually the company’s domain.
Assigning commits to a company
There are around 2.4B public commits in GitHub (since 2011) and we had to analyze each and every one of them to answer this question. Thankfully, not manually!
Using the GitHub API to extract that amount of data would have been impossible. Thanks to the GitHub Archive Project, all the public GitHub events are stored in a publicly available BigQuery database. Using SQL to extract data made the process easy and painless.
Cleaning up the data
After we counted the commits for each company, the data needed to be cleaned. First, we excluded email providers like gmail, hotmail, yandex etc. Then, we excluded a few more, as there were some cases where the commits were made by bots.
Converting the results to the expected format
We used Flourish to create the videos. The data had to be converted into a format that is acceptable for Flourish (i.e.: handling months with no data from a given company).
Implementation
Step 1: get the commits/domains
The payload column is what we needed here, since it contained the email address. In our example it is a454492e42fd9810e577ebee548c7e59bd883bca@live.com.au. GitHub hashed the first part of the email, but we didn’t need that anyway, because we were only curious about the domain-level information.
The query to count the commits/domain name looked like this:
## pre-2015 API
CREATE TEMP FUNCTION
json2array(json STRING)
RETURNS ARRAY<STRING>
LANGUAGE js AS """
return JSON.parse(json).map(x=>JSON.stringify(x));
""";
WITH
export_domains AS(
SELECT
DATE_TRUNC(DATE(created_at), month) AS month,
emails,
ARRAY(
SELECT
REGEXP_EXTRACT(x, "@(.*)")
FROM
UNNEST(emails) x
WHERE
REGEXP_EXTRACT(x, "@(.*)") IS NOT NULL) AS domains
FROM (
SELECT
* EXCEPT(array_commits),
ARRAY(
SELECT
JSON_EXTRACT_SCALAR(x,
'$[1]')
FROM
UNNEST(array_commits) x) emails
FROM (
SELECT
created_at,
json2array(JSON_EXTRACT(payload,
'$.shas')) array_commits
FROM
`githubarchive.day.20130101`
WHERE
type='PushEvent' )))
SELECT
month,
flattened_domains AS email_domain,
COUNT(flattened_domains) AS domain_count
FROM (
SELECT
month,
flattened_domains
FROM
export_domains
CROSS JOIN
UNNEST(export_domains.domains) AS flattened_domains )
GROUP BY
month,
email_domain
ORDER BY
month,
domain_count DESC
After 2015, the format of the payload changed a bit and required a slightly different query:
## post-2015 API
CREATE TEMP FUNCTION
json2array(json STRING)
RETURNS ARRAY<STRING>
LANGUAGE js AS """
return JSON.parse(json).map(x=>JSON.stringify(x));
""";
WITH
export_domains AS(
SELECT
DATE_TRUNC(DATE(created_at), month) AS month,
emails,
ARRAY(
SELECT
REGEXP_EXTRACT(x, "@(.*)")
FROM
UNNEST(emails) x
WHERE
REGEXP_EXTRACT(x, "@(.*)") IS NOT NULL) AS domains
FROM (
SELECT
* EXCEPT(array_commits),
ARRAY(
SELECT
JSON_EXTRACT_SCALAR(x,
'$.author.email')
FROM
UNNEST(array_commits) x) emails
FROM (
SELECT
created_at,
json2array(JSON_EXTRACT(payload,
'$.commits')) array_commits
FROM
`githubarchive.day.20150102`
WHERE
type='PushEvent' )))
SELECT
month,
flattened_domains AS email_domain,
COUNT(flattened_domains) AS domain_count
FROM (
SELECT
month,
flattened_domains
FROM
export_domains
CROSS JOIN
UNNEST(export_domains.domains) AS flattened_domains )
GROUP BY
month,
email_domain
ORDER BY
month,
domain_count DESC
The result looked like this:
Row
month
email_domain
domain_count
1
2015-01-01
gmail.com
131357
2
2015-01-01
users.noreply.github.com
8802
3
2015-01-01
python.org
5786
4
2015-01-01
hotmail.com
4942
5
2015-01-01
fhda.edu
3888
6
2015-01-01
yahoo.com
3216
7
2015-01-01
etudes.org
2736
8
2015-01-01
qq.com
1955
9
2015-01-01
sly.mn
1908
10
2015-01-01
foothill.edu
1848
Step 2: exclude email providers
The heavy lifting was done by BigQuery. We exported the results into a .csv file and used the good old Jupyter Notebooks to clean up the data.
As you can see in the example result, not surprisingly, the first one was gmail.com. Our next task was to remove the email providers from the list.
And we also added some other blacklisted domains (excluded_domains.txt):
.(none)
91177308-0d34-0410-b5e6-96231b3b80d8
samo-laptop.(none)
dd0e9695-b195-4be7-bd10-2dea1a65a6b6
ubuntu.(none)
b8fc166d-592f-0410-95f2-cb63ce0dd405
b9a71923-0436-4b27-9f14-aed3839534dd
b2dd03c8-39d4-4d8f-98ff-823fe69b080e
0b4bb1d4-4e5a-0410-9cc4-b2b747904278
709f56b5-9817-0410-a4d7-c38de5d9e867
iki.fi
Gmail.com
none
example.com
1a063a9b-81f0-0310-95a4-ce76da25c4cd
localhost.localdomain
localhost
localhost.(none)
home
b8457f37-d9ea-0310-8a92-e5e31aec5664
li7-202.members.linode.com
g
users.noreply.github.com
us.door43.org
mailinator.com
smullindesign.com
review.openstack.org
nyarlabo.com
boston.com
li.gugod.org
niob.xnis.de
sly.mn
kazer.org
recoil.org
tsaousis.gr
rituwall.com
cbrese.com
renovateapp.com
scrapers.everypolitician.org
Step-by-step code walkthrough
Load BigQuery results
from tqdm.notebook import tqdm
import pandas as pd
import numpy as np
tqdm.pandas()
df = pd.read_csv("./email_domains_large.csv")
Merge the list of domains we want to exclude:
free_providers = list()
with open("./free_email_provider_domains.txt", "r") as f:
for line in f.readlines():
free_providers.append(line.strip())
excluded_emails = list()
with open("./excluded_domains.txt", "r") as fe:
for line in fe.readlines():
excluded_emails.append(line.strip())
free_providers = free_providers + excluded_emails
Add a new column to the dataset, whether the domain is a free email providers’ domain
df["free"] = df["email_domain"].progress_apply(lambda x: x in free_providers)
Create a list without the email providers
df_filtered = df[(~df["free"])].copy()
Add a row counter and limit the data to those domains that appear at least once among the top 30. This will make the final dataframe smaller and easier to handle.
rn = list()
for _, df_tmp in df_filtered.groupby("month"):
t = list(range(df_tmp.shape[0]))
rn += t
df_filtered["rn"] = rn
domains = np.unique(df_filtered[df_filtered["rn"] <= 30]["email_domain"])
Step #3: format data
As it was mentioned before, we used Flourish to create the video. In some cases there were empty months (the company didn’t have any commits) and Flourish expected the columns to be months not companies. So we had to make this transformation too.
More and more companies are recognizing the importance of open source software development and are committed to support it.
We hope that visualizing just a slice of the data that these amazing men and women generate round the clock is a way to acknowledge their hard work. Thanks to them and the millions of hours they invested to build open source products, we get to use our everyday apps and software seamlessly.
Thank a developer today!
About
Adrienn Tordai Growth Marketer / Pizza Enthusiast @CodersRank. I love the Blue Jays, books, and The Office. Tell Elon I said hi. Always waiting for a Steam sale. | CodersRank: Our goal is supporting DEVELOPERS’ growth by their always up to date, professional CodersRank profile
To understand DevOps CI/CD usage trends, SlashData has, over the past three and a half years, tracked the usage of continuous integration & delivery (CI/CD) tools and services among mobile, desktop and web developers. While DevOps is technically a culture rather than a set of tools, CI/CD is at the core of the collaboration process between operations and developers. These tools enable some of the most important benefits of the shift to this new culture. As can be seen in the chart below, the majority of developers are not using these tools and usage is not growing.
While many firms in various studies have indicated that they are adopting DevOps, our data suggests that this shift in culture is not ubiquitous across organisations. Has the use of CI/CD tools reached as many developers as it can or are there certain market barriers?
CI/CD Usage
% of developers using CI/CD tools
Profile of CI/CD users
Understanding the profile of developers using CI/CD compared to those that are not can provide more insight into why usage is not as high as one might expect. In general, developers who use CI/CD tools are professionals working for companies with larger development teams and are more experienced compared to developers not using CI/CD.
Data from our most recent survey shows that developers that are using CI/CD tools are much more likely to be professional developers than those that are not. Web developers using CI/Cd tools are 20 percentage points more likely to be professional developers compared to developers not using these tools. For mobile and desktop developers this differential is 22 and 18 percentage points respectively.
Our most recent survey also shows that 46% of developers using CI/CD tools work for organisations with more than 20 people involved in software development. This compares to only 32% of CI/CD non-users who work for firms with more than 20 developers. The fact that CI/CD users are less likely to work in smaller developer teams points to lower demand at small firms. This may be due to less complex development operations requiring less automation and integration of developer and IT teams.
58% of developers using CI/CD tools work for firms with 10 or more people involved in software development
How big are the development operations adopting CI/CD?
Developers who use CI/CD are also more experienced than developers who have not integrated CI/CD into their development process. Of web developers using CI/CD, 44% have six or more years of experience compared to just 28% of developers who are not using CI/CD. For desktop developers, we see the same trend, with 49% of these developers using CI/CD possessing six or more years of experience compared to 34% of developers who are not using CI/CD. Mobile developers using CI/CD are slightly less experienced, but the overall trend holds true, with 49% of developers using CI/CD having three or more years of experience, 17 percentage points more than those not using CI/CD.
As developer operations adopt DevOps culture, to improve the odds of success, developers should have an understanding of the entire development process. This may be easier for more experienced developers to manage.
While some may struggle, other developers have fully embraced the shift to DevOps and bring a variety of skills to the table and have carved out a role as a DevOps specialist.
The DevOps Specialist
DevOps specialists play an important role in driving DevOps culture and are often evangelists. These practitioners are relatively uncommon with only 5% of developers in our survey identifying as having this job. This lack of evangelists and experts may be an important factor limiting the culture shift throughout an organisation.
Finding professionals with diverse skill sets to occupy these roles may be contributing to the low number of DevOps specialists. One of the keys to successful DevOps implementation is merging of cultures so it is important that professionals driving the process have an understanding of and empathy for how both IT and developers work.
Developers who identify as a DevOps specialist are a diverse group and indicate that they play additional roles in organisations beyond just DevOps specialist. The majority of survey respondents identify as software developers but DevOps specialists are 8 percentage points more likely to also be a software developer compared to developers who do not identify as a DevOps specialist.
DevOps specialists are also much more likely to be architects, administrators (both data and system), engineers and testers. These skills play an important role in the implementation of DevOps. Architects are needed to automate processes, administrators are required to manage release schedules and testers and QA engineers are needed to test software as it moves through each step of the iterative development process.
What else do DevOps specialists do?
Digging deeper into the DevOps specialist’s skill sets we can also observe that many have more than one role beyond DevOps specialist. From the table below we can see how these developers describe themselves and how their roles overlap. Twenty-three per cent of DevOps specialists are both programmers and system administrators and 27% are programmers and architects. Having development skills and an understanding of how to manage and design systems are an important combination of skills for leading a DevOps strategy.
DevOps specialists’ additional roles
While DevOps is a very popular strategy already adopted by many organisations, based on the number of developers using CI/CD tools, not all developers are buying in. The DevOps culture has been slower in reaching less experienced developers and ones at smaller firms. The need for more experienced professionals with diverse skills may be a barrier to more developers benefiting from DevOps tools such as CI/CD.
In our 18th survey wave, we’ve asked developers whether they contribute to open-source software, and if so, why? In this post, we’ll explore who the contributors to open-source software are, their reasons for contributing, and finally what open-source support they expect from companies.
Open-source contributors tend to be younger than non-contributors.
More than a third (33%) of developers who contribute to open-source software are less than 24 years old as compared to 26% of non-contributors. This is not to say that they are inexperienced programmers; 41% of open-source contributors have 1 to 5 years of experience, 4 percentage points higher than non-contributors.
Contrary to what one might think, open-source contributors are not necessarily professionals. In fact, they are equally likely to be amateurs than non-contributors. You don’t have to be working professionally in the software industry to be involved and contribute to open-source software development.
Open-source contributors are more likely to be involved in multiple development areas than non-contributors. However, open-source contributors are significantly more likely to be involved in emerging sectors such as machine learning/AI and AR/VR, where innovations are mostly driven by open-source tools.
Finally, as you’d expect, developers’ likelihood of contributing to open-source software is also reflected in their activity on the most popular open-source hosting site, Github. The correlation is clear. Two-thirds of developers who don’t contribute (67%) have no personal public repositories on Github, whereas close to half of the contributors (48%) have two or more public repositories. We observe a somewhat similar relationship with Stack Overflow. Non-contributors are significantly more likely to not use the Q&A site at all or visit the site but not have an account. On the other hand, open-source contributors are twice as likely as developers who don’t contribute to have earned at least one badge (30% vs 15%). Working on open-source projects encourages developers to actively engage with their peers on Q&A sites. We’ve seen which developers contribute to open-source software projects. Let’s now dive into the reasons for contributing.
Why contribute to open-source software
Developers are most motivated to contribute to open-source projects to improve coding skills (29%) and a belief in the benefits of open-source (26%). What’s more, 22% of developers contribute to open-source software because it’s fun or to solve an issue with an existing open-source software project such as fixing a bug or creating a new feature.
By contrast, financial compensation is the least important motivation. Only 3% of developers are getting paid for their work on open-source projects. As it turns out, developers are more likely to get involved in open-source projects to build their reputation (14%) or to network (11%) rather than for direct financial gain. Furthermore, developers who get paid to contribute are almost 20 percentage points less likely to think it’s fun than those who contribute for other reasons. They are also significantly less likely to believe in open-source as a source of freedom, as an ideological imperative.
Typically developers don’t contribute to open-source for a single reason but are motivated by multiple factors. For example, half of the developers who contribute to open-source for improving their coding skills also think it’s fun. 56% of contributors who want to network also feel like it makes them belong somewhere.
What developers expect from companies
In our Q4 2019 Developer Economics survey, we also asked developers what open-source support they expect from companies. Thirty-three percent of developers not contributing to open-source don’t expect anything from companies, as compared to 15% among open-source contributors. That said, two-thirds of non-contributors still think that companies should be involved and provide support to the open-source software movement; they realise how important open-source is and believe that companies should be a part of it.
On the other hand, 44% of open-source contributors expect companies to support and contribute to open-source communities. This increases to 55% for developers who contribute to solve an issue. Many contributors (44%) expect full documentation on how to use open-source software on companies’ products or services. This is especially important to developers who get paid for their work (53%).
Interestingly, open-source developers do not necessarily expect companies to build products and services upon open-source software (39%). This is the least important vendor expectation from developers in terms of support for open-source software.
Open-source software contributors are a diverse group of people. Their motivations to contribute range from learning, having fun, solving issues to building relationships and reputations. In summary, developers have plenty of reasons to contribute to open-source, and they expect companies to support them along the way.
If you are involved in open-source and want to share your views, visit our latest survey and help shape the trends.
In this blog post we’ll explore where ML developers run their app or project’s code, and how it differs based on how they are involved in machine learning/AI, what they’re using it for, as well as which algorithms and frameworks they’re using.
Machine learning (ML) powers an increasing number of applications and services which we use daily. For some organisations and data scientists, it is not just about generating business insights or training predictive models anymore. Indeed, the emphasis has shifted from pure model development to real-world production scenarios that are concerned with issues such as inference performance, scaling, load balancing, training time, reproducibility, and visibility. Those require computation power, which in the past has been a huge hindrance for machine learning developers.
A shift from running code on laptop & desktop computers to cloud computing solutions
The share of ML developers who write their app or project’s code locally on laptop or desktop computers, has dropped from 61% to 56% between the mid and end of 2019. Although the five percentage points drop is significant, the majority of developers continue to run their code locally. Unsurprisingly, amateurs are more likely to do so than professional ML developers (65% vs 51%).
By contrast, in the same period, we observe a slight increase in the share of developers who deploy their code on public clouds or mainframe computers. In this survey wave, we introduced multi cloud as a new possible answer to the question: “Where does yourapp/project’s code run?” in order to identify developers who are using multiple public clouds for a single project.
As it turns out, 19% of ML developers use multi cloud solutions (see this multi-cloud cheat sheet here) to deploy their code. It is likely that, by introducing this new option, we underestimate the real increase in public cloud usage for running code; some respondents may have selected multi cloud in place of public cloud. That said, it has become increasingly easy and inexpensive to spin up a number of instances and run ML models on rented cloud infrastructures. In fact, most of the leading cloud hosting solutions provide free Jupyter notebook environments that require no setup and run entirely in the cloud. Google Colab, for example, comes reinstalled with most of the machine learning libraries and acts as a perfect place where you can plug and play to build machine learning solutions where dependency and compute is not an issue.
While amateurs are less likely to leverage cloud computing infrastructures than professional developers, they are as likely as professionals to run their code on hardware other than CPU. As we’ll see in more depth later, over a third of machine learning enthusiasts who train deep learning models on large datasets use hardware architectures such as GPU and TPU to run their resource intensive code.
Developers working with big data & deep learning frameworks are more likely to deploy their code on hybrid and multi clouds
Developers who do ML/AI research are more likely to run code locally on their computers (60%) than other ML developers (54%); mostly because they tend to work with smaller datasets. On the other hand, developers in charge of deploying models built by members of their team or developers who build machine learning frameworks are more likely to run code on cloud hosting solutions.
Teachers of ML/AI or data science topics are also more likely than average to use cloud solutions, more specifically hybrid or multi clouds. It should be noted that a high share of developers teaching ML/AI are also involved in a different way in data science and ML/AI. For example, 41% consume 3rd party APIs and 37% train & deploy ML algorithms in their apps or projects. They are not necessarily using hybrid and multi cloud architectures as part of their teaching activity.
The type of ML frameworks or libraries which ML developers use is another indicator of running code on cloud computing architectures. Developers who are currently using big data frameworks such as Hadoop, and particularly Apache Spark, are more likely to use public and hybrid clouds. Spark developers also make heavier use of private clouds to deploy their code (40% vs 31% of other ML developers) and on-premise servers (36% vs 30%).
Deep learning developers are more likely to run their code on cloud instances or on-premise servers than developers using other machine learning frameworks/libraries such as the popular Scikit-learn python library.
There is, however, a clear distinction between developers using Keras and TensorFlow – the popular and most accessible deep learning libraries for python – compared to those using Torch, DeepLearning4j or Caffe. The former are less likely to run their code on anything other than their laptop or desktop computers, while the latter are significantly more likely to make use of hybrid and multi clouds, on-premise servers and mainframes. These differences stem mostly from developers’ experience in machine learning development; for example, only 19% of TensorFlow users have over 3 years of experience as compared to 25% and 35% of Torch and DeepLearning4j developers respectively. Torch is definitely best suited to ML developers who care about efficiency, thanks to an easy and fast scripting language, LuaJIT, and an underlying C/CUDA implementation.
Hardware architectures are used more heavily by ML developers working with speech recognition, network security, robot locomotion and bioengineering. Those developers are also more likely to use advanced algorithms such as Generative Adversarial Networks and work on large datasets, hence the need for additional computer power. Similarly, developers who are currently using C++ machine learning libraries make heavier use of hardware architectures other than CPU (38% vs 31% of other developers) and mainframes, presumably because they too care about performance.
Finally, there is a clear correlation between where ML developers’ code runs and which stage(s) of the machine learning/data science workflow they are involved in. ML developers involved in data ingestion are more likely to run their code on private clouds and on-premise servers, while those involved in model deployment make heavier use of public clouds to deploy their machine learning solutions. 31% of developers involved across all stages of the machine learning workflow – end to end – run code on self hosted solutions, as compared to 26% of developers who are not. They are also more likely to run their code on public and hybrid clouds.
By contrast, developers involved in data visualisation or data exploration tend to run their code in local environments (62% and 60% respectively), even more so than ML developers involved in other stages of the data science workflow (54%).
Developer Economics 18th edition reached 17,000+ respondents from 159 countries around the world. As such, the Developer Economics series continues to be the most global independent research on mobile, desktop, industrial IoT, consumer electronics, 3rd party ecosystems, cloud, web, game, AR/VR and machine learning developers and data scientists combined ever conducted. You can read the full free report here.
We recently learned about a tech community with a mission to respond to the needs of refugees and we had to meet them. Techfugees is an impact driven global organisation nurturing a sustainable ecosystem of tech solutions, supporting the inclusion of displaced people. They do so, through several actions, mainly: Tech4Women, Tech4Refugees and the Basefugees initiatives
We met with Josephine Goube, CEO in Techfugees to get to know more about the organisation and the way they support refugees. We were fascinated by their work and determination and we have decided to support them. /Data and the Developer Economics Community will be donating $0.10 for every developer who completes the Q2 2020 Developer Economics survey. If you are a developer yourself make sure youtake the Developer Economics survey and help us raise $1,900 for Techfugees.
How did Techfugees come to life? What was the grand breaking event that inspired you to found this organization?
Founded in 2015, Techfugees was born out of the fact that 93% of displaced people who arrived on the shores of Europe owned a smartphone and 87% of displaced people live in an area of 2/3G coverage. We saw that they did no longer rely on information & help provided by NGOs solely, but a lot more from social media networks, and so we started building mobile tech that could be useful to them.
What would you say has been the biggest challenge for you and your beneficiaries?
Lack of funding and a hostile environment have been very challenging for us! There are feelings that have been building up over the years against displaced people. The fact that we want to bring technology to refugees has been faced with disbelief, and has been disregarded as being pointless. Comments such as “They don’t have phones” or “they first need water and food” tells us a lot about how the use of sensational media coverage has made it difficult for citizens to learn the real facts… One of them being that a lot of displaced people use ⅓ of their budget on phone data and that mental health shows significant improvement when one is offered the possibility to stay in touch with loved ones.
In what ways can technology and innovation help displaced people?
For people that are very constrained by space and time (borders, camps, …), digital technologies are not only breaking isolation but they also are an opportunity to break those very restrictions. People must have felt it through lockdown situations: it is amazing how much can be done digitally! Similarly, for displaced people, the internet and smartphones and the digital economy is a revolution.
Techfugees take on various projects to help refugees. Which one would you say has been the most impactful and why? What kind of projects are you currently running?
There are not one but many projects that I would like to mention. As with anything related to the internet and networked technologies, the more projects you run, the greater the impact of what you do! . I will share one of the most illustrative examples. Refugee.info, is a project coming out of our first hackathon in London 2015. Its mission is to deliver information to refugees and it had done so for more than a million displaced people since 2015. What Refugee.info did to become so successful at providing the service was to iterate on technology with the feedback of NGOs & refugees on the ground. Also, they started collaborating with another #Tech4refugees project coming out of a hack – Natakallam – an online language learning service delivered by refugees who did the translation of their app. In this way, not only did Refugee.info end up delivering information to refugees, they ended up supporting refugee translators with their work.
This one simple example shows you two things: the fact that when more technology projects supporting refugees collaborate they are more impactful, and that the best projects integrate refugees within their own teams to deepen their impact.
We see that hackathons are the heart of your organization’s activities. How many have you organized so far, are these created for misplaced people only? Any upcoming hackathon?
We have organised more than 30+ hackathons bringing displaced people and locals around the world, since 2015. One in four participants in those networking and creation spaces had a refugee background. The aim of these hacks are mainly educational and to provide networking opportunities, more than building the next big thing. Having said that, annual rounds of catch up with past #tech4refugees project participants enabled us to gather lots of data about their needs over time and identify some interesting insights and trends.. From the data gathered, we were able to measure the impact of Techfugees’ support in our hackathons participants’ lives.t Our hackathons teams had a higher 1-year survival rate, from 16% up to 33%, demonstrating that post-hack support is impactful and makes a solid difference.
How has the coronavirus situation affected the refugee community and your organization in particular?
In March 2020, Techfugees launched its Data Hub as a response to the Covid-19 outbreak. The Data Hub, brings together displaced persons, NGOs, members of civil society and innovators from all over the world, to map the impact of Covid-19 on displaced communities and source existing solutions to help mitigate them. The data is freely available on: http://bit.ly/covidrefugees. For us in Techfugees, it is important to listen to displaced people and take into consideration their situation and experiences. As a result, and as we saw more data coming in, we launched Techfugees Live Sessions! A series of online bi-monthly talks that provides regional and local updates on how communities are coping with the situation and what tech solutions are currently being used by these communities.
Short Bio: Graduate from Sciences Po Paris and the London School of Economics, Josephine has been the CEO of Techfugees and its worldwide chapters since 2015. She is also a board member of the Norwegian Refugee Council and an informal expert alongside the European Commission about migration issues. Nominated as one of the top “30 under 30 Social Entrepreneurs” by Forbes in 2016, 2017 and 2018, in 2017 she was honoured as “Digital Women” of the year in France. From 2012 to 2016, Josephine was Migreat’s partnerships manager, a London startup specialized in applying for visas for Europe.
Looking to find out more about how NGO’s are contributing to the tech environment? Read our interview with CodeYourFuture.
CodeYourFuture is a non-profit organisation supporting anyone who can’t get the vocational training they need to find meaningful work. Refugees, asylum seekers and other disadvantaged people – those below the poverty line, single parents on a low income, those with mental, learning or physical disabilities. They strengthen their students’ professional skills, teach them the fundamentals of the web, powerful modern languages such as javascript, and web application back-end development. After that, they help their students find jobs in the tech industry.
We reached out to Alec McCrindle and had an insightful chat about the mission of CodeYourFuture, and also had the opportunity to speak with some of the students there.
How do you run courses and programming lessons?
We run weekly classes that follow a curriculum that takes our students from limited programming knowledge through to becoming a junior developer. Between classes, our students complete coursework which is reviewed by professional developers. All of our classes are developed and delivered by volunteers. For anyone interested in attending our courses, here are some more details, the agenda of an average class and also the guide we have created for online teaching.
What are the criteria for someone to participate in your courses?
We accept anyone who can’t get the vocational training they need to find meaningful work. Refugees, asylum seekers and other disadvantaged people, those below the poverty line, single parents on a low income, those with mental, learning or physical disabilities. Anyone who can’t go to a bootcamp, for financial or other reasons. We also asked Ellie, Constantin and Yohannes about their background: Ellie: I have a bachelor of electrical engineering from my home country, I didn’t have any software engineering experience before CodeYourFuture. Constantin: I worked in a magazine designer role and later switched to photography. Yohannes: I graduated with a Computer Science degree in 2010 in Sudan. I loved working with a team and solving problems and coming up with solutions. After I arrived in the UK, I started working part-time and doing a web development course at CodeYourFuture. After completing my course, I will be ready to take my career to the next level.
Why did you choose to learn how to code? What’s the most fun thing about coding?
Ellie: Since I was a student, I was interested in software engineering because I was studying telecommunications engineering. I can understand electrical signals or electromagnetic waves, but I wanted to do something that I can see instant results like coding and creating something. The most fun thing about coding for me is solving the problems, I love math and coding is like math for me. With coding whatever you are interested in (like making web pages or applications or animations..) you can read about them and immediately start to practice. Constantin: Technology becomes more and more important. It is part of every industry. I wanted to start programming because of 3D. Still, at CodeYourFuture, I found that creating code feels like a creative task and it can be very satisfying, especially when you think that it can be applied everywhere. The feeling you get from developing websites, apps, marketing tools for anything you like. I find it very funny, when you think that so many people are scared of code and they prefer to study sometimes much more complex interfaces, and you feel like you’re a keeper of secret knowledge. Yohannes: I have been passionate about technology and information technology since I was 12 years old and that is why I have done a degree in computer science. I would love to pursue a career in software debugging and programming. I would say the most fun about coding is learning new concepts, and it is not boring at all.
What does your team look like?
We have a small global team and organizers in each region we serve. These are the West Midlands, the North West, Scotland and Greater London, Rome and soon, Cape Town and Tunis. We have volunteer teams that look after education, personal development, outreach and a tech team that works on systems and projects.
How can someone contribute to CodeYourFuture?
There are two ways to contribute. Firstly, through corporate partnerships to help us bring a new range of courses to more disadvantaged people than ever before. As part of any sponsorship, there are opportunities for personalized volunteer experiences for employees, for branding, PR, and a recruitment pipeline to diversify workforces. Then, we also have individual volunteers. We have an opportunity to help a lot of people learn a valuable skill, at a time when they need it the most. We’re looking for coding teachers, mentors, marketing experts and many more. You don’t need any experience – and non-tech folks are welcome too! Our website has more details about the roles and how to sign up. If people are unable to volunteer – maybe they know someone who may be interested?
What’s your vision for your students after they graduate from CodeYourFuture?
For them to lead thriving lives! That starts with a job as a developer in a company that will support their growth. Some graduates may continue their studies – we can help them find full-time learning opportunities too. We aim to support them through the community for as long as they need. Many graduates come back to CodeYourFuture as volunteers, which is an amazing cycle.
Going back to the students, to see this from their view, what kind of a career would you like to have in 5 years? What would you like to have accomplished by then?
Ellie: If I work continuously and I don’t have any distractions in my life I would say I want to be in the first 10 companies in the world or lead one of the banks of London. Constantin: I also study Augmented Reality, and some companies see the development of web technologies being towards a Virtual World. I try to prepare myself for that. Also, I am interested in Digital Twins, BIM models, visual effects and game development, and 3D printing. Of course, until I reach that I will probably be doing layouts for sites like I did for magazines. I think I have enough courage to start building apps or games for myself or for a small company. I want to add some more languages to my skill set, I think Python and C++. Yohannes: In five years, I would like to be a more professional and senior developer in one of the top banks, and play a key role in optimising and improving their software systems. During these five years, I would like to accomplish advanced courses in network and system security.
How many students have graduated from the program so far and where are they from?
During the last 3 years that we operate, over 100 students from around 30 countries have graduated from our program. This year alone, another 100 should graduate. We’re planning classes in Cape Town at the moment!
So, what have actually been the biggest obstacles for the students during their training program?
Ellie: I think the biggest obstacle during my training program is self-confidence… because sometimes I feel I lose myself. Constantin: Working. When I first moved to the UK I had to work as a freelance photographer, as that is what I am best at. But sometimes you need to work a lot or in night shifts. And of course, COVID and lockdown. On the other side, that has been a great opportunity to have enough time to study and be with my new-born daughter. Yohannes: The biggest obstacle I have faced during the training program has to do with finding the self-esteem to ask questions on the main slack channel. After having a face to face chat with my personal development mentor, I have improved my confidence skills a lot.
How many people are involved in running the school and doing the teaching?
Dozens of core volunteers and well over 100 occasional volunteers. Doing the following: Education – they create and deliver teaching content. They also mentor and guide our students through the course Outreach – Find new volunteers and students, contact employers and other NGOs – do marketing related work Personal Development – Develop our students soft-skills and personal support through the course Tech Team – supporting grads who need to practice on live projects for CodeYourFuture.
Has the Covid-19 outbreak affected your program? Are you planning to pivot any of your activities?
We operated in a hybrid fashion before the pandemic, so it wasn’t too difficult to move the classes online. One of the main challenges has been maintaining the strength of the community. We are like a big family, and we miss each other! We’ve been organizing different social activities; there are tea breaks, remote game nights, and some enthusiastic students and volunteers have a weekly exercise session!
The critical pivot has been at a volunteering level. As we’re entirely remote, we’re able to include volunteers from anywhere. We have people joining from the US, Costa Rica and Lebanon – helping with all aspects of our program. It’s been incredible to see all these new people get involved. You can join too!
What kind of skills have you managed to develop while in coding school? Except for coding skills, what would you say you gained from this program?
Ellie: Practicing continuously, time managing, self-confidence – I changed my lifestyle. I manage my time more than before, even if I feel I can’t. I try again and don’t lose my confidence, and don’t let conditions keep me down. CodeYourFuture helped me to be more serious about coding and changing my lifestyle. To remove anything else which is not important. Constantin: When I first came to CodeYourFuture, I was like an alien just landed from another planet. You first see a lot of people in the same situation from countries of which existence you do not even know, and a volunteer starts breathing exercises. And you realize ”ok we all breathe in the same way!” Now in the middle of the course, we are all friends, having fun on morning CYF energizers, evening Javascript calls and coffee-breaks. I feel like I know people from every tiny place on earth. And all that in one place. Yohannes: One of the important skills I have gained during the programme are soft skills – such as team-working, task prioritising and effective time management. The soft skills we have learned have been very effective in improving our learning ability.
And a final question for Ellie, Constantin and Yohannes, what kind of advice would you give to your younger self or to another refugee thinking of getting an education in programming?
Ellie: You need to want it badly and to change your lifestyle until you get what you want. You also need at first to have someone like CodeYourFuture to show you the best way to reach your goals. Constantin: Do not procrastinate. Time is money; start now. Click that apply button! Yohannes: I would recommend him/her to join CodeYourFuture in becoming a developer.
Special thanks to Alec from CodeYourFuture, who helped us through this interview. You can reach out to the team and get to meet them too, on twitter or Facebook.
You are finally ready to pursue your career as a developer. Well, a big fat congratulations to you! It’s high time your homework begins! Whatever you choose to become, it does require a sincere commitment of time, effort, and resources (e.g. developer certification programs). You will need to make some hard choices such as which programming language to kick off with (find out which are the top programming languages communities to look out for), or what development area to focus. Keep in mind that on average developers are involved in five sectors concurrently. However, on top of programming and coding skills you will also need to work on your project management skills. You also may need to dive into the Agile Manifesto.
Can you guess how many software developers are there in the world? According to the most recent Global Developer Population report, in the beginning of 2019 there were just under 19 million active software developers. Out of these, 13M are software professionals.
We have used our current methodology to produce estimates of the global developer population for the past four half-year periods. This reveals an increase in the developer population of 4.2M developers since mid 2017, or an annual growth that hovers around 20%. This growth rate seems to be accelerating, although it is based on just a few periods.
Day in day out, the population is growing at over 20% annually. This means you need to stand out from the competition. Now before we proceed any further, we need to understand the value of developer certifications. Why are they important? Why is there so much hype on gaining certificates and investment done in training? The added value is pretty much substantial. And merits can be bifurcated into two categories: What value certificates bring to individuals? How they affect decisions made by organizations?
Value to individuals
Professional credibility: This describes your future relationship between co-workers and supervisors. You demonstrate the fact that you have developed certain skills that need to be possessed to succeed. Also, you are willing to put all the time and effort that needs to get certified.
Personal Satisfaction: There are times when we feel like an expert. After several years of knowledge, we step into the workspace with confidence and end up asserting ourselves.
Salary: An individual with more IT certifications has the potential to make much more than those with just one certification. Additional certifications are not a bad thing after all.
Overall professional growth and career advancement require you to learn present and upcoming technologies and enhance the skills you currently possess.
Value to organizations
Job requirements: With the continuous advancement in technology, there’s a need to have subject matter experts on new topics.
Filling skill gaps: According to many software development companies, skill gaps are can be put a strain and the best way through these, is extensive training. Of course, there is no denying the fact that certified employees can lead to greater productivity. They can increased workforce morale, as well as knowledge shared across the entire department.
It’s Time to make the right choice – Answer the following questions
What do I want to accomplish?
What am I interested in?
Have I done my homework yet?
What resources should I consider using?
What’s next?
Further below you will find certain software developer certification programs that can surely aid you in boosting your career.
1. Microsoft (MTA): This certification, in particular, is crucial for high school and college students around. Right from web development to software development, mobile, gaming, and more, the program offers it all! It depends upon you whether you achieve certification on a single track or several.
2. Microsoft Azure: I am pretty sure you must have come across this certification. After all it is one of the most highly recognizable in the IT industry. This certification in particular also has the potential to carry a considerable cachet. Furthermore, with Azure, you’ll build, manage, and deploy scalable, highly available, and performant web applications.
3. Oracle (OCP, OCM, OCE): Unlike others, Oracle offers numerous Oracle Java Certifications at several levels such as Associate professionals (OCP), Master (OCM), Expert (OCE). The professional-level certification typically requires you to have an OCP Java Certification for a programmer. Otherwise, you must have a Sun certified Oracle Java Certification for programmer credential as a prerequisite. Exams taken here are all multiple choice and some include scenario-based questions as well. Also, there is the option of Oracle certified professional MySQL course, for developers who write applications for MySQL database servers. Fortunately, this slot has no prerequisites but Oracle itself does recommend you take the MySQL for developer certification. This exam is single-level and focuses on practitioner-level skills in all aspects of developing MySQL applications: architecture, syntax, design, modification and the list goes on.
4. Amazon Web Services (AWS): Amazon Web Series provides scalable cloud computing for creating web applications. Being an AWS certified developer means the associate level is for developers who design and run applications on the AWS platform. Also, here the credentials come with no prerequisites but that doesn’t mean you should take it lightly. You must take a multiple-choice exam on AWS fundamental, plus designing, developing, and deploying cloud-based solutions, security, and debugging.
5. Salesforce: With the rise in Salesforce development companies, organizations are searching for professionals with this certification. Initially developed as one of the original providers of enterprise customer relationship management (CRM). It now focuses on many facets of enterprise cloud computing and applications. The company’s entry-level certification identifies developers capable to design as well as build custom applications and analytics using the Force.com platform. Salesforce recommends that you take the Building Applications with Force.com and Visualforce training courses to prepare for the exam. To achieve certification, you must pass an exam that covers application design, the Force.com platform, data modelling, user interface, logic, data management, reporting, and analysis. Next, you can move on to the Salesforce.com Certified Advanced Developer certification. This focuses on skills required to use Apex and Visualforce to build custom applications, create test plans and perform tests, and manage the development lifecycle and environments. The organization’s Developer certification is a prerequisite.
6. Scrum: Another interesting developer certification course you must consider is in the Scrum alliance. For those new to the Agile Manifesto , Scrum.org is a member-based organization. It promotes the use of Scrum through education, advocacy, and networking/collaboration. The entry-level Scrum Alliance certified Scrum Developer (CSD) certification targets developers who understand Scrum principles and have knowledge of specialized Agile engineering skills.
7. Project Management: Last but certainly not least, the Project Management Institute. An organization that offers numerous software development related certifications including the PMI Agile Certified Practitioner (PMI – ACP). The cert recognizes developers with knowledge of agile project management principles, practices, tools, and techniques. All you require having is:
2000 hours of general project experience working on project teams, or an active PMP or pgMP certification
1500 hours working on Agile project teams or with methodologies
21 contact hours in agile practices
The exam covers agile tools, techniques, knowledge, and skills. PMI has a strong relationship with academia. You’ll find that many colleges and universities offering courses on its certifications include the PMI-ACP.
What other courses have you taken or are considering taking? Have you attended any physical courses lately?
Charles Richard, is a Business Analyst at TatvaSoft UK. Besides his profession, Charles likes to share some new and trending technical aspects. To know more about his leading software development company in London, please visit www.tatvasoft.co.uk