Starting a Career in Coding // Beyond Coding Podcast #31 - Patrick Akil with Johan Janssen

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi everyone today we talked about a career in  coding what's the best way to start and even   when you've started what options are still out  there and which roads can you take and my guest   Johan Janssen has had many different roles in his  career developer or even tech evangelist and now   software architect i really like  this perspective on the topic   don't forget to like and subscribe on youtube and  follow us on your favorite podcast platform enjoy   welcome to beyond coding a dive into  the world of successful people in it   from your sponsors xebia creating digital  leaders here's your host Patrick Akil   Johan welcome man thank you how's it going  very good how are you cool man i'm good   as well it's pretty early but it should be  good yeah so i invited you on to talk about   a career in coding because you have quite the  career yourself you've had kind of different   roles and i think if you start from university  it's kind of hard to to find your way throughout   the landscape that we have now right you have  cloud you have operations you have devops   even within development you have kind of different  aspects there so i think it's pretty hard to   navigate but what let's start off with i'm a  student and i come from university i have a   computer science degree or even not um and i want  to start somewhere what is kind of the the first   step in landing that position where i can just  get some work experience what do you think there   um yeah so i think the interesting part is that  in in when studying computer science or something   like that you learn a lot of valuable things but  yes at least in my experience and what i heard   from others it's often not directly the things  you do in a job yeah so there is a little bit   of a mismatch so it's a bit looking like yeah  where do you start and where do you learn the   skills that you didn't learn in university or  other environments myself i i had a graduation   assignment and i did that at a company which i was  like yeah that looks like an interesting company   i quite liked the graduation assignment  and i got my degree and then i stayed   at that company i already got a good view of it  in the six months that i did my assignment there   yeah um and then they had like some different  roles uh for instance database administrators   developers and then your java developers and net  developers and there were some more roles and   that company was more a microsoft company so the  microsoft group was quite big and the java group   was a bit smaller i quite like that it felt a  bit more familiar you knew everyone and yeah   that didn't have a really big preference but it  was like yeah we're looking someone for the java   department do you want to join that one  it's like yeah that sounds like a good idea   yeah and in that company because i can't  really advise if you start search for a company   that offers you proper education um so i was  sometimes recruiters ask me like yeah do you   want to join our company we have really big  budgets for studying and then they say yeah   we have a thousand euros for studying yeah that's  nice but a thousand euros for studying it's like   two or three days yeah um at the company i joined  and there are multiple companies that do that   they have a whole plan for you they they teach you  the java language or whatever you're starting with   uh in a really broad skill in my case i think it  was like uh two months of continuous studying and   then afterwards once in a while we got like a day  of studying both technical but also yeah they call   it social skills nowadays you some people say you  shouldn't call it social skills it's like skills   you just need basically yeah but to really  find a company that offers that education to   it makes the bridge from the things you learned in  school to what you have to apply in your job a lot   easier i learned a lot about java different  java frameworks operating systems databases   which i i didn't know before and i think that  helps to to get started in uh in your new   environment yeah that makes sense i like that you  take that kind of educational path right because   when your educational journey stops is not when  you stop learning right even on the job it's very   important to learn on the job but also beyond  that right and getting that room in either a   budget or just days off to train yourself or to do  that within a team i think it's very important to   keep that kind of ball rolling and keep learning  on the fly but those aspects right you already   called it skills that you didn't learn necessarily  in any university or in an educational journey   i think they're more related to working together  right because a developer is not necessarily   a one-man army you're usually doing it within  a team but why in in kind of your educational   journey why is there not a focus on that in a  in a computer science degree what do you think   i think it differs because i i had a focus on  that in my education actually so um when i was   studying computer science sometimes you did  assignments alone sometimes with two or three   but they also had like some sort of  internal company which was run by   students of the the higher years basically so they  were directors and managers and stuff like that   yeah and when you started you were a developer in  that company and you had teams of i think it was   between four and six or something like that um you  had to do an assignment for a real company yeah   and you had like half a year for that and  then a couple of hours each week it wasn't   half a year full time yeah but it simulated like  a real working environment and the higher you got   in the company the different your roles got you  became either the project leader from for one   team or maybe you uh try to get new assignments  from companies or things like that so i i think   that was a really good one because that had more  of a feeling of a real company yeah and doing   real stuff instead of i had a lot of courses in  programming languages probably only used at that   university yeah that's fun but it doesn't help  you that much when you have to program in java   or net or something like that so yeah i think  it differs and it is good i think if there is   education is paying attention to the bridge  because university i think traditional is more   about doing research after you get your degree  yeah but in reality uh the ones going into   research is only a small percentage i think most  people go uh working for a company and work on   practical things instead of theoretical research  and so i think then it's also good to make sure   those people are also prepared for that yeah  i like that it's already inherent in such a   product project than that you do for a company  yeah that is kind of a real life example or a   real world example of how it's going to be  after you graduate right and even then let's   say you started at a at a company in your case  you were a java developer but already there   there's kind of that the java title right or is it  c sharp or it's golang or whatever there's a lot   of different technologies that you first kind of  cling on yeah right but you also have to kind of   let go of those if you want to try something else  or even let go of the developer title in itself if   you're more like i want to do product management  that's more of my thing i like more the planning   um and the stakeholder management more  of the kind of people skills in that way   but how can you kind of navigate that for  yourself if you have no clue where to start first   um and then no clue where you're heading basically  um i think one of the best options there is if   you have a company that offers uh various rules  because that makes it easier to switch you can   do that within the company you don't have to go to  it to another company yeah so my first company i   stayed there for 11 years and i had like i don't  know eight different function titles or something   like that nice switching between various roles  and then trying out things and then sometimes   you like to do things for for a shorter period of  time and then you're like okay now something else   um so having a company that supports that  and is big enough to do that i think makes   it relatively easy if you have to switch between  companies every time yeah um it's a bit harder and   yeah like i said i started with with java  development and i quite like that so started   as a junior developer then we called it i think  meteor and then senior developer a lead developer   and then led my own team and then gradually  you also notice that when you start as   a junior you probably do mostly purely  coding of course you have some meetings   at general meetings or things like that yeah but  the higher you get in your role the more you get   communication with other stakeholders like the  business or with operations and stuff like that so   uh you get more responsibilities not only focusing  on purely coding uh but something i also find   important is like the non-functional aspects like  code quality and performance and stuff like that   yeah and at least that's that's what i noticed the  more i went towards lead developer the less i was   coding and the more i was helping others mentoring  others helping them improve yeah instead of doing   all the work myself and i think that's that's also  an important aspect of being like a lead developer   is trying to let others grow as well and  basically make yourself obsolete that's   my goal most of the time yeah i really enjoyed  it if some of the the colleagues i had in my team   ended up with their own team as a lead developer i  mean then you've achieved it they basically became   more or less the same as you you can do their  own thing now and you can help others or they   take over from you and you can join another team  um i think that's that's a really important aspect   to share your knowledge and to help improve others  after you of course have some years of experience   yeah yeah i really like that you're kind of paying  it forward right yeah allowing others to grow at   the same that you did right and you can then allow  others to grow and it kind of spreads forward   um and it's just a great win-win for everyone  right you learn by teaching and others learn by   getting taught i guess yeah but even the the  thing you laid out just to step back in kind   of experimenting right seeing if things work  out for you um i think there should always be   room with an organization for that but is there  kind of a time frame for that do you would you   say like six months try it out see if it works  or maybe a year because when i talk to people   they're very much like uh i'm in this role now  and i want to do this at least for two years   and if for me like i was always like i want more  i want it faster so two years sounds like a lot   basically but they already have kind of their um  they're more comfortable with two years let me   put it that way is there like a good time frame  from your experience i think that really differs   so for instance if you do consulting you have  some people who work for one customer for like   i don't know a couple of weeks yeah or maybe half  a year and i had colleagues who worked at the same   um customer for like 11 years then i was like but  why are you working at a consultancy club if you   stay so long at a customer yeah you could have  joined them directly then yeah but i think that   that's really someone's preference i would say if  you like it why wouldn't you do it longer i mean   of course you can try something else  and maybe you like that as well yeah   but it differs a bit as long as you have i think  you're interested in it and it's exciting and   you're like okay this is what i want to do now  and i also think it it might differ in certain   times in your life for instance when i i was  younger i worked a lot of hours did a lot of   things also outside of my normal working hours  yeah but then you get a partner you get kids or   other hobbies and then it tunes down a little bit  because yeah you have to keep some balance somehow   yeah um so i think the most important thing is  that you still have fun at it how long it takes   yeah yeah it's i think up to you i love that  answer i love that answer as long as it's good   for you then then i care what everyone else  does right yeah yeah you already touched upon   kind of uh doing things outside your day-to-day  work right and we've already touched upon more   of the the soft skills aspect even on this show  in a lot of episodes but if we're talking about   the hard skills right and let's say you're  a developer day-to-day um if i'm applying to   other jobs people ask me what kind of personal  projects do you do in your own time do you have   some some pages you've made or stuff like that and  i'm like man i'm so focused on my developer work   day-to-day i don't i don't really contribute uh  to either my personal projects or or to like open   source stuff or create something in that way um  i do more content creation basically that's why   this podcast is there as well but what are some  of the more hard skills things that you can do   um yeah i think you have various options and  again i think it's it's looking at something that   is quite close to you where you feel comfortable  but but of course it will be a bit out of your   comfort zone i find it really annoying term  comfort zone but um it's something you're not used   to for instance when i was asked for this podcast  i was like yeah should i do it i've never done it   before will i like it and then i was like yeah why  bother i mean just do it and if i don't like it   it's my last podcast yeah exactly so it's it's a  matter of trying again so um i think when when we   started um yeah we tried different things and  i tried for instance a bit of open source so i   maintained some some packages for chocolaty which  is an installer for for microsoft packages yeah   and i maintained the java installers for that  um and you can do the coding part so you can   work on java frameworks commit stuff to spring  or commit to the documentation of spring or do   something like i did which is maybe a bit  more scripting and not really coding yeah   but i have done other things as well such as   speaking at conferences or starting smaller with  within the company first giving presentations for   the team to try and help them with new topics or  things we wanted to investigate um and so i think   that that's really broad and at first maybe you're  like yeah i don't know if i want to do that but   just start small start with just doing things  within your team and then maybe within the company   we had lunch sessions or however you want to call  them it's low level you know most of the people   there it's it's more comfortable although i have  to say i had colleagues who were really critical   so often in company presentations i got more  difficult questions than at a conference so it's   not always true but it gives more of a familiar  feeling i think so that's a nice way to to get   started with stuff just start small i didn't start  with everything at once i think when i started i   started a little bit with speaking um my manager  encouraged me back then like hey don't you want to   speak at bigger events like j-fall on devoxx and  java one because those were the biggest back then   and most interesting for our company and i said  like yeah i can try that but if i don't have any   experience on my resume speaking on conferences  the chances that i'm selected are quite slim so   i propose i'm like yeah can i submit to some other  smaller conferences and try that first and i can   put that on my resume yeah i got some experience  speaking from maybe a bit smaller audiences at   conferences before you go to the bigger ones yeah  so my first conference was in croatia close to   the beach which was actually i think the best  location for a conference i've ever been yeah funnily enough had two sessions accepted at once  which was even more scarier than having to do one   yeah because a tip is if you want to do things  like that it's good if you have multiple topics   that you can submit because then program committee  for a conference can can select one of them   uh the downside is that you might have multiple  sessions prepared for that and after that it   basically grew a bit organically because you speak  to people there and later i started helping for   instance in the java magazine to get articles and  review articles and things like that i started   helping program committees for conferences  to select speakers and things like that so   it gradually grew and i think one thing also  important with those things is sometimes it's   work related so you do it during your working  hours sometimes or maybe more like fun and then   you have to balance it with your other activities  of course sporting and stuff like that i mean   yeah i've had periods where i hardly did any sport  i was just working and then doing other fun stuff   yeah but it's good to keep a healthy balance with  that again because a lot of people when they pick   up too too much you might get a burnout so it's  also good that after a while you evaluate like   hey i'm now doing these in these things what  do i really like yeah and maybe i should stop   doing some of them because if you start speaking  publicly you don't have to do that until you're   like 67 or whenever your pension starts i mean you  can do it for a couple of years then stop with it   maybe start again after a while i mean it's it's  something you choose to do it's not an obligation   exactly unless of course it's part of your  function and your manager expects it but   yeah that makes sense i i really like  the mindset of just starting small right   and then seeing if it works for you and even  letting it snowball right you do one talk and   then you're on a stage somewhere doing a bunch of  conferences yeah uh but i like that you mentioned   what's important there is to then still reflect if  that's what you like right because you you start   by trying it out to see if you actually like it  and it can snowball and you can end up somewhere   and you might like it but is that your passion  right or do you still want to experiment switch   gears and try other things out right you always  have the room i feel like and we're very lucky   to have that to try things out whether it's  speaking on a conference whether it's doing   more knowledge sharing within the team even  coaching and mentoring it's going to be on the   job can even be outside of the job now we have  so much room to kind of experiment in that way   i think we're very lucky to to do that basically  but to get back to the kind of career encoding   right one of the uh terms i see on the market now  is besides kind of the technology labels right   golang engineer even c-sharp or java you also  have to have that full stack label and to me it   encompasses quite a lot right you need to be  expert in in front-end as well as back-end   and even with the cloud or the operations mindset  that's there now it's a whole package basically   uh what do you think of the the full stack label  is that kind of a valid thing to ask from people   or is it a label that's just slapped on there to  make someone seem more impressive um it depends a   bit of course everything depends it depends a bit  on the people some some developers are really good   and they pick up a lot of technologies quickly  and manage to keep up to date with all of them   some spend a lot of time on it maybe also in their  free time to keep up to date and learn everything   but in general i think it's it's too  much uh if i look at my own experience   uh so it started with full stack and then you get  devops so you're a full stack devops developer and   now you're a full stack devsecops developer and i  don't know what what the latest term is uh now but   it's adding and adding stuff and and and that's  possible but what you get is people who are   basically good at doing hello world and a  lot of things and and don't have the in-depth   knowledge of for instance the java framework  and what goes wrong so uh as long as they can   google it and everything is fine there's no  issue but uh if all hell breaks loose who's   gonna fix your issue yeah that that will be uh a  challenge because you no longer have specialists   another term a couple of years ago was  t-shaped i'm a bit more fan of that   it's a bit of a weird name and i'm not a  big fan of terms but i think it's good to   have like a base in something where you're like  really good and you focus on that but you also   can do some other tricks so yeah if your team  member is maybe ill or he's busy uh you can   help maybe with some operations or maybe you can  help with some security stuff um so yeah maybe you   have a big background as a java developer and  you know a little bit of a front-end and maybe   a bit of ops yeah and somebody else is more a  front-ender and knows a little bit about java   and so that way you can nicely spread it yeah i've  seen it in companies where they forced basically   everyone to be more full stack it didn't really  work because for instance we had one guy who was a   full-time tester yeah and we needed that because  we had chain tests performance tests and stuff   like that so he did useful work the entire  week helped us really good we were really   satisfied with him yeah but then he get he was  told by the company like yeah you need to start   programming else you will be fired because we  want everyone to program yeah so what happened   we had to do his testing work exactly because he  needed to program and we needed to help him with   his programming because he was not an expert in  programming so basically the team came almost to   a standstill especially because it was at that  time i think three people who at once needed to   start coding that's i think undoable yeah it's  good to know multiple tricks so that if someone   is ill you don't have to wait a week before he's  back but still look at how can we efficiently   work within a team and if someone is efficiently  working in a week doing one thing the entire week   that's perfectly fine for me he's good at it yeah  others don't have to pick it up every week again   so i think we should be careful with it it's good  to now and then give people like responsibilities   like if i have junior developers and i know  they're good in front-end i'm not that good in   front-end stuff so i give them the responsibility  to do that and if they have questions simply come   to me yeah and and speak with other front-end  developers within the company and stuff like that   so give them some responsibilities but not that  one person do everything that's a really single   point of failure you get and i think it's really  difficult to keep up with all the technologies   it's going so quickly yeah yeah more and more  basically yeah yeah definitely i think people   are able to do that but to a certain degree  right yeah and i like that you say it depends   depends on the person depends on their skill level  probably even their experience right because some   things you just learn by having someone seen  do that and you're like i'll take that with me   and you'll remember like oh i've seen this before  so i can i can fix that in that way right but a   team is kind of well they're they're a bunch of  puzzle pieces right and if they fit together well   uh that's how how you have a well operating team  basically yeah how you have a beautiful picture   um but if you have a puzzle piece that's missing  then how do you find the the missing puzzle piece   basically while either recruiting or as a team  figuring out what do we need do we meet someone   that has more testing skills or leveraging the  back end or looking more at architecture or even   doing more stakeholder management nowadays i think  it's very hard to figure that out within your team   and then getting the right person even because  everyone's skill sets are different yeah   yeah that's that's a good question i think it depends a bit indeed on what work you have and  you as long as you have people more in in a fixed   role instead of full stack yeah then it's a bit  easier to notice because you know that person is   getting a lot of work and he has to ask others to  help him then you know okay maybe we need someone   else with more or less his main skills yeah uh if  everyone is doing full stack it's it's difficult   or more difficult to see where the work is in uh  but still you could look at like your planning   and see like yeah what are we doing mainly are we  mainly building back-end applications or mainly   doing stuff on front-end or are we spending  a lot of time on on testing and operations   because i noticed that in a lot of teams the  development often wasn't the challenge it was   mainly operations and everything around it getting  approvals and stuff like that which was a lot of   a challenge yeah and i think it also it helps if  you have at least one or two guys in the team who   are willing to do some stuff that's not directly  their work yeah i've also seen teams where people   were really strict like one developer who said  like i don't write tests yeah and nowadays i mean   that's that's really strange but even back then  it was like you get paid a hell of a lot of money   and you only want to do one trick and that's  it yeah i mean i i don't want you to be like   a full stack developer but you can do something  else if you maybe have some more time left and   we have some more work then you can easily split  the work yeah and if you have some people in your   team who are willing to do that i think that  that works easy and um it also helps if you   can upfront somehow select people who fit well  together but that's always difficult i know we we   tried to do that in the past and sometimes we were  lucky that we simply had a group who who clicked   together for instance i was in a team once where  we had one guy who was really technical yeah um   he had quite a challenge if he needed to implement  a normal feature because and he saw all kinds of   problems that could arise and things like  that yeah but let him letting him fix stuff   on compiler level and byte level or network level  he was really really good at that nice so when we   had stories and and we were selecting who would do  what um it was really easy he got the the annoying   stuff we didn't want to do and we got the other  stuff which he wasn't really comfortable in doing   and so sometimes you get it automatically i know  we also tried a bit on selecting those skills   for a team but often what you see is i you don't  always have the skills available people are still   on other projects and stuff like that so it's  difficult to get like an ideal team i think but   as long as people are are willing to help i think  that helps a lot already yeah it's all about that   collaboration base yeah because together you can  solve a lot of problems in that way right and you   can fixate on well this is this is just my skill  but if you're not a sponge and willing to learn   what other people are doing then you're going to  be stuck i think and you're going to be that one   trick pony basically and if that trick fails then  well you're kind of screwed right because then   you're kind of out of your place and it's probably  time to to look elsewhere i think it's very   important to hire people that have a mindset and  are just hungry to learn right there are sponges   and that can absorb information but still have  their preference and kind of their speciality   the thing you laid out in the kind of t-shaped  thing yeah right because you still want to be kind   of expert in in either one or two domains right  but still have kind of that general overview and   being able to fill in someone else is ill or  even leaves the company right because leaving   the company is kind of a doom scenario if that guy  who was very good at the technical things left the   company you would have kind of a gap in your team  then basically which you would have to fill with   someone who would have equal skill level that's  kind of hard to do and i think you mentioned you   need people who are eager to learn on the other  side that's i think also a challenge because   people who are eager to learn will quicker leave  the team because they they learned the trick yeah   i've had it in the past as well where we built  applications and after like the third one was   like yeah technically it's everything time the  same it's just like a different front end and   a few different rest endpoints but for the rest  it's the same i could predict when we started what   issues we would get along the road um so if you're  really eager to learn you probably hop a bit more   and that's i think also something that's tricky  nowadays i understand it because i do it myself   yeah but for really good teams it's better if they  stay together a bit longer like a couple of years   if team members switch like every  couple of months you never get like the   the really good dynamic where you know each  other where you can simply shout at each other   and things like that where it's more more like  friendship and and collaboration and you know what   everyone likes and uh how you can divide stuff or  if you don't if you face an issue you know who you   can ask things and and things like that yeah  so i think that's also a challenge nowadays in   it because there's so much demand people keep on  switching and it's hard if you look from a company   perspective to get a really good functioning team  yeah and i i also think it differs a bit if you   uh work directly for a company because then often  you have one tech stack that you need to learn and   that will stay there for a couple of years yeah  or if you work as a consultant where basically   every company you go to they have  a completely different tech stack   even if you do java one company uses spring the  other uses jakarta or micronaut or whatever yeah   and then you need to learn a lot more even so  yeah i think different places different challenges   yeah and also different preferences right some  people might be very fine just within the same   company right might be a product company and the  same tech stack but it has its own challenges   and the longer you are there the more you learn  about different domains right your mental model   becomes very sharp in what the code base reflects  and if it reflects reality or if it needs changes   in that way if you're a consultant you kind of hop  a bit more from job to job right and you interact   with a lot more people at clients for example  and i think you teach more as well because your   sphere of influence is basically within that  team you're the consultant you're kind of uh   an expert in a certain domain that's why you got  hired in the first place so you're a bit more   knowledge spreading and then even in between which  i'm very fond of is kind of the agency model right   you might be within a fixed team and you're kind  of a task force as you go to a client and fix just   a big chunk of work and that chunk work can change  the tech stack can change but the team kind of   stays the same in that way yeah but for companies  it's very interesting because there's a contrast   there companies want stability right they  would love a great team that never changes uh   but people within that team want a challenge right  they want to be able to learn if something changes   on the market and it's not in the company and they  want to try that out they will probably leave to   try that out right you have room to experiment  but that's not necessarily what companies want   so i think there's a there should be a  match right the company should be able to   allow people to experiment um and that'll  kind of glue them a bit more to the company   yeah and it helps them grow because if you keep  the same team like for many years yeah um i   you don't have like four lead developers in one  team yeah at least i haven't seen them yet exactly   yeah so it's it basically hinders the growth i  think of the the more junior ones in that sense   i think it's better if they they have the room to  to leave after a certain period of time yeah um   so yeah that's always a good difficult balance  exactly we're moving back to kind of a career   in coding i think everyone will face kind of a a  decision or or a two-way road basically one that's   a bit more high over more to the people side  and one one that's a bit more in-depth into the   technical side right i think for you it was a bit  more high over and more the people side i mean i'm   just guessing because you do a lot of conferences  and a lot of developer advocacy but why why was   it more the high over and not necessarily the  technical side for you um i think i do a bit of   both um so i'm still technically involved now as  a software architect i try to help with like more   strategic decisions for instance we decided to go  from the vertex framework to a spring framework   several things we changed in our  cloud setup and stuff like that   and i still hands-on help teams so i help teams  with actual the migration to the newest version   of java i changed their code base basically  yeah so i still doing some hands-on stuff   uh not really implementing like functional  features at this point in time because i don't   have the time fret as i'm yeah super architects  for like 100 people or something like that   with a lot of teams so i think it's sometimes  interesting to see uh how much something is   more people related and how much something is  more technical related yeah because of course   i mean you could also do like management and  that's often seen as something then then you   move really away from the code but there are  some managers who still code and i've been a   trainer for a while within our company which i  think is also really interesting position as a   trainer or a teacher at a at a school yeah and  a lot of people then ask me like yeah yeah so   now you stopped coding and i was laughing like  no i'm coding more than i ever did yeah because   in the years before when i was a lead developer i  also had scrum meetings and discussions and stuff   like that i had a team which we give demos and  stuff like that when i was a teacher i was by   myself basically we had some other teachers but  we were all working more or less independently   maybe chatting once every two weeks or  something like that but that was more informal   and the rest of the time i was basically either  teaching stuff or creating new course material and   creating all kinds of example code and the nice  thing about that was also that it was quite broad   if you're working as a consultant in a company  or as an employee sometimes if you work with   a technology like spring for instance you only  do like the rest part because the database some   other team is is creating it and you simply call  some other rest endpoints yeah and when you're   a teacher and you teach a spring framework  you have to teach everything so it's it's   a bit broader than uh when you work on a specific  project where normally you use a subset of a   technology yeah so actually i quite enjoyed it and  i think i programmed more than i did in the years   before that yes so i can really also recommend to  try that uh if uh one or more trainings uh most of   the time i would advise if you try something don't  try it once we tried a couple of times the first   time often is a bit of a challenge you're really  nervous for it in the end most of the time the   attendees are still happy with it but for yourself  it's the first time is always a bit of a challenge   so if you do it a couple of times you can see  if you like it and maybe do it full time or   do it next to your job it depends a bit on your  possibilities and again if you have a bit of a big   company where they both do consultancy or internal  projects and they do a bit of courses then it's   easy to do both things at the same time yeah and  that yeah i quite like that and then later i did   more like so for architecture and um from when  i think when i was lead developer i indeed did   conference talks and i wrote articles and stuff  like that but it was quite a small part of my job   eventually i did partly that and partly as  a technical evangelist so i i officially got   some time from the company to spend on it i think  back then it was like two days a week or something   like that so i could speak at conferences and  uh write articles and and do other things and   i led the community for java developers in that  consultancy company for a while as well yeah   so i did both a bit to the outside world and also  to the inside um basically making sure that we had   interesting trainings to do and training  curriculums for for new starters uh help   with marketing with boots at conferences and stuff  like that so there are a lot of ways that you can   do and some involve a bit more coding and some  involve a bit less coding it's it's just what   you want i still love coding and i spent some  evenings still coding or writing an article and   trying out some new framework or stuff like that  i still like to do that nice i'm i'm happy that   there's also kind of a middle road in which you  can do both yeah right because i've asked this   question before and people are very much like no  no for me it was coding all the way i went more   in depth i specialized in quality etc etc and the  other way well i wanted to be a bit more high over   so i started with a tech lead position then moved  into management and now i'm kind of activating and   multiplying people and you're more like well  i still kind of do both right and it depends   on on where i am within a company i can either do  a lot of conferences or i can teach and really go   in depth and know my stuff right because you  need to know your stuff before you teach other   people what i wouldn't imagine but it makes sense  the way you lay it out is when you're in a team   a lot of your time you're aligning with other  people right and as you mentioned you might not be   responsible for that full picture but when you're  teaching it's just you coming up with material   and you need to have that full picture to  teach other people that same full picture   right because that full picture is going to help  them along the line along the line along the road   within a company and kind of getting that mental  picture of where the company is of their kind of   theoretical mental picture in that way um and then  it makes sense that you're way more hands-on way   more preparing stuff than you would otherwise  because you would be aligning with other people   yeah what are you doing now and what's going  on next for you um i'm currently working as a   software architect which architect is also a role  where some people are like okay now you're gone   of the technical stuff and you're in the ivory  tower yeah and um i did some architecture work   in the previous company as well and when i joined  this company um i also talked to them i said like   yeah i still want to do stuff hands-on so i'm  doubting if i would be rather like something   like a lead developer or senior developer or an  architect yeah and i said like okay we'll simply   let you speak to different people from the  company and you can ask them whatever you   want about the rule and then my most important  question was like yeah if i'm an architect   am i putting ivory tower producing documents yeah  or can i help teams hands-on and and my manager   immediately said no no we just make sure that  you can do what you think is good for the company   yeah and and what helps the company forward and  then i was like yeah that that sounds like good   because if you're in a team and you focus purely  on technical stuff that's interesting but also   sometimes annoying because then other people make  decisions for you yeah so they decide like yeah   we no longer do java we're going to do.net  or we use this framework or that framework   and you're like what yeah sometimes i'm like yeah  i don't know if that's the right decision so it's   like i want i would like to be more strategically  involved and more long-term involved as well while   still doing a bit of the more hands-on work of  course it's no longer full-time because yeah you   have other responsibilities with it um but it's  possible so as an architect you don't have to be   like the ivory tower architect and  yeah if i sometimes look at vacancies   if you see vacancies with a lot of vague terms in  it then it's often more the ivory tower architects   and so really pick like if you want to do that a  role um which also involves a technical part and   often i'm called a software architect the names  sometimes vary between companies as well but   i think in general software architect is a bit  more technical and things like solution architect   they are more focusing on making the solution  for um a specific business desire yeah   and that's often a bit less technical so you  have different roles of architects and where   you can choose from basically and yeah i still  like it that i can both influence long-term   decisions while still yeah feeling involved with  day-to-day work basically yeah what i really like   from that is that your manager basically said  no no whatever you think is right is how you   should fill it in right that's very cool because  then you kind of also feel empowered like ah   i can just try this out i think it's this way  and you're probably right right because you're   right in the thick of it your manager is a bit  more high over and more overseeing and to get that   trust and to be able to execute in your own way i  think that's very cool yeah i think in general it   helps a lot if you have a manager who trusts in  you and uh who lets you do interesting stuff yeah   and and you have an interesting team to work  with then maybe it's not like i would maybe   want to spend more time on coding and less on  i don't know or writing powerpoints or whatever   yeah but still it's a nice it's almost nicely  imbalanced and it's a nice environment so yeah   why not stay there basically yeah yeah i really  like the picture that we've kind of painted here   in that when you start from university find a  company where you can still grow right because you   need to keep learning keep trying things out right  either on the job or at home kind of experimenting   doesn't even need to be either technical  or more high over more people's side   can be both right it can be right down the middle  of the lane and even those different roles in kind   of back end or front end or even full stack try  things out and see what kind of fits with you but   make sure you're within a team that you can still  learn from other people right and then just try   things out see where you end up reflect if that's  still the right way for you um and otherwise shift   gears or just keep doing what you're doing yeah i  love kind of the the road that we've laid out is   there anything that's missing that you still would  like to share yeah i think one thing that's maybe   also interesting is a search for a company that  supports you in improving in various ways not only   technical yeah for instance i i spent like um a  week in the invoked with the training for english   basically so my english wasn't bad but i was doing  a lot of presentations and writing articles i was   like i think i can still improve it and my company  was like yeah that's part of your job simply do   that awesome while it was ridiculously expensive  but they gave me the room to do that and i think   people can grow in different directions some  need a bit more help with their technical work   some maybe with a bit more like social skills  or convincing people or how you interact with   people um especially in a team you need to be a  bit aware of of how other people react to you and   how you should maybe communicate differently with  some kind of people yeah so make sure you that   you train in different areas and not only the  technical part yeah i love that man thanks for   coming on johan thank you a lot of fun i hope  you had too yes definitely thanks for having   me cool man we'll do this again sometime  yeah definitely john johnson everyone beyond coding from your sponsors  Xebia creating digital leaders you
Info
Channel: Beyond Coding
Views: 46,641
Rating: undefined out of 5
Keywords: Starting a Career in Coding, beyond coding, beyond coding podcast, patrick akil, tech podcast, a career in coding, coding career, johan janssen, starting a carreer in coding, how to get a career in coding, tech evangelist, tech architect, developer advocate, full stack, akil patrick, tech podcasts for beginners, tech podcasts best, how to start a career in coding, coding podcast, programming podcast, podcast programming, programmer podcast, coding podcast for beginners
Id: bm5SEvQxMAI
Channel Id: undefined
Length: 42min 17sec (2537 seconds)
Published: Wed Dec 15 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.