Application Developers Qa Engineers Ux Designer Required Канада


Содержание поста:

DevOPS Engineer (Canada) (неактивна)

Продуктовая компания LifeStreet Media (http://www.lifestreetmedia.com) в поиске DevOPS Engineer для релокейта в Канаду (подробнее читайте в информации о компании)

We invite DevOPS Engineer to be a part of fast growing team of professionals operating on high load and scalable environment

Requirements:
— Hands-on system administration/development experience in Linux/Unix;
— Production systems monitoring and troubleshooting experience;
— Deployment tools, e.g. Chef, Salt, Puppet, Ansible, etc.;
— Repositories, e.g. git, Gitlab, Mercurial, etc;
— Monitoring tools, e.g. Graphite, Nagios, Zabbix, Ganglia, Prometeus;
— Continuous integration tools, e.g. Jenkins, Bamboo, TeamCity, etc.;
— Virtualization, e.g. LXC, Docker, Kubernetes, etc.;
— Cloud platforms, e.g. EC2, GCE, OpenStack, etc.
— 100% understand modern development lifecycle of CI;
— Be able to work close with developers as a team member and resolve all infrastructure and operation issues;
— Fluent English and Russian. Be able to relocate to Canada

Office: Saint John, NB (Canada)

О компании LifeStreet/RevJet

Web/AMG Services Inc. — группа компаний (включающая в себя LifeStreet Media — https://lifestreet.com и RevJet — https://www.revjet.com), которая была основана в 2005г Mitchell Weisman, Paul Kennedy и Serge Ioffe на средства Exigent Ventures. Основатели компании имеют успешный опыт работы в рекламном и IT-бизнесе, в частности:
— Создание и развитие компаний “с нуля” до уровня 100 миллионов долларов продаж в год
— Построение одной из самых больших рекламных платформ в мире (Claria Corporation)
— Более 15 лет опыта разработки и обслуживания сложных программных комплексов, управление крупными распределенными IT-командами

LifeStreet Media (www.lifestreet.com) — это высокотехнологичная компания в области IT и маркетинга, с штаб-квартирой в Кремниевой Долине (США, Калифорния). Мы разрабатываем и внедряем принципиально новые дифференцированные технологии маркетинга, мультимедийной рекламы и CRM на основе современных информационных систем. Наша компания — лидер в нескольких смежных областях, включая рекламу внутри приложений и оптимизацию рекламных объявлений. Наш потенциал и достижения отмечаются престижными наградами, а сотрудники часто участвуют в бизнес- и технических конференциях.

Создаваемое нами программное обеспечение позволяет нашим клиентам многократно повысить эффективность, прогнозируемость и управляемость рекламного бизнеса. Например, мы предоставляем возможность проводить рекламные компании очень больших объемов, производим непрерывную статистическую оптимизацию различных типов маркетинга на многих рекламных каналах.

Стек наших продуктов эффективно обеспечивает полный цикл поддержки рекламных кампаний в Интернет: от создания и управления рекламным контентом до точного измерения и анализа полученного от него дохода. Наши системы интегрированы с крупными провайдерами биддинга реального времени, что позволяет использовать практически весь мировой рынок площадок интернет-рекламы.

Наше программное обеспечение отвечает самым высоким критериям производительности, масштабируемости и надежности. В частности, оно позволяет поддерживать миллиарды целевых рекламных показов в день; ежедневно обрабатывать, хранить и использовать для принятия решений терабайты информации. Для достижения высоких показателей надежности, скорости и масштабируемости, мы используем собственные кластеры из сотен серверов по всему миру, а также «облачные» инфраструктуры от Google и Amazon.

RevJet (www.revjet.com) — компания, основным продуктом которой является оптимизационная платформа, построенная на основе первого мирового универсального объектного сервера, а также является результатом $ 25 млн вложений при разработке программного обеспечения.

Creative Site Platform (CSP) как часть платформы применяет итерационное высокоточное тестирование (IHVT) к любому инструменту обеспечения доходов, начиная с визуальных объектов (объявления и целевые страницы), и заканчивая логическими объектами (фокусировка трафика и алгоритмами увеличения доходов). RevJet генерирует беспрецедентный уровень монетизации и чрезвычайно большое количество новых клиентов для рекламодателей, паблишеров и разработчиков социальных и мобильных приложений.

CSP предназначен для оптимизации онлайн рекламных объявлений различных форматов (Display, Video, Rich Media). Состоит из большого количества applications (AdBuilder, AdTools, Workflow, Reporting, Approvals, Trafficking Tools)

Компания плавно растет, отвечая интересам бизнеса, и помимо главного офиса в San Carlos, California (штаб- квартира, бизнес-пользователи и разработчики), сейчас имеет отделение в San Francisco, центры разработки в г. Жуковском (Московская область), Киеве и Одессе. Недавно открыли офис в Канаде (Saint John, New Brunswick, Canada). Но наши сотрудники не привязаны к рабочему месту, часто работают из дома.
Почти все разработчики — русскоговорящие, почти все бизнес-пользователи — англоговорящие.
Мы активно ищем талантливых специалистов, которые могли бы помочь нам в наших исследованиях и разработке. Для таких специалистов мы предлагаем достойный уровень компенсации и бонусов, возможность работать с передовыми технологиями в отличной команде.
Наши центры разработки – это не аутсорсинговый «придаток», как часто бывает в современных отделениях западных IT-компаний. Мы разрабатываем абсолютно новое и уникальное программное обеспечение, не имеющее аналогов на рынке, и полностью отвечаем за его архитектуру, имплементацию и функционирование перед бизнес-командой.

Наша техническая команда – это IT-специалисты очень высокого уровня, имеющие многолетний опыт в системном и прикладном программировании, в области анализа, проектирования и имплементации программных систем и комплексов. Мы внимательно следим за последними достижениями в области информационных технологий, пробуем и внедряем то, что помогает нам проще и эффективнее решать возникающие задачи.

The RevJet Creative Management Platform brings unprecedented sophistication and power to each and every ad creative discipline including DCO, personalization, audience management, workflow, approvals, rich case-study visualization, experimentation, and effortless self-optimizing performance competitions.

Over a decade in the making, Orora is the first and only Marketing Creative Operating System and App Ecosystem. Purpose-built to power every marketing creative use case for every marketing creative format, Orora is the most powerful extensible marketing creative technology ever built.

Orora apps render expensive stand-alone marketing creative technologies over-priced and obsolete. Orora’s AppXchange launches with dozens of more powerful but easier-to-use Apps to power every marketing creative use case, available to subscribers at no additional cost, that run seamlessly in the beautifully integrated Orora Operating System.

20 Skills Needed to Become a UX Engineer in 2020

Landing a job as a UX Engineer is tough, but it’s not impossible. This list was created to help you narrow your focus and master the skills you need to become a UX Engineer in 2020. Understandably, this list can be a bit overwhelming for anyone who is just getting started. For this reason, the list is divided up into two parts:

If you are brand new to either field, I would recommend focusing on one list at a time. In this way, you can still land an amazing job and earn an income as you build up your skills from the other list.

UX Engineer jobs

UX/UI and Frontend
Job Finder

UX Design Skills

In the world of web development, ux design is critical. While front-end engineering skills are necessary for building fast and scalable products, it’s the ux design skills that will ensure those products are not a waste of effort. Without some knowledge of ux design, you could spend weeks or months building a product that nobody wants. UX design helps to remove doubt, so you can build products that people actually find useful.

#1 – Empathy

Empathy is at the heart of ux design. You need the ability to put yourself in your user’s shoes in order to design products they will love. Fortunately, empathy is not a difficult skill to develop. If you understand why some products make you happy and why some products frustrate you, then you’re halfway there! Related: Empathy in Design: How Does it Work? Developers can sometimes struggle with empathy because UX improvements may seem minor compared to the “cost” of implementing them. If this is you, resist the temptation of putting your own convenience above your user’s satisfaction. Don’t cut corners. Have empathy. Start with the user experience and work backward.

#2 – Problem Solving

Problem-solving skills are important for both ux design and front-end engineering. However, I would argue that it’s even more important for ux. Why? Because the majority of ux problems are unique and specific to your own user’s needs. It’s often much easier to find answers to programming questions than it is for ux problems. With this in mind, you need the ability to come up with creative solutions for a variety of problems. With empathy and problem-solving skills combined, you can begin to understand your user’s pain points and design real solutions for them.


#3 – Observation

As mentioned, the majority of ux problems are unique, but not all of them. Having keen observation skills will save you many headaches down the road. This skill is particularly useful for the “design” piece of “ux design.” Your users are all over the web. They’re using social media, reading blogs, watching YouTube v >

#4 – Marketing

Personally, I don’t think this one is mentioned enough. At many companies, UX Designers work closely with the marketing department. As a ux designer you should, at the very least, have a basic understanding of what marketing is and how it works. The concept of marketing, in general, has a long history of tracking customer’s needs and pain points. There is more crossover between marketing and ux design than you might realize, especially in today’s tech-driven world. At the end of the day, you have to satisfy users AND whoever signs your paycheck. By investing some time to learn marketing skills, you’ll better position yourself to provide value for your users and your company.

#5 – UX Research & Interviewing

At many companies, ux research is a completely separate role from ux design. That doesn’t mean you’re off the hook though. There is no such thing as ux design without ux research, so you’re not going to get far without learning it. To thoroughly understand ux research you need a degree in Human-Computer Interaction or a related field. However, as a ux engineer, I believe you can get by without the degree. If you learn how to collect qualitative data from users without jeopardizing the outcome, you’ll basically have most of the skill you need to conduct ux research. The underlying skill here is your ability to separate yourself from your designs. You need to be aware of your own biases and learn how to design objectively. Learn this and you’ll be good to go.

#6 – Statistics & Data Analytics

While statistics and data analytics fit under the “UX Research” umbrella, I think there is enough distinction to call them out separately here. Leveraging quantitative data is a very powerful way to understand how your users interact with your product. Have high bounce rates? You may need to reconsider your navigation. Are users leaving your page after a few seconds? Perhaps the page is taking too long to load. These are just a few metrics that Google uses to determine your website’s overall user experience. If Google’s paying attention to them, then you should be too. As Google’s CEO, Eric Schmidt stated:

The world will be inherited by statisticians

Unfortunately, data analytics software can only get you so far. You’ll need you a greater understanding of statistics, beyond calculating averages to help you make data-driven decisions as a ux engineer.

#7 – UI Design Tools

Now we’re finally getting to the “design” side of things. One of the biggest aspects of ux design is creating wireframes, mockups, and prototypes. Today’s most popular UI design tools are Sketch and Figma. I’ve actually never used either of these (did I mention technology moves fast?), but if I were to choose between the two now, I would choose Figma. AJ&Smart do a good (and funny) comparison in this video. It’s worth the watch.

#8 – UI Design Principles

Perhaps you’ve noticed “ux” and “ui” are usually paired together? That’s because they’re both essential for the overall user experience. UX Research will help you identify and solve specific design problems, but it will not help you create a beautiful design. For that, you need to understand ui design principles and how to use them effectively. There are certain, universal “truths” about design that every ux designer should know. If you have great observation skills (#3 on this list), then you’ve probably picked up on some ui design principles without even realizing it. Some of these principles include balance, alignment, contrast etc. Your UI is a canvas and you are the artist. Applying ui design principles is the difference between making a masterpiece and making something to stick on your fridge. It really does make a big difference. If your UI design is missing the mark, people will notice and lack trust in your brand. Related: UX Design & UI Design. Why Do We Need Both of Them?

#9 – Interaction Design

With the previous skill, ui design principles, you are dealing with the appearance of single web pages or features at a time. With interaction design skills, on the other hand, you have to take a step back and understand how that page or feature ties into the “big picture.” As the name implies, interaction design deals with guiding the interaction of your product. Without interaction design, your product will feel like it’s missing something. In Google’s Material Design spec, for example, the aim is to treat elements on your page as if they exist in the real world. This implies that objects moving on the page should speed up or slow down as if they followed the laws of physics.

#10 – Writing & Communication

Writing and communication skills are important for most careers, but they are especially important for ux designers. You will rarely design interfaces that don’t require text, icons, or images for the purpose of communication. This means that you need to learn out how to fully communicate a message as succinctly as possible. Writing effective copy is not as easy as it sounds. Readability and comprehension is a science. It’s important that you learn how to speak the language of your audience, but more importantly, engage them with your copy. One mistake that is easy to make is the casual use of big words that may be difficult for the audience to understand. Don’t make that mistake. Your job is to communicate effectively, not to impress readers with your knowledge.

Front-End Engineering Skills

There has never been a more exciting time to be a front-end engineer. Today’s web development industry is booming with innovation. New tools and resources are being created every day to help make our jobs easier. However, those tools and resources come with a learning curve too. If you are ready to get started with front-end engineering, the next 10 skills will be critical for you to get there.

#11 – HTML, CSS, & JavaScript

The web landscape has changed dramatically since the beginning. Today’s front-end engineers are expected to know tools, methodologies, and best practices that didn’t even exist a few years ago. Things move that quickly. As a front-end engineer, you will constantly need to learn new skills to stay relevant. Or do you? In a general sense, yes you will always be learning. However, the foundation of web development has always remained the same. At the core, we’ve always had HTML, CSS, and JavaScript. Learn these things and learn them well. Anything additional you’ll learn will be built on top of these technologies anyway (for the most part). There will always be a new and exciting framework or library. If you don’t have an understanding of plain ol’ HTML, CSS, and JS, then you shouldn’t buy into the latest framework until you do (in my opinion). By understanding the ins and outs of JavaScript, for example, you will get much further in the long term, then if you jumped straight into learning React today. In a few years, a new framework will come along and you’ll be hard pressed to learn that one too. Save yourself the headache and learn to write plain HTML, CSS, and JS first. Related: Designers Should Learn How to Code (Among Other Things)

Очень важная для вас статья:  Коренное население Канады

#12 – Semantic HTML & Accessibility

HTML is used to describe your page to the browser, as well as people with disabilities. It’s not a design tool. After you learn the basics of HTML, you’ll want to dive into semantics and accessibility. You’ll learn that HTML is more than simply wrapping everything in a

#13 – CSS Frameworks, Architecture, & Preprocessors

After you’ve spent some time learning CSS, you’ll begin to appreciate the need for frameworks, methodologies, and preprocessors. Depending on your situation, Bootstrap is a great CSS Framework to get styles onto your website quickly. However, if the project requires something less “Bootstrappy,” it’s likely preferable to write your own CSS from scratch (back to the basics). Also, as a UX Engineer, performance is going to be an important factor to consider for your products. Using Bootstrap out of the box can have drawbacks when it comes to performance. Taking advantage of a CSS Preprocessor, such as Sass, is great for a variety of reasons. Most of all, they make CSS much easier to write by allowing you to nest styles within each other to create specificity. There are some other cool features too, such as the use of variables and mixins. In modern times, you won’t find many front-end engineers that aren’t using a preprocessor to help simplify their process. If you are writing your own styles from scratch, adopting a CSS Architecture is extremely useful for keeping your code organized. I’ve only used Scalable and Modular Architecture for CSS (SMACCS), which is great, but recently learned about some other CSS Methodologies. It’s easy for your CSS to get out of control if you don’t have a good organization strategy. It’s definitely worth it to adopt a CSS architecture for your development process. Related: CSS Specificity: How to Avoid Using !important in CSS

#14 – Responsive Design

Responsive design is nothing new anymore. It’s almost synonymous with web design at this point. Nonetheless, it’s still important to learn how to account for many different devices and screen resolutions with your designs. Failing to learn responsive design is a fast way to leave half of your users out of the equation, which would obviously lead to a poor user experience. We’re in a mobile world now. Mobile is not going anywhere. Learn how to design for mobile, tablet, and desktop and you’ll be good to go.

#15 – JavaScript Frameworks


JavaScript frameworks are important because programming is expensive. Frameworks like jQuery, Angular, Vue, and React were created to help speed up development and do much of the heavy lifting for you. For this reason, companies have no qualms about adopting JS frameworks because it saves them money in the long run. Of course, there are more JavaScript frameworks than you can count on two hands. They all seek to solve a different problem. It would be worthwhile to understand which frameworks are out there. It would also be worthwhile to learn at least one JavaScript framework to assist you with your web development. React seems to be the most popular choice right now, but that could easily change in a few short years.

#16 – Backend Development

Front-end developers work with backend developers pretty closely. I’m not suggesting you should become a full-stack engineer (although, that would be pretty impressive). However, I am suggesting that it would be worthwhile to learn enough about back-end development to better engage with your back-end coworkers. At the end of the day, you will probably be deciding what data is needed to support your projects. Having a decent understanding of back-end development will help foster that communication and ensure project success.

#17 – Testing & Debugging

Testing and debugging is critical for anyone working on front-end code. There are many different ways to “test” your product, but the type of testing you will do most frequently will be in the browser and JavaScript testing. Chrome’s Developer Tools (Dev Tools) is a very powerful and handy tool. Dev Tools allows you to quickly make changes to your HTML/CSS and see how it renders on the page. The console allows you to see when you have errors in your JavaScript. The networking tab allows you to see how quickly files are being rendered, and in which order. There is much more it can do too. If you’re just getting started with front-end development, you’ll soon realize how amazing Dev Tools really is. To make sure your website looks good across all browsers and devices, you’ll need to test your changes everywhere. Browserstack is a super handy tool for this kind of testing. In Test Driven Development (TDD), your JavaScript will need to be tested to ensure you are covering all your bases. Tools like Karma will help you get started with building tests around your code.

#18 – Package Managers (NPM)

Package managers, such as npm, have become a necessity for modern front-end development. They make life easier. With the explosion of resources, frameworks, libraries etc. at your fingertips, it starts to become fairly painful to manage them all…..unless you use a package manager. Learning npm will require you to use the command-line interface (CLI). It’s not as scary as it sounds. There are plenty of tutorials online that can help you when you’re ready to incorporate package managers as part of your web development process.

#19 – Build Tools

In addition to npm, you also need to know about build tools, such as Module Bundlers, Task Runners, and Linters. These tools have different purposes but are essential for modern web development. Module Bundlers, such as WebPack were created to help you track your module dependencies between files and bundle them up into one resource. One of the main benefits of using a tool like WebPack is the concept of “Tree Shaking,” which prevents unused resources from being loaded unnecessarily. Task Runners, such as Gulp, allow you to run tools like WebPack and Sass. They are useful because they can watch for changes in your Sass or WebPack files and rebuild the output automatically. Learning how to use a task runner will definitely help boost your productivity. As you work with a team of other front-end engineers, it’s important to ensure that you adhere to a style guide for your JavaScript code. This is where linters, such as ESLint come in handy. Linters allow you to specify rules, regarding spacing, syntax, naming etc. in your code. When you break these rules, your linter will let you know. Essentially, linters are a useful way to ensure quality and consistency for a shared code base.

#20 – Version Control

Everyone makes mistakes. Fortunately, there’s version control for that. As a front-end engineer, it will be essential to learn how to use version control, such as Git or Team Foundation Server (TFS). Version control allows you to branch off of your production code (essentially, create a copy of it) and make changes without needing to worry about messing things up beyond repair. However, when things do go wrong, such as a bad deployment, version control is there to save the day by allowing you to roll back your changes to the previous version.

Are you ready to become a UX Engineer?

So, there you have it: The 20 Skills You Need to Become a UX Engineer in 2020. I hope you have found this list useful as you work to improve your skills. If you’re ready to become a UX Engineer, then check out the jobs board!

If you are interested to learn more about UX Design or Front-End Engineering, consider subscribing to UXE Weekly and receive a new article about UX Engineering [almost] every week!

Mobile App Development Team: Aspects And Steps To Build A First-Rate App At Cleveroad

How much does it take to create a mobile app? I mean not only money but also human resources that should be involved in this process. A full-fledged mobile development team should create an app to provide you with a product of a high level. This team includes many specialists and all of them play their important role. How is mobile app development team formed and how is mobile app development process implemented in our company? We will reveal it in this article.

Mobile development team structure at Cleveroad — who is who

A mobile development team is a living organism that performs different tasks applying joint efforts. The development team should have all skills needed to create a high-quality app. And each team member in our company is engaged in the development process of iOS or Android apps to do their best. Let’s start from the very beginning.

Project manager

The person who is responsible for the implementation of the whole project and project delivery. This professional manages the project and connects all departments with each other. Project manager communicates with the customer directly, discusses all issues regarding a mobile app being developed and settles all disputes that may arise.

See how web development team is being built to create your new website. Read Web development team structure: roles and processes you need to know about

What skills does this specialist should have?

  • First, of course, he should know well how business strategy in mobile app development should be built properly;
  • Second, he should be tech-savvy, be able to understand what technology is preferable for that or another project. Knowledge of how to apply different development methodologies is very precious, and we require our PMs to have this skill obligatorily;
  • Third, a project manager should have some experience in psychology. To understand customer’s needs and demands, to find a right moment to offer a customer a good solution and so on. Not to mention about communication skills to make a contact with a customer.

  • And, fourth, he should be attentive. It is necessary to check the documentation and make sure that the development is implemented according to specification.

Our PMs are also good at performing a few tasks simultaneously. Because it is the main point of their work.

Sales and marketing departments

Sales managers are the ones whom all customers contact with when they plan to order the app development from a specific company. Sales managers provide customers with a general information about the company and technological stack mobile app developers are skilled at. After estimation of your future mobile app, sales managers notify a customer about the total cost of the app development. If the customer approves the price, sales manager hands over all connections to project manager.

As for marketing team, marketing strategists help promote the future product, create advertising materials, elaborate the strategy for each specific product to make it popular.

Requirement analyst

Not all app development teams include this position in their staff, but, for example, our company has RA department where trained specialists help project manager optimize the specification and calculate everything considering all possible solutions. The main goal of requirement analyst is to find out what problems the customer has and provide him or her with the most efficient solutions.

The structure of our mobile dev team, pt.1

Designer

The work of designers is not so simple as it may seem at first sight. They not just only create a user interface and user experience of the app. Designers also work with a special documentation and they elaborate the whole process stage by stage. Otherwise, it will be impossible to create a good software product.

Designers should create wireframes first when they analyzed and elaborated the documentation. Then, if everything goes well, they proceed to experimenting with UI and UX for iOS or Android platforms, depending on the project. Designers’ task is not only to create a good design but also make it attractive using all modern technologies related to design. At Cleveroad, mobile app team includes experienced UI/UX designers.

Android/iOS app development team

When user interface/user experience is created, the main part of the development begins — a building of the app structure and functionality. Here Android and iOS developers apply their skills to create a mobile app. We will determine mobile application developer responsibilities. How does development process differ in iOS and Android department?

Learn what Cleveroad does to build your project. Read How we form a project team that can breathe life into your ideas

  • Android developers use Java, Kotlin, and C++ partially to create native apps;
  • Android Studio is the main integrated development environment for Android devs;
  • Android OS is the most popular in the world, there are a large number of devices running on Android, and it is important for Android app developer to understand what devices customer plans to use. Development time and cost depend on it;

At Cleveroad, when we create Android apps, we provide them with a support of older OS versions down to 5.0 or 4.4 even if they are built for 8.0 Android version.

  • iOS app developers use Objective-C and Swift to build good native apps;

  • For the development process, iOS specialists use Xcode as an environment for apps building;
  • Unlike Android apps, our iPhone app developers create an app only for two last versions of iOS. There is no sense to build an app for older version since they lose their popularity fast.

On the whole, there is no large difference between iOS and Android development processes. Teams of developers can work in a bunch if they create one app for two platforms.

QA engineers

Upon the development of first software version, it should be tested to verify how it works, whether everything is functioning properly or not. And QA engineers should make sure that a built app works according to specification. At Cleveroad, our QA specialists perform different types of testing, it allows them to check how an app is functioning under various conditions.

If there are any bugs in the app, QA engineers send it back to developers for revision. Only when QA specialists approve everything, the app will be sent for release.

The structure of our mobile dev team, pt.2

That was the main mobile application development team structure that is able to create a fascinating software product together. You saw application development team roles and responsibilities. And now we should consider important aspects of the development process for all participants to follow.

3 strict aspects for a mobile development team to follow

There are some crucial factors our specialists cannot ignore, and it is necessary to follow them in order to succeed.

As we noted, mobile development team consists of a few departments and each of them plays its integral role in the development process. But it is very difficult to control all specialists in each department how they do their job. That is why each department should have a team leader that is responsible for all tasks his/her department implements. And qualified team leaders should monitor the workflow in their department. It will ensure that the process will go coherently and any troubles won’t arise. Good and skilled management is the basis that we take into account when we create mobile development team.

All participants of a mobile development team should strictly keep up with the set schedule and move along with this schedule when creating a mobile app. Deadlines should be met in any case. Unless a customer decides to add something new to the app, and it will influence the extension of the development deadline. All specialists in mobile development team should be informed about all timeframes and relevant details.

You should know how our QA engineers test your software. Read How do we keep up with the quality standards at Cleveroad

As a mobile app development process is very complex and involves many specialists, it is highly required to do all job with mutual efforts. One specialist cannot be proficient in UI design, quality assurance, app development at once. Therefore, all members do their job and help each other upon request, if it concerns their field of activity. That is the main principle of success for any software development company, and Cleveroad knows about it firsthand. Joint cooperation is a key to a rewarding result.

Basic aspects we should take into account

Steps our mobile development team undertakes to create a mobile app

We would like to list crucial steps we need to take to create your mobile app. Our iOS and Android development teams perform the following:

A draft plan for your app building

Everything starts with this phase. We should understand what type the app will be, how it will work and what challenges it will solve. A mobile development team is engaged in the building of use cases that a future app may perform potentially. Also, it is necessary to determine the business value of the future project. Having made a proper research, we can proceed to the next point.

Visual sketches of the app

Then, our designer can make sketches of your future app simply drawing it in any graphics editor to understand how it complies with your vision. It can help development team to determine the usability of the app on the basis of use cases and customer’s vision.

How the app will work: functionality assessment

Here it is necessary to perform feasibility assessment to determine what backend should be developed, what systems can (or cannot) be used. It can be achieved with the help of app functionality assessment. Besides that, all requirements should be assessed on the basis of the platform since Android and iOS operating systems have its own particularities. Also, the development process of your future app depends on whether it will be a hybrid app, cross-platform or a native one. At the end of this stage, your app can be modified with some new features or some of them will be removed due to some strong reasons like inability to implement it or another one.

Do you know some secrets how to estimate the project efficiently? Watch our video to find out it:

How to Estimate Your Project with the Maximum Efficiency?


6 ways QA can work better with developers

As a QA engineer, I know how easy it is to get frustrated with developers. Often, these frustrations are the result of differing priorities: Developers focus on delivering code, while QA cares about quality.

Agile teams can help QA and developers align, but even then there are many pitfalls to avoid. In my experience, there are six key best practices QA teams should adopt to improve collaboration with developers. But first, let’s examine why the teams come into conflict in the first place.

[ Get up to speed on quality-driven development with TechBeacon’s new guide. Plus: Download the World Quality Report 2020-20 for lessons from leading organizations. ]

When is «done» really done?

The core difference lies in the motivations driving each team. Developers are often assigned to write code that addresses a specific function. This technical, limited scope can cause them to miss how their piece fits into the bigger picture. QA engineers, on the other hand, are tasked with bringing a holistic, user perspective, in which the quality of a specific feature is only as good as the overall experience.

For example, I was once involved in building a system that monitored the number of active users. The way the algorithm was built, it reported back fractional users—say, 5.5 active users—which made absolutely no sense from a user perspective.

In another example, a developer proposed requiring users to manually delete items in several places. This required the user to perform multiple actions that could easily be automated, significantly affecting the user experience.

But let’s be proactive: What can QA do, and what state of mind should it adopt in order to realize the potential of agile development? Below I’ve listed a number of ways testers can improve their working relationships with developers.

1. Focus on quality, not on testing

Testing is only a means to an end. Too often, QA engineers run tests as if they’re expected to fill some kind of quota for completing tests. We must remember that the real goal is to improve the quality of the product.

Make sure you understand what is important for your customers and test that. Don’t just look at the user story definition. Try to think like the users and make sure the application will make sense from their perspective.

In one case I was involved in, the application had a error-reporting feature that passed all the functional tests and had a great look and feel. But customers complained that they weren’t able to easily understand from the report where the highlighted problem actually was.

Always think of your users and don’t test just to say that you performed a test. Users don’t care how many tests you ran on your application—they care about the product quality and that it answers their needs.

2. Share responsibility

It’s very simple: Everyone should be responsible for the quality of the product. In an agile team, there’s no more «us» and «them.» Developers should be responsible for their code and make sure they write the relevant unit tests. QA should test the whole system.

Yes, QA are the gatekeepers, but everyone in the agile team should have the same responsibility for the quality of the product.

3. Choose your battles

As a gatekeeper, you can’t fight over every single defect. Understand which fights are worth fighting and where you can let go. Otherwise, everyone will spend a lot of time fixing things that are not that important.

Here’s a tip: Define your own «red line» of things you simply won’t compromise on, and focus only on those things. For example, I am very particular about initial interactions with a product (e.g., load time, usability of initial flow, etc.). Conversely, I’ve avoided fights about installation tweaks for on-premises solutions that only get installed once.

Many teams set up a «defects committee,» which predefines showstoppers vs. other bugs before each sprint or version is released. This helps focus everyone’s efforts.

4. Be constructive about defects

No amount of testing will ensure that you have zero defects. Some will always escape even the most rigorous testing procedures and be discovered by external users. The key is to keep calm, learn from these «escaped defects,» and improve your next release.

Developers love to ask QA engineers, «How did this get past you? Didn’t you test?» The reality is that software gets very complex, and you can’t always test every single scenario and configuration. We conduct risk-based testing and test the user flows we see as most important and common according to the time we have.

In some cases we consult with product management, commercial stakeholders (sales, pre-sales, etc.), or even the customers themselves. If something gets through our web, we do a debrief to discover what happened and why we missed it, and, we create an automatic test for escaped defects.

5. Create visibility into your activities

Visibility improves collaboration and trust in any team, and agile teams are no exception. You shouldn’t assume that developers or any other stakeholders know what you’re up to, how you’re testing, or what your standards are. Review what you’re planning to test with the developer.

When you share your work with developers, they can start paying attention to the things that matter, upstream. Having bug-hunt days, with additional stakeholders from product management, support, and architects, not only widens the scope of testing efficiently, but also gets more eyes to scrutinize the product. Publishing important lessons learned from customers has the added benefit of establishing you as a subject matter expert who represents the end user.

6. Don’t punish developers or users


I often hear QA threaten that they won’t approve a feature because of low quality. In my opinion, this is really the worst thing you can do as a tester. Think of the outcome here: By not approving a feature, you alienate the developer, and, worse, your users will not have the chance to use it.

There are many things you can do in case of low quality: Have a task team dedicated to improving quality; only release the first part of a feature (one that is sufficient quality); and the list goes on. A common tactic is to mark a feature as «alpha,» «beta,» or «early access» to set expectations. This means that users will be able to start using the new feature, understanding that it’s perhaps half-baked. I think this is a win-win: The users get the feature, we get feedback from them, and our «quality conscience» stays intact.

Take initiative

Skilled QA engineers don’t wait for some magic process to make everything run smoother. Instead, they take initiative and improve collaboration with their developers, remembering above all that delivering a high-quality experience to the user is paramount. Testing is a means to end—that end being the quality itself.

Software qa engineer Jobs in Canada

software qa engineer Jobs

Job Title Employer Location Salary
Software Engineer InfoVista Canada
Quality Assurance Analyst GIRO Montreal
QA Developer xMatters Montreal
QA Specialist Conexiom Vancouver
Associate Software QA Engineer Sage Richmond
Software Engineer Wenco International Mining Systems Richmond
Senior QA Specialist Conexiom Vancouver
Software QA Engineer, SBC Payroll Sage Richmond
Software Engineer CARFAX London
Software QA Engineer, Sage Sage Richmond
Test Engineer (Radio) Syntronic Kanata
Test Engineer PointClickCare Waterloo
Software Engineer (Contract) Connected Toronto
Software QA Tester Volanté Systems North York
Machine Learning Software Engineer NiceJob Vancouver
Senior Computer Vision Software Engineer ClearVision Technologies Vancouver
QA Analyst AlayaCare Montreal
Senior QA Engineer Clever Devices Toronto
QA Automation Engineer Priceline.com Toronto
Software Engineer Priceline.com Toronto
Software Engineer Hivestack Montreal
QA Automation Engineer GroupHEALTH Benefit Solutions Surrey
Software Engineer — Product Dialpad Vancouver
Software Tester ADGA Group Kingston
Software Engineer VersaPay Toronto
Software Engineer Rx Networks Vancouver
Software Engineer Tucows Toronto
Software Engineer Dialpad Vancouver
Software Engineer realtor.com Vancouver
QA Analyst ICBC (Canada) North Vancouver
  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • Next

Copyright © 2008–2020, Glassdoor, Inc. «Glassdoor» and logo are proprietary trademarks of Glassdoor, Inc.

Email me jobs for:

Your Job Alert was created!

Taking you to the job you clicked earlier.

Glassdoor lets you search all open Software qa engineer jobs in Canada. There are 2,112 Software qa engineer job openings in Canada. Search Software qa engineer jobs in Canada with Glassdoor. Get hired. Love your job.

Copyright © 2008–2020, Glassdoor, Inc. «Glassdoor» and logo are proprietary trademarks of Glassdoor, Inc.

What’s the Difference Between UI/UX Designer and UI/UX Engineer

UI stands for User Interface while UX stands for User Experience. First of all, a lot of people consider it to be the same which is wrong. They are highly related but quite different. UI is more related to designing aspect while UX is more related to analysis and technical aspects. There are many differences between UI/UX designer and UI/UX engineer even though they are likely to work together in a company. In short, the role of UI/UX designer is to research and design while the role of UI/UX engineer is to design and code it out. But a UI/UX is not necessary an application developer as an application developer mainly deals with the back-end development while UI/UX engineer deals with the front-end development.

Skill Requirements –

UI/UX Designer – The best way to understand the difference between UI/UX designer and UI/UX developer is to understand the skill set they need to possess. Coming first to the UI/UX designer, as stated earlier, they need to research and design. In other words, they need to understand and analyze the needs of the users and formulate concept and design ideas that those users will love to use. Therefore, they need to have an understanding of online users’ behaviors, psychology, and all the relevant aspects. In fact, one needs to walk in the shoes of the online users and get a complete hold of what is cooking inside their heads while they are browsing.

But that is all non-technical skills. For a UI/UX designer, the next skill set is more important and they are technical. It is related to graphic designing. A UI/UX designer needs to know all the industrial-standard design tools especially the ones that are commonly used. Not just that, he should have a complete idea about the professional designing process that involves the UI/UX engineer as well as the application developers. The wireframes of the application are designed by UI/UX designer which form the base on any application. Therefore, it is a combinational skill set of research, analysis, and design.

UI/UX Engineer – As stated earlier, the role of UI/UX engineer is more practical and technical. After the research and analysis part is done by the UI/UX designer, he collaborates with the UI/UX designer to create the wireframe and also understand the thought process and the concepts and reasons behind all the designs. He has to pay attention to the fact the design looks good and it is functional on all browsers or operating systems or machine configurations. A UI/UX designer may not have any idea whether what he is designing will work on all browsers or not and hence, the collaboration is effective to make the final design that works for the UI/UX engineer as well as the application developer.

After the collaboration is done, it is the duty of the engineer to translate the wireframes and all the concepts into the practical output. Therefore, apart from having a design skill set, he needs to know the programming languages used to design the front-end of any application. Among the front-end programming languages, HTML+JS+CSS are a must. Then it depends on the application as well as the technology the company uses for the front-end development. It can also depend on the requirement of the clients. Sometimes, the job of turning wireframes into HTML layouts is done by UI.UX designer and the UI/UX developer fine tunes them so that the application developer can start developing the back-end and integrate with the front-end seamlessly. He has to keep in mind how the designs of front-end he is doing are going to behave in different browsers, how much time it will take to uploading, how many resources it will consume, how the users will respond and much more.


Aspects Addressed –

A UI/UX designer is more concerned with the look and feel of the interface. He is into customer surveying, user analysis, and then doing design research of the competitors, and then conceptualizing the design ideas. After that, he is concerned with the branding and graphics development. On the other hand, a UI/UX engineer is concerned with responsiveness and interactivity. The first thing he pays attention to is UI prototyping. Once that is out of the way, he looks into the interactivity and animation aspects. The adaption to all devices, platforms, and browsers are taken care of and the cons of the design aspects are stroke off. Then he starts the implementation after getting the application developer on board.

In technical terms, the job description of UI/UX designer is research, information design, and visual design. The job description of UI/UX engineer is visual design, interactive design, and front-end development. Due to the front-end part, the pay of UI/UX engineers is more than UI/UX designer based on similar years of experience. You can start as a UI/UX designer and make a transition to UI/UX engineer with enough experience.

Free Website Uptime Monitoring

Try Our FREE Version Today. Get Instant Alerts When Your Site Goes Down. Free Sign Up Now! Track Performance of Critical URLs.

QA Engineer interview questions

This sample of Quality Assurance (QA) Engineer interview questions is optimized to help you identify skilled candidates for your software Quality assurance position.

Make sure that you are interviewing the best QA engineers. Sign up for Workable’s 15-day free trial to hire better, faster.

Jump to section:

  • Introduction
  • Computer Science questions
  • Role-specific questions
  • Behavioral questions

QA Engineer Interview Questions

Quality Assurance (QA) Engineers monitor all stages of software development to identify system malfunctions and help improve product quality. They are responsible for conducting tests before product releases to ensure software runs smoothly and meets design quality standards.

Your ideal candidates should have a solid technical background, as they’re involved in the entire software development process. Use these questions to discover candidates whose past experience matches your company’s specific needs. It’s also essential to look for candidates with strong communication skills, since QA Engineers usually collaborate with various departments (e.g. web developers, designers and product managers.)

For better results, you should check if your candidates practical skills match their theoretical knowledge. You can include specific assignments in your interview process to assess how your candidates handle software problems and if they can come up with effective solutions in a timely manner.

Computer Science questions

  • What’s the difference between Quality assurance (QA), Quality control (QC) and Software Testing?
  • What is smoke testing?
  • What’s the difference between verification and validation?
  • Give me some examples of cases where it’s appropriate to conduct regression testing.
  • What are the best types of tests to perform on web-based applications?

Role-specific questions

  • Describe the bug life cycle. What is your role?

  • What software automation problems have you faced?
  • How do you determine which applications you should test?
  • Describe a test strategy that you’ve found to be effective.
  • What testing tools have you used?
  • What’s your experience with object-oriented programming languages?
  • What test cases would you write for a remote desktop feature?
  • Are you familiar with designing test frameworks for UI testing?
  • How do you decide you have tested enough?

Behavioral questions

  • Describe a situation where you successfully collaborated with developers to deploy a program or application.
  • Describe a time when you acted proactively to increase system performance.
  • How do you keep up-to-date with industry developments? Are there specific blogs or forums you read?

Source and recruit skilled engineers with Workable’s Boolean search cheat sheets.

Share

Looking for an all-in-one recruiting solution? Workable can improve candidate sourcing, interviewing and applicant tracking for a streamlined hiring process. Sign up for our 15-day free trial today.

UX Designer – Contractor

Electronic Arts

Job Overview

Roles & Responsibilities

We Are EA

And we make games – How cool is that? In fact, we entertain millions of people across the globe with the most amazing and immersive interactive software in the industry. But making games is hard work. That’s why we employ the most creative and passionate people in the industry.

Save the planet from Alien Invaders. Score the winning touchdown.

Yup – It’s the coolest job on the planet!

The Challenge Ahead:

Is to build our new cross-game, cross-platform digital economy platform. This large scale, always-on collection of RESTful Java-based services will power the virtual-economies of EA’s network of games that will be experienced by tens of millions of monthly active users. You’ll have the opportunity to design & build sophisticated platform tools and services for the creation of complex in-game virtual economies, driving the player engagement of many of the industry’s most popular titles. You’ll figure out the workflows needed for Marketplace to seamlessly integrate with other components of the larger Digital Platform, as well as work on regular improvements to the systems

What a UX Designer does in EA’s Digital Platform org


The UX Designer is responsible for shaping the overall user experience for designers, producers, and developers who use Marketplace every day, to unlock their productivity and creativity as they build the world’s best games. The UX Designer reports to the Director of Product Management, and works closely with Marketplace engineers to translate high level product requirements into designs that deliver a low-friction and satisfying experience for our users. They will help establish and improve user-centered design process in the broader development team. In order to effectively communicate designs, this role will be expected to create detailed user personas, journeys, and flows, as well as storyboards, wireframes, mockups, and prototypes.

The Ideal Candidates Portfolio Will Demonstrate

  • Excellent conceptual and problem solving skills illustrating an iterative design process
  • Strong knowledge of interaction design process as applied to complex applications and workflows
  • Case studies highlighting user centered design research and its impact on design solutions
  • Examples of wireframes, low and high fidelity prototypes and information architecture mapping

Duties And Responsibilities:

  • Collaborate with Product & Program Managers to articulate product requirements & define Marketplace UX strategy
  • Develop detailed user personas and flows, wireframes, flowcharts, mockups and other product deliverables to effectively communicate designs and product requirements
  • Collaborate with Product Management to oversee user experience design of key features from conception to launch
  • Research the experience of our internal users to identify top opportunities for improvement
  • Conducting heuristic evaluations and working with engineers to address usability issues.
  • Mentor teammates on user centered design principles and methodologies
  • Organize usability testing, focus groups, interviews, and surveys to validate interaction design and product direction
  • Thrive in a fast paced work environment requiring independent self-direction with an aptitude for team collaboration and open communication

Requirements:

  • You’re a gamer and understand how Meta-games are structured and designed
  • Degree in Interaction Design, Psychology, Human Factors, Industrial Engineering or related HCI discipline, or demonstrated proficiency and experiences in the field of software user experience/interaction design.
  • 5+ years relevant experience in User Experience Design for console or mobile applications
  • Experience in the design of complex applications is an asset, especially sophisticated enterprise software
  • Proficiency in user experience design tools (Adobe Creative Suite, Axure, Omnigraffle)
  • Strong creative problem solver that challenges the status quo
  • Highly motivated self-starter; capable of operating with minimal management oversight.

About Electronic Arts

At EA, we thrive on outrageous thinking. It’s the fuel that inspires the best games in the world. We are a community of artists, storytellers, technologists and innovators working in one of the most dynamic industries today. We’re building a company that thinks about the player experience at every step. We are transforming for a digital future and work as one team.

Гайд по вакансиям в Веб Разработке

Итак, вы решили стать Веб разработчиком. Вы знаете три магических термина HTML / CSS / JS и полагаете, что станете востребованным специалистом, как только освоите все три в совершенстве. Вы представляете, как будете учить их последовательно, один за другим. Заполните портфолио. Найдёте вакансию Junior. Утрёте нос сомневавшимся.

На самом деле, даже Фронтенд разработчик – вымирающий вид. Но не потому, что работы становится меньше 🙂 Скорее – наоборот. Ежедневно растущая сумма знаний не оставляет шансов для широких категорий. Абстрактные «программисты» существуют только в фильмах о хакерах и в народном представлении. Так и фронтенд разработчики, постепенно, становятся абстракцией, разделяясь на всё более узкие специальности.

К сожалению, большинство рекрутеров плохо представляют специфику работы людей, которых они трудоустраивают. Сделаем скидку на то, что IT-рекрутинг тоже молодая дисциплина. Вольно или невольно – рекрутеры создают своего рода «дезинформационное поле».

Если у вас есть опыт аренды жилья, вы, вероятно, сталкивались с фразой «Интернет Wi-Fi». Риэлторы обожают это словосочетание. Не пытайтесь объяснить им, что Wi-Fi это способ раздачи от подведённого источника, и вас интересует именно последний. «Интернет Wi-Fi» может оказаться чем угодно: ADSL, 3G, оптоволокном.

Фундаментальное непонимание ничуть не мешает риэлторам тиражировать бессмысленную фразу. Та же история с рекрутерами.

Давайте разберёмся, какие титулы вакансий, подходящие под определение «веб-разработки», популярны сегодня. Сразу отмечу, что данный гайд не претендует на полноту и отражает точку зрения человека, использующего JS как основной язык.

Титулы вакансий

Web Developer

Синонимы: веб-разработчик, веб-инженер

Обычно, подразумевает использование каких-либо CMS. Некоторые люди на полном серьёзе считают, что начинающие используют «простые CMS», а эксперты – «продвинутые CMS». Хинт: если человек спрашивает – Какую CMS используете? у компании программистов в конференц-зале – вероятно, он полный нуб. И это не обвинение, а констатация факта. Серьёзные современные проекты не используют CMS, ну разве что в качестве вспомогательного инструмента. WordPress для ведения блога компании – да, возможно. WordPress в качестве магазина – уже сомнительно. «Социальная сеть на Joomla» – фантазии подростка. CMS имеют свое место на рынке, но они давно перестали быть «государствообразующим» элементом.

«Делать сайт на CMS» примерно тоже самое, что «клепать дизайны под ThemeForest». «Копейка рубль бережёт!» – Nuff Said.

Веб-инженер занимается контентом, «правит» вёрстку, делает разное и (occasionally) программирует. Web Developer – это низший уровень из всех возможных «веб-разработчиков». В случае с фрилансом, под веб-разработчиком, обычно, подразумевается «человек-оркестр», а точнее – «человек-батрак».

Срчно. Ищем терпеливого веба-разработчека!

CSS / HTML Developer / Markup Developer

Синонимы: верстальщик

Должность, на которой требуется верстать дизайн. Требования к знанию JS и программирования минимальные или отсутствуют. Желательно необходимо знание основ дизайна, т.к. дизайн почти никогда не переводится из PSD в HTML один-к-одному. «Pixel-Perfect» – фраза-«звоночек». Маркер менеджера-самодура, ни имеющего ни малейшего понятия о том, как работает браузер и замеряющего качество работы попиксельным (с зумом!) сравнением PSD макета и HTML страницы. Попытки объяснить разницу между рендерингом шрифта в фотошопе и в браузере, обычно, воспринимаются как «споры вместо работы». Избегайте «попиксельных» вакансий всеми силами.

Верстальщик всегда дорабатывает за дизайнером. Веб-программист всегда дорабатывает за верстальщиком. Соседние пары в этой цепочке почти всегда недолюбливают друг-друга по этой причине.

Иван не только знает всё о профессиях из этой статьи, но и поможет их освоить, составить правильное резюме и подготовиться к собеседованию. Записаться

FrontEnd Designer / Web Designer

Синонимы: веб-дизайнер

Самизнаетекто™. От специалиста требуется знание визуального дизайна (возможно, дизайна интерфейсов), знание типографики, владение Photoshop. Знание JS, обычно, не требуется.

На западном рынке, дизайнеры обычно занимаются и вёрсткой. Во-первых современная вёрстка, с учётом респонсив- и адаптив- приставок и анимаций посредственно описывается статической картинкой. Вы часто видели дизайнера показывающего анимацию и мобильную версию? Я тоже. Обычно, их возможности ограничиваются выбором из библиотечных анимаций (подобранных программистом!). Во-вторых (но по той же причине), настоящему специалисту часто оказывается проще сделать дизайн сразу в виде вёрстки. Зачем делать работу X + Y, если можно обойтись Y?

На нашем рынке, ввиду технологического отставания, дизайнеры и верстальщики – разные люди.

Interface Developer / UI-UX Designer

Похоже на предыдущий вариант, но с упором на дизайн интеракций. Специалисты на этой должности, обычно, много общаются с программистами, с клиентами, с менеджерами, потом опять с программистами. По этой причине, желательно знание основ разработки ПО и коммуникативные навыки. Очень часто, вакансия также требует знания специфики мобильной разработки, т.к. двух UI/UX экспертов нанимают довольно редко. Имейте в виду, что по этому направлению сложно найти материал для самообучения, что может идти как в плюс (меньше конкуренция) так и в минус (сложнее освоить). Если же вы способны учиться на примерах – проблем быть не должно.

Mobile / Tablet FrontEnd Developer

Должность для разработчика, специализирующегося на мобильных устройствах. Требуется знание специфики платформ IOS и Android. React Native – современный вариант этой специализации, позволяющий использовать веб-технологии для создания нативных приложений. Хинт: веб-приложения, гибридные приложения, нативные приложения и нативные приложения на веб-технологиях – это всё разные вещи.

FrontEnd Developer / Engineer

Синонимы: фронтендщик, фронтенд-разработчик

Обобщённое название должности для разработчика, владеющего HTML / JS / CSS. Обычно встречается в небольших компаниях, где на одного человека возлагается широкий спектр задач. Знание дизайна, вероятно, не требуется, но будет идти как бонус. В современных условиях, всё чаще заменяется на титул конкретной технологии: jQuery Developer, Backbone Developer, React Developer, Angular Developer. Умения программировать и верстать входят в пакет требований.

JS Developer / FrontEnd Programmer

Синонимы: JS разработчик* / JS программист

То же, что и предыдущее, с большим упором на программирование и меньшим на вёрстку и дизайн. Вообще, термин Developer (Engineer в меньшей степени) вместо Programmer, может означать что программирования будет меньше, а «всякой всячины» – больше. Кроме случаев, когда язык программирования указан явно (JS developer

JS Developer может означать и FullStack (см. ниже). В этом случае, компания, вероятно, планирует определиться с вашей специализацией позже – когда будут ясны ваши сильные и слабые стороны. Или же когда иные рабочие места распределятся. Поэтому, JS Developer почти всегда идёт в паре с Junior или Senior / Middle.

FrontEnd SEO expert

Редкая должность, на которой требуется оптимизировать HTML код согласно требованиям и пожеланиям поисковых систем (Google / Yandex). Специфические знания: микро-форматы, микро-разметка. Учитывая, что SEO вымирает и заменяется классическим маркетингом – рекомендую избегать всего, что содержит данный акроним. Если поиск работы не ваше хобби, конечно.

FrontEnd Accessibility expert

Упор на оптимизацию сайта под специальные ридеры (например, для людей с ограниченным зрением). Исключительно редкая должность. Занесена в Красную книгу. Встречается только на крупных проектах.

FrontEnd Dev. Ops

Должность для специалиста по вопросам сборки, автоматизации, интеграции фронт-енд приложений. Встречается, преимущественно, в крупных компаниях, т.к. подразумевает довольно узкий спектр задач. Актуальные знания: Webpack / Gulp / Grunt. Со временем, у вас начнут спрашивать чем вы, собственно, занимаетесь.

FrontEnd Testing / QA

Должность для специалиста по тестированию / контролю качества фронтенд приложений. Встречается в крупных и средних компаниях. Актуальные знания: юнит-тесты, функциональные тесты, A/B тесты, ручное тестирование и автоматизация. Коммуникативные способности входят в список требований.

Многие люди ошибочно полагают, что «тестировщик» – более простая работа, чем «программист». Да, иногда встречаются вакансии где можно «кликать по ссылкам» и «составлять отчёты». Но это исключения.

Заставить Selenium NightmareJS гулять по приложению, создавая скриншоты и выполняя регресионные тесты не так уж и просто. Ведь это, по сути, фуллстек разработка. Работа ведётся сразу в нескольких средах (Electron + Chromium) и требует хороших фундаментальных знаний.

FullStack Developer / Engineer / Programmer

Должность для эксперта по полному стеку веб-технологий. Подразумевает понимание клиент-серверного взаимодействия, опыт работы с базами данных, знание асинхронного программирования и др. Выбор серьёзно настроенных людей.

FullStack делится на две категории: FullStack-JS и всё остальное. В первом случае, как несложно догадаться, на сервере и на клиенте используется JS. Во втором случае – на сервере используется Ruby / Python / PHP.

Для начинающих, чтобы не распыляться между разными языками и платформами, настоятельно рекомендую отдавать предпочтение первому варианту (по возможности). Учить сразу несколько языков – работа на износ.

FullStack JS предполагает использование феб-фреймворков на базе NodeJS. Это может быть монолитный фуллстек фреймворк (типа MeteorJS), реактивный бекенд с минималистичным клиентом (типа HorizonIO) или сборка из независимых библиотек (типа KoaJS + ReactJS). Все они имеют свои преимущества и недостатки.

FullStack JS часто используется в приложениях реального времени: чаты (а-ля Slack / Gitter), финансовые приложения (масштабируемость, PayPal. ), игровые сервера. Возможность пушить информацию на клиент (создавая риал-тайм) практически «из коробки» – основной двигатель роста этой технологии.

[Whatever] Architect

Высший градус классического программирования. Любая вакансия со словом Architect предполагает Senior специалиста и, вероятно, не представляет интереса в краткосрочной перспективе для вас, дорогой читатель.

[Whatever] Lead

Вакансии лида бывают очень разные. Сколько компаний – столько разных лидов. С другой стороны, этот тот случай, когда человек определяет место, а не место – человека. Для начинающих – интереса не представляет, т.к. Junior Lead – такой же нонсенс как Junior Architect.

NodeJS Developer / Backend JS Developer

JS бекендщик. «Великий и ужасный» NodeJS – что только не говорили по его поводу. Восхваления, обвинения в «хипстерстве» – было всё. Sapienti Sat. Работа предполагает знание асинхронного программирования, потоков, баз данных, REST API. Близко к FullStack JS (минус требования к знаниям вёрстки и дизайна).

Приглянулась профессия? Мы поможем подобрать ментора, который обучит основам профессии и поможет найти работу

Что выбрать

С моей точки зрения, учить стоит FullStack JS, даже если планируется работа по FrontEnd. Человек, не имеющий представления о том как работает сервер, – не сможет настроить даже сборку бандла. «Малоизвестный факт»: современный фронтенд собирается с помощью NodeJS, а пакеты инсталлируются через NPM (часть NodeJS экосистемы).

Знание бекенда на уровне:

  • умею развернуть простейший REST API
  • умею запускать NPM скрипты
  • умею инсталлировать зависимости
  • .

повысит шансы найти работу React или Angular разработчика на порядок.

Освоить NodeJS, по сути, проще чем браузер, т.к. среда NodeJS сравнительно проще. Плюс работа с файловой системой, минус тонны Web API и vendor-specific ерунды.

В общем и целом – учить нужно то, что интересно лично вам, не заморачиваясь на «востребованность» специализации. Рынок веб-разработки уже устоялся и баланс между спросом и предложением практически одинаков по всем имеющимся категориям. «По Angular много вакансий» – это ваша точка зрения. «По Angular много резюме» – точка зрения рекрутера.

При выборе направления, не гонитесь за простотой (пресловутый «ручной тестировщик»). Индийцы не дремлют, а зверски демпингуют. Все тренды показывают, что будущее за программированием, обоснованным теорией (функциональное программирование, статическая типизация) и математикой. Поинтересуйтесь числом вакансий по машинному обучению. Делайте ставки на долгосрочную перспективу. Ищите по слову «интерн», а не «джун». Интерн позволит вам увидеть команду в деле. Лучше «не подойти», чем увольняться через два месяца. Второе будет ломать вас психологически. «Найти работу в хорошей команде» – совсем не то же самое что «найти работу».

Рекрутеры не любят «любых» работников. Рассматривая вакансии начинающих, они ищут людей, которые уже определились с тем, чего хотят. Чем более точным и узконаправленным будет ваше резюме – тем больше у вас шансов. Ибо даже если вы найдёте «любую работу» – вашей следующей задачей будет поиск «лучшей работы». И когда вы планируете закончить с поиском и начать получать удовольствие от жизни?

Если математика не идёт – программирование не будет вам в радость. Рассказы про то, что математика в программировании не нужна распространяют безграмотные люди и неудачники. Программирование требует спокойствия, терпения и концентрации. Если вы неусидчивый человек – не надо. Есть десятки других высокооплачиваемых профессий, в которых вы лучше проявите себя.

Вёрстка требует невероятной усидчивости. Любите игру «Найди 10 отличий»? Тогда это для вас. Нет – не насилуйте себя.

Если ваше воображение не включается «по щелчку» – дизайн не для вас. Хороший дизайнер управляемо вызывает необходимые эмоции у себя и переносит их в визуальную форму. Если вы безэмоциональный человек – ваш дизайн будет мёртвым. Если у вас нет визуальной интуиции, нет врождённого чувства цвета и формы – вы не добьётесь успеха в этом направлении. Да, можно копипастить чужие идеи, втайне презирая себя за проф-непригодность, но зачем?

Найдите свои самые сильные стороны и сделайте ставку на них. Найдите свои самые слабые стороны и взвесьте – не помешают ли они в выбираемой профессии. Всё что «посрединке» – оставьте в покое.

Мы рассказываем, как стать более лучшим разработчиком, как поддерживать и эффективно применять свои навыки. Информация о вакансиях и акциях эксклюзивно для более чем 8000 подписчиков. Присоединяйся!

Добавить комментарий