Transcript
This transcript was autogenerated. To make changes, submit a PR.
Hey everyone, I'm Ivan and today I'm going
to tell you how to kickstart your IELTS career.
I'm working as iOS software engineer
for the last seven years and heading
back. I could give you some advices
that could improve your
way along this trip.
So basically,
all of this coming to base
roadmap with three simple stages
with one huge theme
behind them, which we will cover later.
So the first step is of course it says education.
And when we're talking about education,
I was working as a teacher and professional instructor
for iOS courses alone,
six years or something like that. So basically,
first thing you should know that anyone could
code and you
should just find out if it belongs to you or
not. So just give it a shot.
If you feel like it's yours,
continue working on it. Select some basic
courses that don't
have any prerequirements, so you could
start as completely beginner and carefully
read them lesson by lesson,
finish assignment by assignment.
Just be patient and it
will work for you.
So depending on course,
you could learn basics or whole stuff
at the same time. I prefer to have them
in small chunks, so it's better to
break down things to
just give information with small portions.
But anyway, after you get the basics
you could learn the object oriented programming.
Also combine it with user
interface. Doesn't matter, it will be
Swiftui or just regular interface
builder things.
After this you could get patterns,
some kind of delegation,
or something more general like MVVM,
MVC MVP.
So as
the finish of this education process,
you should have basically three
things that you will
learn. So first and most important thing,
iOS, you should know how to learn things out
of those things that you already learned.
So basically if you know how to make,
I don't know, simple loop that iterate
through collection, you should get how
to iterate through multidimensional collection or
something like that. So basically you
should know how
to use those building
blocks to build more complex programs.
You should know how to Google things,
how to apply solutions
from stack overflow to your code to make it work.
And yeah, that's the most important skill
of the programmers.
Basically you need to know how to solve
the problems by yourself.
The second thing I think you should come
up with after your education process, it's your
GitHub profile. So it
will be nice to see your GitHub profile.
If I will hire you as a junior developer
just to see the dynamics
of your study with some kind of demo
projects or something like that, it will be
also very cool. And the third part,
which is absolutely optional, but it will be a
large benefit in your resume
if you've done some application and put it to App
Store.
Yeah, that's really matter. So it
will be really nice to have it on your resume.
Some link to your GitHub and
link to your app on the App Store.
So basically this is it about
education. And after that
we could switch to the next step,
which is first job. So after you've
done your resume with links to GitHub
and your app,
you could search for vacancies on
the jobs job sites and
get all the technical
requirements out of them to
the list and just go
through this list and find the blind spots,
work on them, improve yourself on
tech side. You don't have
to know everything about for example
foundation and UI kit, it just means that
you have to know the general things.
I don't know, maybe it's
like ras dictionaries, how they work,
objects versus structures, what is
swift and so on. So basically
after you get your tech prep,
you could apply for these positions
and go to interview. So for
example, you get to interview,
you've done the first step which is
recruiting and
then you get to technical
part of the interview. So the main
thing you should learn
about and the main tip that I will give you
on this step, it's just record your
interview to get back to
any question at any time. So basically,
even if you fall this interview and it
wasn't great for you, you could just
get back to this recording and try
to improve yourself based on what you did before.
Of course ask for feedback. So maybe engineers
or interviewer will give
you the feedback and find
out your weak spots as well. But if
you record your interview, it will be really nice to
have this record for your own purposes.
When, when.
So when company asks you about,
do you have any questions about company, it's really
important to ask about what
team you apply for, what will be the team.
So you could also,
in some cases you could also talk
to team members, find out is
it a good fitment
with you? And yeah,
it's really important to have a good supervisor.
So basically it's your first job, you will spend something
like half of
year or year or maybe two years in there.
So if you get good supervisor,
it means that your learning curve will be dramatically
increased and you
get a lot of new stuff out of them. It's much better
than work as a single
developer on your first job. Believe me,
it wasn't good experience for me. So yeah,
just look for some opportunities with good team
and good supervisor. After that you could
accept the offer. Don't accept the first offer you get
because you always could
say that I need one more week or something like
that to
wait for another offer and just compare them and then
just make your decision.
So as
a conclusion on the first job,
you should get the most of it.
So basically just find the right spot,
find the best,
find something that works best for you.
So the next step is
building career. So basically it
just breaks down to two by
two blocks when the
time when I should step up or ask for
a raise or change company.
And what's the
red flags around all this stuff that
I have on current company. For example,
for example, if you see that your skills
doesn't improved for the last two
years is definitely the red flag.
So maybe it's time to change the team or change the
company. If you don't have
any challenges and you
just sit down and make
down all the tasks like routine,
it also could be a red flag. So you don't have
any kind of progress,
you're just doing your things. So basically if
you feel like that, just ask
about changing the team, find out
what works best for you.
But in my case, the best
opportunities comes up when I go to
interview to other companies,
something like every six months, you could
just go to interview, check out your
skills, find out what's
the purposes of other companies,
what's their propose and yeah,
that will be a great experience as well.
So maybe everything was changed
around for the last
two years,
but from my experience, every time,
every time I go to some interviews I learn something
new.
Even if you don't want to change your
current job, if you have some offers on hand,
it will be good reason to get some
raise and so on.
So all of these steps are
important, but most important thing here
and it's going behind all of the things
is of course it's networking. So networking
is major thing that
you should pay attention.
A lot of my career solutions
or decisions were made because
of people around me.
So basically it's
like when you go into some place to
some hackathons or just conferences,
meetups or something like this, you have cool opportunity
to make some connections with people.
And who knows, maybe those people will
change your life or just
will become good friends,
give some advice to you or something like that.
Basically it's a huge part of all of these things
that going on. So yeah,
build your network. It's really important after
all. As a summary, I would like
to say that don't
hesitate to spend more time on education process.
So for some of my students that was
from like two months or three months,
they become a developers. Other guys
finish their projects in one year or so.
So basically it doesn't matter how much time you will spend,
it's matter of quality
of your education. So just be
sure that you get all the topics and
invest in your education.
Be careful with your first job. So I
don't recommend you to be as a solo developer.
It's better to find a team that will grow you up.
Be open for the challenges. So if you feel
like this is the challenge for me,
so 100% it's
the right spot for you. So after you best this
challenge, you will feel that your skill
is grow and you
can move on and do more
with this experience. Of course communication is
a key to everything because all this
it thing is not only about
software, it, it's more about
people who you work with. So basically communicate
to people, build your connections, build your network,
it's really important. And stay
tuned and enjoy your developers journey.
Have a nice day.