It seems like every other month someone’s out there touting the new best thing in software development or must-have software developer skills. Flutter.io, MongoDB Atlas, Apache Mesos… What are all these techs? And are they really necessary to learn in 2019? The answer is… it depends. But while experience with these techs like these may be crucial in a handful of roles, there are some other more essential skills you should learn first. Today’s article covers the biggies for It’s packed with all the best technologies to brush up on to get ahead in 2019. technical languages, front-end and back-end (plus full-stack), app dev, machine learning, methodologies, and more. To get a better perspective, we also chatted to three experts about what essential skills a software developer needs in today’s fast-paced environment: , Solutions Architect at online payment provider , , Frontend Engineer at real estate agent finder platform , , Senior Data Engineer at on-demand odd jobs platform and , Senior Sofware Engineer at global currency exchange platform , , Head of Engineering at hotel deals platform . Peter Hanselmann Bambora Cheng Lou OpenAgent Daniel Deng Airtasker Bharadwaj Sampath OFX Roneel Muhammad HotelsCombined.com Technical languages for developers Finding the best technical programming languages in 2019 is as simple as seeing where the . You’ll note Lou’s suggestions — “ ” — coming up time and again. These mature programming languages are a solid base to build on. majority of jobs lie for software developers C#, Java, Node, C++ and Ruby Muhammad also points out it “really depends on the area you are gravitating towards and on whether you are keen on start-ups, small to medium-sized businesses or enterprises.” Another good all-around language is . Says Hanselmann, “ ” Python A language like Python is also a good language for all developers to have in their toolkit because as well as gaining in popularity it is a very useful general utility language. Even if you are not writing production code in Python it is likely to be useful to you in writing scripts, or for testing code. Front-end developer skills Front-end development vs back-end? Well, front-end development is about presenting the software clearly, from a , helped by design, art, and finesse. With plenty of software being web-based, the need for front-end development skills isn’t going anywhere soon. So, what skills do you need for front-end dev in 2019? UX perspective Lou recommends “ ” It’s a robust tech-recipe to cover front-end development. A solid understanding of JavaScript and HTML5/SCSS . It’s also beneficial to know JavaScript ES6, PHP, Python, SQL, NodeJS . JavaScript frameworks are popular in 2018 such as React and Angular . Back-end developer skills And how about front-end vs back-end programming from the backend perspective? A works server-side, doing database operations, business logic, API magic and more. For these operations, a back-end developer should know (mentioned above), plus , for running JavaScript on the back-end, and have a firm grasp on software orchestration and DevOps. back-end developer a technical language or two SQL Node.js Says Hanselmann, “ ” Migration to cloud environments is expected to continue, so gaining experience in at least one such ecosystem, such as AWS or Azure , is becoming a must-have. Similarly, knowing how to do infrastructure as code, with a tool like Terraform , is a useful skill to have. All-rounder full-stack developer skills For those striving to add the words “full-stack” to their resume, this assumes that you know enough of both front-end and back-end development to be able to divide up logic across the full system, implement the plan, and build the whole thing. Do real full-stack developers actually exist? Yes, you need the skills mentioned in both front-end development back-end development! and Deng also highlights the need to know the right framework to pair with each web programming language: “For web dev, you’ve got plenty of choices, and normally people tend to choose a language and framework based on team capability, candidates in the market etc. Ruby/Rails, Python/Django, Java/Springboot, Go/Gin, Elixir/Phoenix would be great choices because it’s relatively easy to find people with relevant skills on the market.” A full-stack developer salary can often reflect the depth of knowledge required to call yourself a real full-stack dev (i.e. big $$$) — but a prospective employer is likely to have high expectations of you. Skills for app developers Of course, there’s the other side of the field. As mobile use continues to grow, app developers are in demand for both and . iOS Android Solid advice on the mobile dev front comes from Hanselmann: “ ” Deng agrees: Someone interested in mobile development should become proficient in Swift for iOS , and for Android , Java is still dominant but Kotlin is increasing in its popularity. “For android devs, obviously Java/Kotlin would be their first choice and Swift for iOS devs.” Hybrid app development is also popular, with frameworks like Xamarin and Ionic being utilised to go cross-platform. And then there are , based on browser technologies, which could be the new wave of cross-platform apps soon. progressive web apps Machine learning programming Machine learning has its basis in data science and statistics. If you want to do machine learning programming, then some background knowledge in these fields is a great start. As for technologies use? “ ” says Hanselmann. Being familiar with the R programming language is a must for data scientists whereas for machine learning Python is the most used language, as an excellent tech to learn for those interested in ML. Workopolis also highlights the machine learning framework TensorFlow Software engineering methodology skills It’s not just languages and frameworks that are required skills for devs. Moreover, it’s a full view of what goes into the software engineering process. Lou explains that this involves “ ” Development strategies and methodologies, build processes, build tools, package managers, deployment, continuous integration, release management, unit testing, version control, design software. Hanselmann also highlights continuous integration and continuous delivery as a key learning area in software engineering: “ ” All developers today should become familiar with CI/CD for continuous delivery . Becoming competent with tools such as Bamboo or Jenkins , and Octopus is valuable for continuous integration and deployment. , so have a read. Simple Programmer goes into a little more detail on these essential skills Problem-solving skills: The secret sauce to a successful developer career **Software developers are known for being problem solvers at heart.**Do you enjoy seeing a tricky situation and trying to find the best outcome through a number of steps, through dissection of the problem space? Sampath thinks problem-solving skills are essential for any developer: “Presently anyone could learn to program easily but only a few are successful. This is because they lack the skills to solve problems in a pragmatic way. Problem-solving is something which cannot be taught but it is something which can be learnt through experience and application” It’s these qualities that Lou touches on too: “ ” Strong problem-solving skills and analytical thinking will benefit you a lot. It’s common that you’ll run into a new scenario which you’ve never encountered before. The only way to succeed is to problem solve. Agile teamwork skills, product development skills and more… Of course, this is just scratching the surface. It’s important to hone your particularly “ ,” says Hanselmann. is now common in many workplaces. Deng highlights that you should have a firm understanding of_“the discipline of test-driven development, the understanding of the value of throw-away-code, the concept of domain driven design.”_ And if you want to pursue a , there are certain skills that you’ll want to investigate, such as if you want to work blockchain. soft skills , adaptability, communication skills, and teamwork skills Agile specialist career in cybersecurity Solidity There’s a lot of scope for learning as a software dev, but the more strings you add to your bow, and the further you grow your knowledge in each area, the more you’ll become the headhunted instead of the job seeker — maybe even among . Australia’s 50 hottest tech companies to work for Original article posted on The Martec: https://www.themartec.com/insidelook/essential-software-developer-skills