Вы находитесь на странице: 1из 32

1 Jet Pack Book

Explore the IT market


IT is now the most employee-oriented branch of all. This is
no surprise, taking into consideration that today every device
needs an operating system and there are not enough specialists
to do all the work.

The predictions are really impressive!

Until 2020 the world will be short of 1 million developers

Similarly, employers located in our country already miss


roughly 50 thousand employees specialized in new technologies.
There is a deficit in almost 30% of companies!
And despite all efforts, this number is still growing.

Information Technology is a common faculty, available in the


offer of over 120 Polish universities and colleges, however
in 2016 barely 26 thousand students made this faculty their
choice. The vast majority of developers learn on their own or
benefit from a wide range of programming bootcamps.

In Software Development Academy we believe that an


intense course is the most effective way to enter the IT sector.
Soon you will see it with your own eyes :)

100 000

90 000

70 000
50 000 vacancies

50 000

30 000

2016 2017 2018 2019

chart for supply and demand for programmers supply demand

50 k 30% 1 mln
shortage of workers in 2017 shortage in 30 % of companies demand for programmers in 2020
Discover IT market 2

Few words about IT branch

One thing is to recruit a programmer, another- to make him stay


in the company. Organizations compete as crazy in creating
attractive benefits and a friendly workplace, but what keeps
programmers the most attached to the company for a long time
are interesting projects, development opportunities consistent
with their aspirations, a team in which they feel good and
a competent supervisor.

Kamila Ożga, Recruitment Specialist in Jeppesen

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 :)

Martyna Broda, Talent Acquisition Manager in SDA

In the IT sector special attention is paid to workplace conditions


and maintaining work-life balance which is why employees
can expect numerous non-financial amenities and benefits.
Our specialists in Sapiens value flexibility, so they can start their
work between 7 and 10 am, as well as co-financing for language
courses, access to technical trainings, private medical care,
sports package, fruits and snacks in the office.

Barbara Łuchniak, Recruitment Specialist


in Sapiens Software Solution

It is hard to imagine a more employee-favorable IT sector.


The companies outrace each other in offering not only high salaries
but also numerous benefits. Private medical care or sport clubs
member cards are a standard in IT. One may also be offered fuel
co-financing, fruit or vegetable days, individual training budgets,
relocation financing and many other benefits which are to tempt
a candidate into a particular workplace. However, what one should
focus above all on self-development possibilities (projects, expert
teams). Choose these workplaces which allow for using the potential
and knowledge you already have and make you grow in competence
every single day.

Małgorzata Wasilewska, Personal Director in Yameo


3 Jet Pack Book

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

A day in life of a programmer


Have you been wondering what a regular day in IT looks like?
Our graduates will share their impressions with you. It is a great
opportunity to imagine where you can be in a few months!

Currently I work for Avid Technology in Szczecin as Junior Developer.


I was hired 3 months after the commencement of our course, with
no prior experience in IT. My job is above all programming in JAVA.
I took a risky decision on shifting the branch and I have to say –
– it was worth it! The insatiable IT market is very favorable for pro-
grammers, working conditions are highly satisfying and additional
benefits show that the employers care for their employees. Private
medical care, sport card, Pizza Day – these are only some.
I am surrounded by friendly and helpful people. They are
programming enthusiasts, just like me.

Łukasz Michalak, graduate of JAVA for beginners

I work in a software house as an iOS developer and sometimes


I join the Android team if needed. In my case shifting into pro-
gramming turned out to be a bulls’-eye. Working as a program-
mer gives me immense opportunities for development and after
one year I am still happy as a child when I can use new technol-
ogies or design patterns in my project. On a daily basis, my work
is about making changes to our mobile applications - from small
fixes to the implementation of new modules, functionalities and
general refactoring. Writing code gives great satisfaction, espe-
cially when you manage to write something particularly elegant.

Daniel Płachta, graduate of Java+Android course

Currently I work for Tooploox – a company that has become my


second family. As I reach the office in Wroclaw, I begin my day
Currently I work for Tooploox – a company that has become my
second family. As I reach the office in Wroclaw, I begin my day
with a morning coffee. I work full time, which is 8 hours. I have an
amazing team which understands what a „junior” is – they help
me learn, support me with numerous advice, check and describe
my code if they have any comments. My work is challenging as
I have to (and want to) constantly learn something new but my
working conditions can only be described as comfort and conven-
ience (oh, this flexible hours and home office!). We code in Kotlin
for Android. The company does not spare on us – they invest in
our trainings, trips, conferences and our external events. There
is a wide range of possibilities to pick out from.

Adrian Borysionek, graduate of Java + Android course


Discover IT market 6

I work in an international corporation as Junior Java Developer.


My job is mainly developing an application for an external client.
I perform tasks that are allocated to me adequately to my skills.
When I have a problem, I can turn to anyone. I always get a
comprehensive answer and help. Of course, going together for
coffee breaks, lunches or daily joking complete the whole, which
simply makes me feel good at my workplace :) I don’t have to rush
to reach work 8 am sharp, I also enjoy flexible working hours.
I am not stressed in the morning that I will be late. If there’s traffic
jam, instead of getting angry and looking for a plan B, I play my
favorite playlist and slowly head to work

I also know that in IT there is no limit to knowledge and skills and


always there something new to learn the next day. When I realize
that the next 40 years of my life will be in programming I think „so
many exciting things to learn and so little time…”

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

I work in Sii on pharmaceutical project for Roche. Currently my


main task is continuous learning. I am getting acquainted with an
application maintained by our team and over time I get more and
more challenging tasks. As a part of work I also have to acquire
theoretical knowledge on JAVA and the applied frameworks.
There is a number of people involved in the project, not only from
Poland, which makes it a great opportunity to try oneself in inter-
national environment. My willingness to learn and try new things
is very appreciated. An unquestionable advantage is flexible
working hours and the possibility of working from practically any
place, especially from home ? Of course apart from work, there
is some room for fun as well. As our company organizes various
parties and events there in space for boredom. Additionally, Sii
ensures language, technical and business courses, co financing
for employees’ passions and charitable activities. Private medical
care and typical employees benefits are rather a standard. De-
spite Sii is among the biggest IT companies in Poland there is no
typical „corpo” atmosphere – just the opposite, it is friendly and
conducive to self development.

Piotr Andrzejak, graduate of Java+Android course


7 Jet Pack Book

During the course


In Software Development Academy we support you in a num-
ber of ways – in substantive preparation for the profession, as
well as soft skills improvement. We offer you a unique chance
to learn new technologies, work on your professional CV,
get a glimpse into Linkedin or even participate in an
IT interview simulation!

There is an amazing Graduate Success Manager in SDA who


will tell you all about the most common CV mistakes and inter-
view fails which can easily be avoided. She will also introduce
you to the world of IT recruitment (trust me – there’s enough
material to keep talking and talking for three days…).
Besides, after the course we received tickets for our first
programming conference.

Adrian Borysionek, graduate of Java + Android 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?

HR CLASS – video meeting with IT HR specialists. A set of


specific tips on how to create your first IT-oriented CV, where
to look for a job and how to behave during a job interview.
3.5 hrs of condense, practical knowledge.
No room for yawning!

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.

Daniel Płachta, graduate of Java+Android course


W trakcie kursu 8

SDA LIBRARY and other products dedicated to our course


participants and graduates. We offer you various bene-
fits – free access to SDA library, which grows in valuable
content every month, as well as discounts for JAVA Oracle
certification! Our partners base is constantly growing and
you will be granted new benefits both during and
after the course.

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.

Piotr Andrzejak, graduate of Java+Android course

Another vital point of the course is an IT Interview – simulation


of a professional job interview with one of our programming
mentors. Excellent opportunity to overcome nerves and experi-
ence the vibe of an IT recruitment process.

No buttering up – if it was not for SDA and kindness of a few guys,


I would have never been where I am now. I came to them out of
nowhere; with no word on programming in my CV. Poor candidate
for a course but my determination was noticed and I got accepted.
It was increeeedibly tough! I started the internship but did not get
a contract afterwards. I turned to SDA and to my great surprise
we started talking on CV improvement and Linkedin account right
away. In less than a month they came back to me offering another
JAVA course and 4 months internship – I AM IN. This is how I got to
the company I still work for today. I was totally taken care of by SDA
since we have met.

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.

WHAT SHOULD YOU WRITE IN THE E-MAIL?

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

2. Content – before you begin, check company’s website and


social media communication style and adjust to it – be either
more or less formal.
Preparations to looking for the job 10

CLASSIC, FORMAL

Dear Sir/Madam,

In reference to a job posting for Junior Java Developer on


[…website…] I would like to submit my resume for your
consideration.

I am ambitious and looking for possibilities to develop my


knowledge in Java and related technologies. I would like to
participate with full commitment in the company’s projects
development, improving my skills at the same time.

Please find a few of my projects – i.a. a project of a web ap-


plication for the hearing-impaired and a mobile application
for the disabled – under the following link:
github.com/name_surname.

Attached, please find my resumee. I look forward to hearing


from you.

Yours faithfully,

[full name or e-mail signature]

INFORMAL, ADJUSTED TO LOOSE


ORGANIZATIONAL CULTURE

Hi, [company name]!

I am more than happy to apply for the position of [name of


position] described in this job posting: [link].
I could not help but feel that I am a made for your team and
your team is made for me! It would be a sheer pleasure to
work with you.

Please find my CV attached. Looking forward to hearing


from you!

Have a great day,

[full name or e-mail signature]


11 Jet Pack Book

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!

"What if I have 10 years experience in another branch. Should I


write about it?"
I hereby give consent for my personal data included in my
application for the position of [position you are applying for] at
We bet you should! :) [company’s name] with registered office in [company’s address]
to be processed for the purposes of the recruitment process
In this case devote the first page to information on your IT under Art. 23 par. 1.1 of the Personal Data Protection Act as of 29
experience (concise “about” section, course description, August 1997, consolidated text: Journal of Laws 2016, item 922 as
acquired skills and technologies, project presentation). Other amended and under Art. 6 ust.1 lit. a of Regulation (EU) 2016/679
experiences can be presented on the second page. of the European Parliament and of the Council of 27 April 2016.

MUST HAVE (TO WRITE)


You cannot forget about these elements –
it’s the backbone of you as a candidate!
Jan Kowalski
Position Junior Java Developer

Beginner, but full of zeal JAVA Developer, looking for opportunities


Summary for growth. Completed the course „Java od Podstaw”, completed first
project and would be happy to talk about it during interview.

#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

Courses Training focused on programming in


#Skills JAVA language. Mastered technologies:
& description Technologies:
HTML
Final Project:
CSS
Used Technologies:
Technologies JavaScript
jQuery
Source code available on my GitHub
& evaluation Bootstrap
GIT account
Scrum / Agile
Features: #Experience
Experience Social
Capable at working with team 02/2017 – current
& responsibilities
#Foreign Languages 06-09/2016

Languages & level English


German
B2
A1
05/2015

#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.

5. Languages & level – remember to define the level in


a universal international scale (A1-C2). This will make it easier
to verify your skills.

6. Hobbies – don’t make your passions sound too casual.


Are you interested in movies? Specify which genres excite
you the most and how you develop your interests!

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

Programming cours focused around Position;


Java programming language.
Brief summary (2 - 3 sentences);
Technologies involved:
• HTML – CSS – JavaScript Technical skills;
• MySQL
• Java 8SE – Java 7EE Experience and education presented chronologically;
• Maven
• Hibernate 5 – Spring 4 (Core, Data, MVC)

SDA course with a short description


Course project: (which technologies have you learned?);

Short, concise description of responsibilities;


Technologies used:
Repository link (e.g. GitHub);

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.

WHAT INFORMATION SHOULD YOU PROVIDE


IN YOUR LINKEDIN PROFILE?

1. Photo – no holiday or group pictures allowed. Go for high


quality and light, natural background. Present yourself as open
and likable. Smile gently and dress up with taste.

2. Headline – write in a few words what you are doing at pres-


ent. Use precise phrases and keywords.

3. Professional summary – elaborate on your headline in a few


sentences. Write about your goals, motivations and what you
are occupied with. If you have a properly written summary in
your CV, just copy-paste it to your Linkedin profile.

4. Experience – present your former experience. Even if it was


not related to IT it is valuable to show you did not just sit idly by.
Show the scope of your responsibilities using measurable data.

5. Skills – add a few skills crucial to your new position in IT –


both soft and typically technical. Your friends, employers or
programming mentors from SDA course will have a possibility to
confirm your skills later on.

6. Recommendations – here you can put a few nice words from


your former employers, team members or course trainers. Ask
for recommendations those whose opinion is important to you.
Do not use ready made templates – try to suggest those skills or
traits which you especially need to be emphasized.

7. Projects, awards, volunteering – prove that you do not


stand still but deepen your knowledge all the time. Present
Software Development Academy course and your final project.
CHECK!
8. Describe your course – you can do it in sections “education”
or “courses”. Remember about all information from the page 12. MAKE SURE YOU CAN PUT A TICK NEXT TO
THOSE POINTS:

Profile filled in with information from CV;

Added skills;

Completed projects;

Building up your network – invite recruiters to become


a part of it!

Collecting references – start with programming


mentors or other colleagues from your group.
Preparations to looking for the job 14

Where to look for a job?


YOU HAVE DONE YOUR CV, YOUR LINKEDIN PROFILE IS
READY. WHAT'S NEXT?
Remember!
1. USE LINKEDIN Even if the particular recruiter has no job offers for you
right now that doesn’t mean such thing will not happen
Are you aware that experienced programmers receive 1-2 job in near future.
offers every day thanks to LinkedIn?
On the contrary. The more experience you have, the higher
Sounds cool! But, just having LinkedIn profile as a beginner will the chance for a partnership!
actually not help you a lot. You have to use it and be careful not
forget about it. So what to do right now?
After adding few recruiters to your contact list, try to make them
What is Linkedin? It is an international social service, focusing notice you with some interesting posts.
on business level interactions. That means you can find there
recruiters, presidents, directors, or even founders of more That’s exactly what Łukasz did!
prominent brands!

Linkedin's manner is very open. In the end it’s purpose is to


make new business connections easier. So have no fear and
invite people from your trade, especially recruiters.

Steps which you should take:

→→ 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.

Remember! Search not only in the IT companies. After all banks,


logistic companies and other also have their own IT teams.

→→ 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

Amazing opportunity to meet people involved in the same field.


Both other programmers and recruiters.

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.

Remember that other programmers can be your pass too.


Just ask them to recommend you! If their companies employ
recruitment program, maybe they can earn prize for
recommending you. :)

WHERE TO LOOK FOR EVENTS?

One – On our map, which you can find on following websites.


Two – www.crossweb.pl
Three – www.meetup.com

Have fun and expand your social network!

4. IT MESSAGE BOARDS

There we will recommend you the largest IT message board,


both with substantive knowledge and job offers.

www.stackoverflow.com,
www.codecall.net,
www.codeproject.com are places that you need
to observe regularly!
Preparations to looking for the job 16

Smashed job interview!


Your first IT job interview can be stressful. Your knowledge of
technologies you want to work in and the soft skills required
for this position will probably be verified right away. Check
what you have to know before you crossed the threshold of
your dream company.

neat, simple clothing


balanced eye-contact

gentle smile

punctuality

firm handshake

open body language

energy

enthusiasm
17 Jet Pack Book

Through recruiter’s eyes


Yameo’s candidates should expect a challenge. We work in scrum
teams and working in our team equals being in direct contact
with the client – thus the way one communicates is a crucial fea-
ture for us. This is why, apart from a meeting on competences,
a new employee is asked a number of behavioral questions
related to building relations. This is also a challenge for a recruiter
as IT sector is rather infamous when soft skills are taken into
consideration ? From HR perspective, a sort of a balance between
self-confidence and self-awareness of a beginner is a key – all
skills will be verified during the so called live coding.

Małgorzata Wasilewska, personal director in Yameo

No more stereotypical programmer “nerd”, who is locked up in


the cellar with computer and keeps away from the other people.
Now a programmer is an integral part of the team made up from
several to over a dozen people, often having personal contact
with the client. Technical skills – necessary! Soft skills –
important, if you want to be a leader of your own team and have
direct contact with clients.

Martyna Broda, Talent Acqusition Manager in SDA

The key element in the recruitment process is verifying candidate’s


knowledge and technical skills so tests and case studies are to
be expected. Though time consuming, they give measurable and
objective indicators of skills to the employer and the candidate
becomes aware of technologies applied in a given company, as well
as the required level of expertise. During an HR meeting recruiters
do their best to get to know each candidate as well as possible in
order to make sure they will get on well with the team on personal
level and will share the organizational culture. In Sapiens we seek
for people oriented on cooperation and good team communication,
we also value the ability to adapt to the dynamic working environ-
ment. Besides, we appreciate the willingness of a candidate to keep
on learning and their openness to long-term development in the
area of insurance products.

Barbara Łuchniak, Recruitment Specialist


in Sapiens Software Solutions

Apart from technical skills and experience of candidates, recruit-


ers also assess if a candidate is a match with the companies’
organizational culture. If they see an „ambassador” of the com-
pany’s values in a candidate, chances are that the recruitment
process will end with a success.

Kamila Ożga, Recruitment Specialist in Jeppesen


Preparations to looking for the job 18

The most common questions


Don’t you ever attend an interview without proper preparation!
You have to be aware that some questions are asked at almost every job interview.
It is smart to prepare responses beforehand.

NON-TECHNICAL QUESTIONS Questions on gaps in your CV or short periods


checking your character, soft skills and making room for your → of employment.
self-presentation. First of all, try not to have those gaps in your CV. You have not
been working for a few months? Maybe you took part in some
→ What position would be perfect for you? courses, projects or developed your hobbies? Prove that you
Do you prefer working in a team or individually? In a small have not been wasting time! You have worked in one place only
room or an open space? Tell the recruiter about it! In this way for a month? If the fault is by the employer, do not badmouth
you can make sure that if you are hired, you will be provided them. Think of a neutral explanation – e.g. you did not man-
with optimal working conditions. And if not? Apparently it age to negotiate desired salary. Think twice if this position is
was not the place. relevant to the job you are applying for and if it deserves space
in your CV.
→ Describe your working style –
how do you divide a project into stages?
Show your working attitude and prove you are a trustworthy
and professional employee. TECHNICAL QUESTIONS
checking skills in the technologies required for a given position.
→ Which projects would you like to work on?
Show the passion you see in what you are doing. Tell about
your favorite technologies, what would you like to work on and
what’s there for you in the company you want to work for. This
is the moment to show you know what you want. Besides, if you
talk to your employer about mutual needs and expectations so
early, you can avoid working on projects that do not suit you.

→ Describe a perfect employer.


Don’t use empty phrases – every employer thinks of themselves
as honest, diligent or candid but those words can have different
meanings for different people. Try to create a detailed image of
a person under whose wings you would like to be.

→ How do you react to conflicts in a team? .NET


Present yourself as a focused, easy and able to hold your nerve.
Remember that communication is the key to success. 1. What are the characteristics of constant variables?
→→ Assigning values is not mandatory for them,
→ Why do you want to change your job/branch? →→ The value can be changed during normal execution,
The most important is what drives your change. Avoid negative →→ We can not change the value in the ready code,
talk – mention new possibilities in IT instead of lack of possibil- →→ We can not re-assign a value to a constant variable.
ities in your previous sector. Talk about how much you like IT
sector and prove you are not here by accident. 2. What is the difference between the "StringBuilder" and
"String" classes in C#?
→ What are your financial expectations? →→ StringBuilder is mutable, which means that once created, its
To many, talking about money feels awkward. It shouldn’t! No object can be later modified using Append, Remove
one wants to work for free so discussing your salary is not faux or Replace.
pas – if you approach the subject properly. Think in advance →→ String is immutable, which means that we can not modify it
how much you want to earn and check average salaries on this and always create a new object in its memory.
position in the internet. You can mention some brackets or de-
termine a non-negotiable minimum net value salary which will 3. What is the difference between the interface and the
make it financially rewarding for you. If you declare too high or abstract class?
too low sum, it can be treated as lack of market research. →→ An abstract class is a special type of class whose instance can
not be created. It allows you to inherit other classes only. It's a
type of contract that imposes the same hierarchy or standards
on all subclasses.
19 Jet Pack Book

→→ The interface has no implementation.


→→ The main difference between them is that the class can imple-
ment more than one interface, but can only inherit from one
abstract class. Because C # does not support multiple inher-
itance, interfaces are used to implement multiple inheritance.

4. What is the difference between dispose and finalize? JAVA


→→ We call dispose ourselves with use of explicit or syntactic
sugar (e.g. using or foreach). 1. Name 3 main elements of object-oriented programming
→→ Finalize is called non-deterministically by the and describe one of them.
garbage collector. →→ Inharitance – relation between a more general class (su-
perclass) and a more specific class (subclass). The subclass
5. How do the access modifiers - protected, internal and inherits the state (fields) and behavior (methods) from the
protected internal - behave? superclass (except for private and static fields and methods).
→→ Protected – members treated as protected. This means that To express inheritance we use the keyword extends.
they will be available for a given class and for inherited class- →→ Polymorphism – from greek: poly (many) + morphe (form,
es. They will not be visible outside the class. shape). It means that a given reference can have access to
→→ Internal – members will not be shared outside the subassem- many different forms. It is the virtualization of operations,
bly. In other words, their use outside the given subassembly e.g. the possibility of dynamic (late) binding of the operation
will be impossible. name to various implementations of this operation defined in
→→ Protected internal – a combination of internal and protect- classes that are in the inheritance or implementation relation-
ed. It allows declaring members / types with more than one ship. The choice of a particular implementation depends on
modifier. The member declared with this modifier will be the type of object and not on the type of reference on which
protected. This means that it will only be available to child we call the method. Polymorphic method call applies only to
classes. In addition, the word 'internal' means that only the instance methods.
subassembly in which the member was declared will be able →→ Encapsulation – hiding data from direct modification, which
to use this member. could lead to inconsistencies (e.g. disturbing class invariants).
It introduces the concept of a public interface and hiding im-
6. What is the difference between the value type plementation details. It allows to change the implementation
and the reference type? without requiring changes in the code using the given class.
→→ Value type – is the basic data type that is common in every
programming language. Its declaration allocates the appro- 2. What collection implementations in Java are you familiar
priate amount of space in the memory in which the variable with? How do they differ and which and when should
value will be stored. We store value types on the stack. you use?
→→ Reference type – is a type placed on the program's heap. The
reference to the memory is placed on the stack, and the mem- →→ ArrayList – an implementation that stores data internally in
ory area to which the reference leads is located on the heap. the array. We use it when we know the target size of a list or
we do not perform many write operations in relation to read
The main difference between these types is that value types are operations, and the read operations are not in the
immutable, unlike reference types. for-each loop.
→→ LinkedList – an implementation that stores data contiguous-
ly. It is more efficient when we add many elements, and the
reading takes place sequentially (we read elements using an
iterator or for-each loop).

3. How does Garbage Collector work and can we force


it explicitly?
→→ Garbage Collector is designed to identify and delete objects
that are not used. It works automatically, so you can not force
it explicitly. It removes every object that we can not access.

4. What is system scalability?


→→ Scalability is the ability to maintain adequate system perfor-
mance with increasing load.

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

6. What are streams and what are their uses?


→→ Streams – represents the sequence of elements and allows
various operations on these elements. These operations can
be intermediate (we can put them into method chains) or
terminal (returning the result or not).

7. What types of design patterns do you know?


→→ Facade pattern – we create a class whose only task is to call
the appropriate methods from other classes, sometimes in from memory.
the right order or modifying some information. →→ Content Provider – manages access to data structures. It con-
→→ Factory method pattern – we create a new object, tains and provides mechanisms responsible for data security.
e.g. because we declare an interface as a return type, It provides an interface between data running in one thread
and the method contains a logic that determines what and application code running in another thread. Data can
type of object to create. be stored in the file system, database, on the Internet or any
→→ Singleton pattern – restricts the use of objects in the system other medium available from the application level.
to one object of the given type only. →→ Broadcast Reciever – is a component responsible for deliver-
ing events independent of the current state of the user inter-
8. What types of collection interfaces do you know? face, e.g. turning on the alarm clock, connecting the phone to
→→ Set (collection of unique elements) – has the same interface the charger, loss of mobile network coverage, etc. Registering
as Collection. Provides an optimized method for checking the the Broadcast Receiver in the application allows you to deliver
membership of a collection. any events emitted using Intents.
→→ List (list of ordered elements) – extends the Collection inter-
face with methods allowing inserting and removing elements 2. What two types of websites can we distinguish with regard
to and from the collection. It keeps elements in order. to their life cycle and what are they characterized by?
→→ Map (key-value associative array) – allows you to map objects →→ Bound Service – is closely related to other components of the
to other objects by combining them into key-value pairs. application that are bound to it. In the event of deleting the
last component bound to the service, the service terminates.
9. List the differences between List and Set. →→ Unbound Service – is run by another component (for exam-
→→ List maintains the order of items, while Set stores the items in ple Activity) and runs infinitely in the background, regardless
a unordered manner of the life cycle of the component that called it.
→→ List allows you to store the same elements (duplicates), and
Set will overwrite the old value with a new value when trying 3. What is the difference between an explicit
to add a duplicate. and implicit Intent?
→→ List allows you to store multiple null values, and Set can store →→ Explicit intent specifies a particular class of the
only one such value. called component.
→→ Examples of implementations are: for List – ArrayList, →→ Implicit intent does not specify a particular component, but
LinkedList; for Set – HashSet, LinkedHashSet, TreeSet. should contain information on what we want to do and on
what data should this action be called (e.g. Intent.ACTION_
10. What is GROUP BY? VIEW action and attached url address).
→→ GROUP BY – an aggregate operation that allows classification
of records according to specific criteria.

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.

6. What is the difference between ID and class in HTML


and CSS?
JavaScript →→One element can have many classes and one class can be
assigned to many elements. On the other hand ID can appear
1. What is the difference between classic inheritance and only once on the page. Element also cannot have more than
prototypal inheritance? one ID. In CSS we are calling to this elements in many different
→→Classical inheritance is a powerful feature of many object- ways. Classes are called with dot plus name (.button) and
oriented programming languages. It involves organizing to ID by hash plus name (#button). Rules in CSS which are
classes into a hierarchy, and enabling these classes to inherit connected to ID are more important than those connected
attributes and behavior from classes above in the hierarchy. with classes, according to rules of calculating rule accuracy.
→→In prototypal inheritance objects are inheriting attributes of
other objects with creation functions or Object.create(). In
this approach it is easier to create object while using multiple
sources. Dependence parent - child is not created by default.

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

arrayList.length = 0; 4. What is the difference between tuple and list?


→→Difference is, that list is a mutable data structure
arrayList.splice(0, arrayList.length); and tuple is not.

while(arrayList.length){ 5. What are namespaces?


arrayList.pop(); →→Namespace is dictionary which use as keys names of the
} variables and dicts values are values of this variables. We can
access the name spaces, just as to Python's dictionary.

6. Lambda function in Python, what are those?


→→lambda function is used for creating small, one-time and
anonymous function objects in Python. lambda operator
can have any number of arguments, but it can have only one
expression. It cannot contain any statements and it returns
a function object which can be assigned to any variable.
Preparations to looking for the job 22

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:

1. What do you do when you find a bug in the code?


→→This question can be accompanied by a practical task for
finding a bug in the code. What the recruiter wants to check
is your ability to verify code written by another developer,
find a bug and fix it, as well as how you operate on
a given environment.

2. Describe how an application chosen by recruiter or by you


PHP works using words understandable for a few year old child.
→→This task examines if you are communicative and able to get
1. What is characteristic to single quoted and double on well with other team members. Besides, you may also
quoted strings specification? When do we use which? have to talk about current projects with clients or others, who
→→ Single quotes treat everything in between as a clean string. are not fluent in technological jargon. By the way, you also
They do not analyze the content for variables. prove that you understand what you are working on.
→→ Double quotes allow you to parse the content for variables.
Eventually, these variables will be replaced with their values. 3. How do you acquire new knowledge and stay abreast of
A good practice is to use double apostrophes only if the string technologies you are working with?
contains variables to be substituted. →→ IT is a very dynamically changing sector. If you are not up-to-
→→ -date with the newest trends your knowledge will soon get
outdated. Your employer needs to make sure they are hiring
2. What is the difference between operators: =, ==, === a passionate who will not lose enthusiasm too soon.
= means assignment of value;
4. Recruiter gives you a task that is impossible to solve.
== is a test if two expressions are equal. If the expressions are What do you do?
of different types, the strings are referenced and compared; →→This task does not check your technical skills, but your flexibil-
ity, logical thinking, courage to draw conclusions and putting
=== is the test of the identity of two expressions. First, it checks forth hypotheses. Do not immediately say the task
whether the types of expressions are identical, eg integer === is infeasible – take a challenge and try to tackle it!
integer, then it is checked whether the values of expressions
are equal.

3. Provide an example of how to iterate safely on an array,


regardless of its type (associative or simple array)?
→→ For the safe iteration, the foreach function is used, which, de-
pending on the construction used, allows access to the value
of elements or to the values and names of keys / indexes.

4. What is a session and how we use it


(create / modify / delete).
→→ Session is a mechanism that allows data to be transferred be-
tween subsequent requests from a stateless client application,
e.g. from a browser. Data is saved (depending on the selected
23 Jet Pack Book

What to ask about?


You need to remember that job interview is not a one-sided
interview but a dialogue – you also have a right – an obliga-
tion! – to ask questions. This is how you show you are interested
and involved, as well as learn about the company in respects
important to you.

→→1. How big is the team I would be working in?

→→ 2. What tools does the company use and which methodolog


for software development does it apply?

→→ 3. What exactly are the requirements and obligations on this


position? What will you be responsible for?

→→4. What are the working hours? Are they fixed or flexible? Is
home-office accepted?

→→ 5. How will the effects of my work be measured and who will


be my direct supervisor?

→→ 6. What can I expect on further stages of recruitment process


and when can I expect a response?

Checklist before each job interview!

CHECK!
Get acquainted with the website and projects
of the company;

Follow its Facebook profile;

Check opinions in the internet;

Read once again the job offer you are applying for;

Check the HR manager in this company;

Check localization and route;

Prepare your questions.


24

After the course


Remember that IT is a very dynamic sector where there always
is a room for improvement. If you do not stand by and keep
developing your skill, there will always be a place in IT for you.

BE VIGILANT – REMAIN ACTIVE

Apart from participating in SDA course I have spent a really long


time on self-studying at home. It took me a long time to solve the
tasks given by our programming mentor. With each solved task,
my knowledge and self-confidence grew. Sometimes I even made
up problems or algorithms myself and tried to turn them into
code ? Discussing with our mentor and asking questions gave a
motivation and curiosity boost. I have started watching coverage
from programming conferences (for instance, WJUG). I have also
found a number of great websites combining learning with fun
(for instance ‘codefight’). I am interested in udemy.com courses
– recently I have decided to learn a little C# and Unity in order to
create Indie games. I also continue with learning Spring and
Hibernate. It may sound a bit fuddy-duddy and schooly, but I
spend a lot of time writing the most interesting things down in
a notebook – it’s a great way to solidify information in your head!

Łukasz Michalak, graduate of Java from scratch course


Having finished a frontend internship I have started learning on
my own. It was much easier than before the course, course I have
already had some background knowledge. We received loads
of tasks, books, presentations, so I had a lot materials to keep
learning from. It turned out quite soon that I am taking JAVA OCA
course preparing to the Oracle exam, so I dropped frontend and
started learning a new language. Mainly I used online sources
and Oracle book which I received from SDA. It was tough to grasp
in such a short time but I took private lessons which helped e a
lot. Later on I managed to start an internship and now I struggle
to deepen knowledge in the subjects I am occupied with in my
current job.

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.

Daniel Płachta, graduate of Java + Android course


25 Jet Pack Book
Po kursie 26

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

Package Manager PHP 7


Framework Testing aiohttp
Debugger/Profiler

npm Express Jest

Yarn hapi Mocha Testing Framework


xDebug

Koa Jasmine PHPUnit Laravel PSRs XHProf

Sails.js Chai phpspec Symfony New Relic

should.js Codeception BlackFire

Slim
Caddy Mockery
Lumen
Apache
Web Server
Silex
Nginx
Restful Apis

read about MVC

JSON Web Token (JWT)


Authentication C# (.NET)
OAuth 2.0
SOLID, YAGNI, KISS etc
Java (Grails, Spring, Play)

Security
Go

GraphQL

Docker Coaching
Memcached

Storage Redis

Solr ElasticSearch
Relational Databases

Up your Game further! Oracle


Sphinx

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

Postwork – how to upgrade your knowledge

It's valuable to keep developing and consolidating your skills on


your own by continuing to create applications, websites or games.
On forums and programming groups, you can obtain orders on
the basis of online programming challenges or co-create Open
Source software; it is also worthwhile to participate in hackathon.
Document your involvement and achievements in your CV and
on Github and Linkedin profile. When using the latter, try to get in
direct contact with recruiters, presenting your professional profile,
asking for open positions and their level of requirements. Confer-
ences and meetings of the IT industry are also a good opportunity
to leave your CV to potential employers, as well as ask specialists
with a long-standing experience about their beginnings and
recommended methods of improvement.

Barbara Łuchniak, Recruitment Specialist


in Sapiens Software Solutions

Many companies are looking for beginner programmers. The


easiest way is to get an internship and present yourself in such
a way that the company offers you further cooperation (most
usually signing a regular agreement). It is worth being present
on all sorts of job fairs – analyze particular offers, draw company
representatives into discussion – this is how both the atmosphere
and working style of a company can be verified (a small software
and corporation differ). I wouldn’t disregard the value of being
present on various industry meetups, conferences and workshops,
because this is where you learn the most about the industry.
There are dozens of such meetings in every bigger city. It is both
a perfect occasion to widen your knowledge in a particular field
and you can expect questions about self-development on every
job interview.

Małgorzata Wasilewska, dyrektor personalny w Yameo

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.

Kamila Ożga, Recruitment Specialist in Jeppesen


After the course 28

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.

4developers – Warszawa, Łódź, Gdańsk


http://2017.4developers.org.pl/pl/
4Developers is a tech festival for developers consisting of vari-
ous thematic paths discussed in small groups. It is also a great
chance to meet world-famous specialists in a casual atmos-
phere. The conference takes place in Warsaw but has its local
editions in Lodz and Gdansk as well.

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?

Więcej wydarzeń znajdziesz na:


www.crossweb.pl
www.meetup.com
29 Jet Pack Book
Tallinn

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...

1. Joanna Murawska 6. Adrian Borysionek


Don’t you ever compare Don’t rest on your laurels – there
yourself to other developers! If is always something new waiting.
you want to enjoy what you’re After JAVA try Kotlin, program-
doing, compare yourself only ming will become more pleasant.
to yourself, for instance, from Make yet another program – each
the previous month. project gives you extra points in
the recruitment process.

2. Łukasz Michalak 7. Piotr Andrzejak


Be open to people. If there’s Working remotely is tempting but
something you don’t know – it is the office where you can talk
ask the mentor, discuss in a to more experienced developers
group. Seek for the answers and meet people. Home office?
together – is there a better Yes, but once a week.
way to do that?

3. Piotr Andrzejak 8. Łukasz Michalak


Learning English (or an Do remember about filling in your
additional language) unlocks LinkedIn profile – creating
many new possibilities and a man-of-success image pays off!
gives a chance for working in
an international environment,
often with much more intere-
sting projects.

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!

5. Łukasz Michalak 10. Adrian Borysionek


In order to make learning even Don’t get discouraged – entering
more pleasurable, color it with IT sector is extremely hard, but
your hobby. I like building possible. I got to my current
models so I make an applica- company by an accident. It was
tion about models. recommended to me by a recruiter
Find your niche. on Linkedin whom I did not even
know.
31 Jet Pack Book

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!

I started SDA because


I want to work in a small company / big corpora-
tion (delete as appropriate).

I want to devote hours per week to


self-studying additionally to the SDA course After the course I want to work as:

I want to find a job in IT AFTER/DURING


the course (delete as appropriate).

I want to apply to at least


companies during the course.

My relevant strengths are:

Вам также может понравиться