Categories
Community

CodeYourFuture: Combining programming and social impact

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.

Categories
News and Resources Tips

Developer Certification Programs to help boost your career

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. Each estimate was produced independently of the others. This reveals an increase in the developer population of 4.2M developers since mid 2017, or an annual growth that hovers around 20%.
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

  1. 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. 
  2. 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.
  3. 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 

  1. Job requirements: With the continuous advancement in technology, there’s a need to have subject matter experts on new topics. 
  2. 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.  
  3. Retention – Job satisfaction results in greater staff retention. Employees who feel fulfilled and satisfied from inside are less likely to pursue other employment.

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

Categories
Community Languages News and Resources Platforms Tools

Current development trends in software engineering

Every year we conduct two global, independent developer surveys engaging more than 30,000 developers. We track development trends across platforms, revenues, apps, tools, languages etc. The 18th Developer Economics survey ran from November 2019 to February 2020 with more than 17,000 developers and tech-makers participating, allowing us to analyze and understand development trends on major areas such as mobile, cloud, desktop, IoT, web, augmented and virtual reality, machine learning and games. 

It’s no secret that we are data-enthusiasts. Data is in our DNA.

After each survey wave, we transform these data into graphs and insights and offer part of them as resources to our developer community. Our methodology is founded on 9 essential and non-negotiable qualities:  magnitude, impartiality, inclusivity, consistency, substantive, engagement, diligence, confidence and breadth. See more on how our methodology allows us to understand and profile developers.

Our goal is not only to help the world understand developers but also to add value to all the developers out there, by offering them the necessary insights to benchmark themselves and make smarter business decisions based on current development trends.

So let’s have a look at what our developers are saying, shall we?

Starting from some basic insights, it is important to know in which age group our respondents belong: 35% of developers worldwide are between 25 and 34 years old. The second largest demographic – almost 28%- is the young developers, aged 18 to 24 years old. 

What age group are you in?

Development trends

Just over half of our respondents reported having less than 5 years of coding experience. As our research covers both professionals and amateurs such as hobbyists and students, the experience mix makes perfect sense and is representative of the coding skills of the global developer population. We find that the young and relatively inexperienced are the first to jump into emerging sectors drawn by the hype, and they play a key role in their evolution.

How many years have you been working on software projects?

Development trends

Focusing on programming language preferences of mobile and backend developers, we find that Java is the third option for backend developers, while the most popular choice of mobile developers. The first choice of backend developers is instead Javascript with over half using it for cloud development. 

Which programming languages do you use to write code that runs on the device in your mobile apps?

development trends

Which programming languages do you use to write code that runs on the server?

development trends

When it comes to front-end frameworks or libraries for web applications most programmers use jQuery (49.7%) and Bootstrap (48%). Other frameworks our respondents stated they’re using are React (42.9%), Vue (28%) and Angular (2+) (25.2%). 

What about trends in augmented and virtual reality (AR/VR)? Almost half of the developers working on AR/VR use C#. Moreover, as is typical of a still-emerging sector, almost 60% of respondents said they are hobbyists in this field.
Last but not least game development. Developers mostly prefer to create adventure and action game apps with 44% of respondents choosing each of these. 36% create Arcade games while almost 23% choose Role Playing or Strategy games.

Which categories do your games fit in?

development trends

For more insights from our latest survey, you can check out the Developer Economics graphs dashboard. It’s also a great opportunity to benchmark yourself against the global average. 
Enjoy!

Looking for a more thorough report analysing the developer population and trends? Download our next State of the Developers Nation report 18th Edition. You will find it here.