Академический Документы
Профессиональный Документы
Культура Документы
100 000
90 000
70 000
50 000 vacancies
50 000
30 000
50 k 30% 1 mln
shortage of workers in 2017 shortage in 30 % of companies demand for programmers in 2020
Discover IT market 2
Who could imagine 15 years ago that software will be required not
only for computers, but for watches, fridges and cars. Who could
predict that IT knowledge will be used not only by Microsoft, but
by our Health Department? This, combined with how inviting
Polish market is for the foreign companies (qualified personnel
and lower business upkeeps) causes shortage of IT personnel.
Software must be created, developed, tested and maintained.
There is less and less specialists compared to demand, companies
have to find ways to find them and.. support them. Hence the
range of benefits :)
Top 8 positions in IT
Check who you can become after our course
1. BACK-END DEVELOPER
→→On this position you are responsible for the system part
of a website, application or a given system.
→→Back-end developer works on the layer invisible
to the user – data analysis, databases and content
import and export.
→→Java, C#, Ruby, PHP, Python + frameworks
(e.g. Spring, Laravel, Zend, Symphony, Ruby on Rails).
→→1700 – 3400 EUR gross value*
2. FRONT-END DEVELOPER
→→As a front-end developer you will be responsible for translating
the vision of graphic and system designers into readable and
functional code.
→→Your task will be creating the layer visible to the user
of a website, application or a tool and taking care
of their responsiveness.
→→Front-end developers with skills in graphic programs
(e.g. Adobe Photoshop) are also eagerly hired.
→→HTML, CSS, JavaScript + frameworks
(e.g. Bootstrap, jQuery, Angular, React).
→→1200 – 2900 EUR gross value*
3. FULLSTACK DEVELOPER
→→Fullstack developer is a person who smoothly navigates
between the frontend and backend technologies of the
project. They can be independently responsible for an entire
application (which is often the case in interactive agencies)
or be responsible for only one part – front or back.
→→Languages and frameworks required for frontend
and backend.
→→1900 – 3400 EUR gross value*
4. QA MANUAL TESTER
→→Conducts manual application tests.
→→Manual testers puts themselves in the user’s shoes.
They check the app for bugs and its compliance with
previously accepted specification.
→→Knowledge in writing documentation is required, knowledge
of programming languages or databases is an advantage
and facilitation.
→→750 – 1650 PLN gross value*
Discover IT market 4
5. QA AUTOMATION TESTER
→→Does not conduct manual tests but writes a simple program
which does it for him automatically.
→→Automation tester needs to know at least one programming
language for writing the test code. This can be e.g. Java, C#,
PHP, JavaScript, C++ or Python.
→→900 – 2300 EUR gross value*
6. DATA ANALYST
→→A person responsible for data management and analysis.
They draw conclusions that significantly influence the devel-
opment of a project and counteract potential threats.
→→You have to be patient, pay attention to details and have
analytical skills. Knowledge of Excel, given technologies and
mathematical brain are the basics. You will also operate on
analytical tools (e.g. SPSS or R)
→→900 – 3500 EUR gross value*
7. IT PROJECT MANAGER
→→A person on this position combines leadership skills with
technical knowledge. Project manager familiar to the speci-
ficity of the team’s work better understands its needs and can
allocate tasks properly.
→→IT Project manager is also a link between a client and IT world
which is why they need to have an idea about technologies
applied by their team.
→→Interpersonal and organizational skills, analytical brain, famil-
iarity with IT sector and knowledge of particular technologies
– these are the required traits of a proper IT project manager.
→→900 – 3800 EUR gross value*
8. HELPDESK SPECIALIST
→→The front-line technical support. Accepts product defects
reports from company clients and keeps records of these
problems. Is able to remove minor problems and system
faults by themselves.
→→Helpdesk specialist has to be comfortable in direct
contact with people. Patience and composure are
the most valued traits.
→→Person on this position helps to solve problems, thus
knowledge in IT and technologies applied in the
projects is essential.
→→700 – 1500 EUR gross value*
* According to www.wynagrodzenia.pl
5 Jet Pack Book
And benefits? Multisport card, private medical care, coffee, tea, in-
tegrations, meetings, fruit and so on… Working is sheer pleasure!
Joanna Murawska,
graduate of Frontend Developer + Java OCA course
In addition to the course you are taking part in we have a gift for
you – Jet Pack, which will make your introduction to IT easier.
What’s in it?
Having finished the course one can trustfully give oneself up to the
SDA specialists. I received all essential tools necessary to vigor-
ously enter the job market. HR Class is what I valued the most – it
opened my eyes to certain regularities that the IT recruitment pro-
cesses are governed by. I got advice and help on working on my
CV and it really delights the recruiters, which is why I keep sending
these to the world with pride.
I receive support from SDA even after the course is over. Free
access to SDA library, industry news or just an average “Hi, how
are you doing?”. I am still in touch with other graduates, but also
the SDA team members and programming mentors. It’s great to
talk to the former mentor as with a fellow programmer and ex-
change experiences. SDA makes it possible to reach an enormous
number of partner companies looking for new developers. In fact,
it’s enough to have a strong will and choose the first employer – it
is more than certain that getting in touch with them will be made
possible. Mentors were entirely professional. Knowledge acquired
during the course and a chance to meet people is priceless and
worth any money.
Joanna Murawska,
graduate of Frontend Developer + Java OCA course
Stay open minded and stay in touch with us! Our JetPack is
evolved on daily basis so be ready for new benefits to come!
9 Jet Pack Book
Job search
preparations
check&protips
E-MAIL CONTENT CAN BE DIVIDED INTO:
CV, LinkedIn and portfolio are your showcase and a pass to
a job interview. They increase your chances for finding a job. 1. Salutation – formal (Dear Sir/Madam) or informal (Hi! or Dear
Take a moment to look objectively at yourself as a candidate. Team). Check if your message will be sent to a particular person
– if yes, use their name saying hi.
Think about your former career path – where do you want to
be in a few years? It is vital that you have a plan for yourself. 2. Reference to a job announcement – what position are you
Determine your strengths and weaknesses – both in soft skills applying for, where did you find the job posting or how did you
and practical knowledge. Finally, ask yourself – what is it that find out about the company.
you want to be doing in your life. And then – start doing it.
3. A few words on motivation – maximum 3 sentences expla-
ining why are you the right candidate. Emphasize your skills and
traits of character relevant to the position.
INTRODUCTION – AN E-MAIL TO AN IT RECRUITER 4. Link to portfolio – the most popular space for code presenta-
tion is GitHub.
Sending your CV attached to an empty e-mail is like handing a
gift without a nice wrap. You can do it, but somehow you know, 5. Note on attached documents – it is good to mention the
you shouldn’t, don’t you? Recruiters quickly conclude that if attached documents in order to prevent the recruiter from
you did not bother to write a few sentences about yourself, you missing them.
cannot be very interested in getting a job.
6. Call to action – the final sentence provoking reaction.
What about cover letter? It is rarely practiced in IT – often too In this case focus on encouraging the recruiter to review your
long, copy-pasted from the internet, which in result brings no CV and portfolio and as a result – assess your application as
value to the candidates profile. If there is no indication to add worth attention and invite you to the interview.
a cover letter to job application, a well-written e-mail will be
perfectly fine.
1. Subject line – short and concise. Name the position you are
applying for. It is good to add your name and surname.
Examples:
→→Application for Junior Java Developer
→→Ambitious Junior Java Developer
→→Name_Surname – Junior Java Developer
CLASSIC, FORMAL
Dear Sir/Madam,
Yours faithfully,
CV
2. Be bold! – at the beginning of IT career you have no impres-
We are ready with content, so let us proceed to the attached sive achievements yet. This is why you have to focus on other
document – what should it look like? things confirming your competence: courses, projects,
technical skills.
ONE, TWO, THREE!
3. Be open! – PDF is the most reliable document format which
1. Be concise! – one, well planned page is enough. All informa- will do well on every computer. Remember to add a statement
tion should be presented in a functional and aesthetic manner. of consent to the processing of personal data. You will find it
Use keywords – preferably make them bold. Make a template in below – it is vital for your CV to be considered in the recruitment
MS Word or use an on-line tool (e.g. Canva). process!
#Information #Edukacja
Address:
02–03/2017 Took part in contest „Daj się poznać”
Date of
birth:
Phone:
06/2017–01/2018 Software Development Academy
E-mail:
– Szkolenie Java od podstaw
#Interests
Dancing 03/2013–05/2015
Floorball
New Technologies
Hobbies Board Games
History of Fashion 01/2012–10/2012
1996–2010
I hereby give consent for my personal data included in my application to be processed for the purposes of the
recruitment process under the Personal Data Protection Act as of 29 August 1997, consolidated text: Journal of Laws
2016, item 922 as amended.
Preparations to looking for the job 12
1. Summary – introduce yourself in two sentences. Tough one? PRIDE IN SDA COURSE!
Imagine meeting an IT recruiter on a job fair – what would you
tell them? Software Development Academy course is probably your core
source of programming knowledge. Get as much as you can
2. Courses & description – this is what makes your CV interest- from this experience and show your future employer what was
ing even with no professional education or commercial experi- your learning path!
ence. Place information about completed courses at the top of
your CV, right under the summary. Provide course details:
→→the name of the Academy,
3. Technologies & evaluation – tell about the languages and →→the name of completed course,
technologies that you know, what are you learning right now, →→number of course hours,
how do you assess your skills. →→scope of technologies taught,
→→if possible – describe your project in a few words
4. Experience & responsibilities – present your former work- and provide the link to your repository
places, your responsibilities and main tasks. Don’t go for
empty phrases but real and valuable information highlighting
your strengths.
IT COURSE
CHECK!
Software Development Academy
IF YOU PUT A TICK NEXT TO EACH OF THE POINTS BELOW,
Java Course Attendant
YOU CAN BE SURE YOUR CV IS READY!
2016–2017
Languages level;
Source code available on my github profile. A statement of consent to the processing of personal data!
13 Jet Pack Book
LinkedIn
For majority of recruiters Linkedin profile is must! Fill in your
profile with as many details as possible. Remember to personal-
ize your URL – the default URL is a random sequence of symbols
which should be replaced with your name and surname.
An elegant link can also be placed in your CV.
Added skills;
Completed projects;
→→ STEP 1
Search for IT recruiters from your area. You can find them by
phrase „recruiter IT”, „rekruter IT” lub „HR Manager” from the
IT company.
→→ STEP 2
Press „Send Message”
Remember
You can send invitation without any message. It is still better
if you click „add note” and write your expectations towards
the recruiter.
You can also write that you just want to add him to your contact
network and that you hope that you will be able to work with
him one day. Who knows? :)
→→ STEP 3
Maintain your relationships with recruiters. Just talk with them
or respond to their announcements which are posted on their
profiles on LinkedIn.
15 Jet Pack Book
2. FACEBOOK GROUPS
5. CAREER TABS
Fast, direct, with high amounts of adverts and for free. That’s
exactly why they are so popular both among programmers All bigger companies have their own tabs
and recruiters that make they ads public! (or even websites) Career.
Start from the two following groups, but be sure There you can learn about how the company works, its benefits
to discover more! and whether they plan open recruitments (some of them will
not appear on message boards).
Keep an eye on this tabs, and if you are unable to find position
for you – companies leave a place to send your CV with promise
of contact after position suitable for you becomes available.
3. IT EVENTS
Such events can take many forms - job fairs, huge conference or
even small gathering of certain technology fans.
During those you can often listen to Tech lectures or meet face to
face with people recruiting programmers.
4. IT MESSAGE BOARDS
www.stackoverflow.com,
www.codecall.net,
www.codeproject.com are places that you need
to observe regularly!
Preparations to looking for the job 16
gentle smile
punctuality
firm handshake
energy
enthusiasm
17 Jet Pack Book
5. What is transactionality?
→→Transaction – a permanent operation on data, which we
treat as one inseparable whole. It preserves the consistency
of these data - if any logical conditions are imposed on them,
they must be executed both before and after the transaction.
Transactions are carried out in mutual exclusion (i.e. individu-
ally, in the right order).
Preparations to looking for the job 20
ANDROID
1. List the components available in the Android system and
describe each of them:
→→ Activity – is the point of interaction between the application
and the user. It represents a single screen in the user interface.
→→ Service –is a component used when the task needs to be
run in the background, regardless of the user interface of the
application, e.g. playing music, updating location, download-
ing a file. In contrast to Activity, Service does not have a user
interface and can work even when the activity is removed
21 Jet Pack Book
5. What is hoisting?
→→In JavaScript, functions and variables are hoisted. Hoisting is
the JavaScript interpreter's action of moving all variable and
function declarations to the top of the current scope. Howe-
ver, only the actual declarations are hoisted. Any assignments
are left where they are.
2. What is AJAX?
→→It is set of techniques used to create web apps, thanks to
which client can send and receive requests from the server in
asynchronous way, without overloading the page. This tech-
nology is a combination of following minor technologies:
→→XMLHttpRequest
→→JavaScript
→→XML (currently most often JSON) PYTHON
→→HTML
→→CSS 1. Is Python an intepreter language?
→→Thanks to that approach we can match downloaded data →→Python is an intepreter language which means that it is
to the actions of the user (just like the Facebook board, it not compiled, but is stored as source code and only after
is downloading data while scrolling). running it is loaded, interpreted and executed byt the
language intepreter.
3. What is recursion?
→→Recursion in computer science is a method of solving 2. What are "decorators"?
a problem where the solution depends on solutions to smaller →→Decorator is a function that takes another function and
instances of the same problem. The approach can be applied extends the behavior of the latter function without explicitly
to many types of problems, and recursion is one of the central modifying it.
ideas of computer science.
3. Provide complex data types in Python
4. Give at least 2 examples of clearing the table in →→tuple – short
JavaScript. Methods are beneath: →→list – list
→→set – collection
arrayList = []; →→dict - library
7. How to copy an object in Python? session engine) on the disk, in a database, in redis, etc.
→→You can use copy function copy() or copy.deepcopy(). You →→ As the script stops running, data is saved under a properly
cannot copy all of the objects in memory though, just most prepared session identifier. The identifier is passed to the
of them. client application (e.g. in the form of a cookie). In the next re-
quest, the identifier is passed back to the server, which raises
8. What are the modules and packages? data e.g. from the disk and reads into the variable $ _SESSION,
→→A module is a Python object with arbitrarily named attributes thus giving them access to the scripts.
that you can bind and reference. Simply, a module is a file →→ We create a session using the session_start () command. Data
consisting of Python code. A module can define functions, modification is performed by manipulating elements of the
classes and variables. A module can also include runnable $ _SESSION array. We remove / destroy the session using the
code. Its namespace is available as global variable __name__. session_destroy () function.
→→Package is a collection of modules.
→→Every package is a directory of modules containing additional
_init_.py file, to distinguish package from simple directory MOREOVER, TECHNICAL SPECIALIST CAN CHECK YOUR
with some Python scripts. RESISTANCE TO STRESS, THE WAY YOU THINK OR WORK, BY
ASKING YOU ADDITIONAL QUESTIONS NOT RELATED TO ANY
PARTICULAR TECHNOLOGIES:
→→4. What are the working hours? Are they fixed or flexible? Is
home-office accepted?
CHECK!
Get acquainted with the website and projects
of the company;
Read once again the job offer you are applying for;
Joanna Murawska,
graduate of Frontend developer + Java OCA courses
Above all, one should write a lot of applications. Not only code
in free time but create a few apps from scratch. It is much better
than gouging in one project for a long time because we learn
faster and memorize better those things, which we do once and
then forget (like building the network layer of an app). With each
application it can be done better, in a more elegant and thought-
ful way, applying new design patterns, technologies or libraries.
It is also worthwhile to attend industry events! An incredible
opportunity to learn the ins and outs of IT, the technologies and
trends applied in other companies. And apart from that, we will
find inspirations as to our future direction for self-development.
BACK-END nose
doctest
py.test Pyramid
Sinatra Pip
unittest/pyUnit Flask
Ruby on Rails RSpec RubyGems
Package Manager
Django
Framework Testing Package Manager Testing Sync
Frameworks
ByeBug Ruby Python
Async Sonic
Tornado
Composer
Node.js
Package Manager gevent
Slim
Caddy Mockery
Lumen
Apache
Web Server
Silex
Nginx
Restful Apis
Security
Go
GraphQL
Docker Coaching
Memcached
Storage Redis
Solr ElasticSearch
Relational Databases
PostgreSQL
NoSQL Databases
Search Engines
MariaDB
GOF Design Patterns
Redis MySQL
Architectural Patterns
MongoDB MSSQL
Give DDD a shot
Cassandra
Learn different testing techniques
RethinkDB
Couchbase
Finish
27 Jet Pack Book
There are two vital things: one is practice, that is, persistent
self-work and putting into life ideas/projects which will help you
solidify your knowledge acquired during the course; and second
is regular contact with people from IT environment. Take part in
conferences, meetups – this is not only a large dose of knowledge
but also inspiration for further development.
Conferences
SEE WHERE TO GO TO GET NEW KNOWLEDGE,
MEET INSPIRING PEOPLE AND BE UP TO DATE.
Confitura – Warszawa
http://2017.confitura.pl/
The largest polish conference for JAVA enthusiasts in Poland.
This is where you can share knowledge and acquire knowledge.
Entrance is free, but one may make a donation to charity.
DevCrowd – Szczecin
http://devcrowd.pl/
DevCrowd is an open and free conference for specialists and
passionates from the IT sector. The most attention is paid to
JAVA-related topics.
code::dive – Wrocław
http://codedive.pl/
Code :: dive to coroczne wydarzenie gromadzące specjalistów
IT i entuzjastów programowania, którzy dzielą się nowymi
pomysłami, dyskutują o bieżących trendach i wymieniają się
doświadczeniami.
DevConf – Kraków
http://devconf.pl/
DevConf is one of the biggest annual conferences on software
development in Poland. Numerous inspiring conversations,
live-programming sessions and networking guaranteed.
Vue.comf – Wrocław
https://conf.vuejs.org/
The first official conference on Vues.js framework in the world
started in Poland! You will hear interesting stories, discussions,
lectures, and maybe you will even high five Evan You –
– the creator of this tool!
Kariera IT – Wrocław, Łódź, Gdańsk, Warszawa, Katowice,
InfoShare - Gdańsk Kraków, Poznań, Rzeszów, Białystok
https://infoshare.pl/ Sign-up at: http://careercon.pl/
The biggest IT conference in the middle-eastern Europe A combination of a professional conference and a job fair –
organized in the capital of Pomerania. InfoShare puts focus on perfect idea to absorb knowledge and look for your professional
combining science, sharing knowledge on new technolgies and paradise on earth at the same time. You get a change to meet
creating an engaged society. new people, stay tuned with the latest tech developments,
consult your CV with a career adviser and personally talk to
potential employers – could it be better?
Riga
Vilnius
Gdańsk
Szczecin
Bydgoszcz Białystok
Toruń
Poznań
Warszawa
Łódź
Lublin
Wrocław
Katowice
Rzeszów
Kraków
Iasi
Cluj-Napoca
Timisoara
Bucharest
After the course 30
10 commands of a junior
EVERYTHING YOU WANTED TO KNOW BEFORE STARTING YOUR ADVENTURE WITH IT,
BUT YOU’RE NOT AWARE OF THIS YET...
Joanna Murawska
If you have already searched
Google backwards and forwards
4. Joanna Murawska 9. in pursuit for an answers to a
Read „Clean Code” by Robert mind-bogging question, this is
C Martin. Do it for yourself and when you ask someone, who
for those you will be working probably knows it. Do not waste
with. time! Yours and the client’s who
pays you. Decide to look for an
answer for maximum one hour. If
it doesn’t solve your problem – ask
someone!
IT Dictionary
PARTICULARLY USEFUL DEFINITIONS WHEN JUST STARTING YOUR IT CAREER.
Abstraction – it takes place when, for some time, we hide Hook – a mechanism that intercepts messages and allows, for
features in the code that we currently do not need to solve the example, to efficiently remove bugs in the code.
problem.
Compiler – software that allows you to translate code from
Agregat – Aggregate – general notion of any object (class, table, one programming language into a similar code in a different
container), which can contain multiple components. technology.
Anti–pattern – an imperfect solution to a problem, which – if Open source – open software, legally available and free of
overused – becomes a mistake. Exemplary anti–patterns are, charge for each user.
i.a.: non–uniform, unreadable code (so–called ‘spaghetti code’),
applying unnecessary complexity of code (accidental complexi- Overloading – creation of several functions with the same
ty) or interception of an error message so that the user does not names but different parameters.
see it (error hiding).
Repository (SCM – source code management) – is a place in
API (application programming interface) – a set of public interfa- a virtual space where we can save and store the code of our
ces that we can use when working on our own project. project. Thanks to SCM, we have access to the history of changes
and previous versions of the code (revision).
Backup – backup data (eg applications, files or databases). It is
worth creating them as often as possible to avoid the unple- Responsiveness – a feature that describes the capacity of a
asant surprise – infecting files or their losses due to failure. website or an application to adapt to, e.g. its display mode. The
responsive website will be both aesthetic and functional on the
Library – is a file that provides data to be used in our source laptop screen, as well as on a smartphone or tablet.
code. Thanks to this solution, we do not have to write code
fragments that have already exist, but we can use ready made Server – a type of computer that connects other computers
libraries instead. connected to the network and makes their resources available
to each other. On the servers there are, i.a. WWW pages, we can
Bug – an error which disables our application from working cor- also store files there.
rectly. They are found by programmers themselves, by testers
and by the users. Software – computer software installed onto computer hardwa-
re. The software includes, e.g. various types of text and image
Cloud – is a virtual place where users can store their files under editors, players, operating systems and games.
certain conditions. Thanks to this solution, all you need is an
internet connection to access your data from anywhere in the Ticket / issue – notification of a bug sent by the user or some
world. task to be performed. Thanks to this, we know what the bug is
and where it is located.
CMS – it is an easy–to–use software that has been based on re-
ady–made templates to facilitate the management of websites. UI (user interface) – is the graphical part of our application, i.e.
The best known CMS systems are Wordpress, Drupal everything that can be seen by the user. Thanks to UI, we can
and Joomla. aesthetically and conveniently communicate with the system
of our application or website. UI is closely related to front end
DNS – this is a domain name system that translates the domain development.
name into its unique numeric address, better known as IP.
UX (user experience) – it's all the emotions and impressions
Domain – this is the address or name of the given website. Each experienced by the user of our application. It is worth being
has a unique middle part and a repeatable end (e.g. com or pl). aware of them, because they can influence the improvement
of our project and make it more functional (user friendly). UX
Framework – a library that provides a set of functionalities and allows us to assess whether the application is convenient, un-
on which we base our application. It imposes a certain style or derstandable for the user and facilitates specific activities.
convention and its substitution in the project is associated with
a large amount of work, because the code in a given framework Unit tests – tests written by developers that check functionality
is written in a unique way. based on a small fragments of code. They are created and run
during the code creation process in order to check whether the
Hardware – "physical" computer equipment, such as drive, recently introduced changes have not spoiled or overwritten any
processor, graphics card or motherboard. introduced function.
After the course 32
Time Capsule
FINALLY, COMPLETE YOUR TIME CAPSULE – RETURN TO IT AT THE END OF THE COURSE
AND SEE WHAT YOU HAVE ACHIEVED!