r/javahelp•
pbOmen

Any Java dev or people learning Java looking for a mentor for their careers?

Codeless

Mods if this isn’t fit for this sub just let me know and I’ll remove (apologies if so)

Hi everyone,

Long time Reddit lurker here. So I’ve been toying with something I get asked a lot in real life which is to do some mentoring.

Firstly let’s be up front this is completely free I just want to give back to some communities which helped me build my career.

To give some some info on me:

I’ve been working in tech for 23 years.

  • I’m the CTO of a scale up
  • I’ve sat on the board of a multinational IPO’d company for the last 3 years
  • I’ve been the head of engineering at another company for the 4 years
  • I’ve held various other managers roles Including head of automation, devOps, performance.
  • before all that I was a dev and principal engineer.

I won’t lie I’m not wonderful at Java but I love this community, I used to dev in C,C#, Python and I’ve never been part of a community as the Java one.

What I’m offering here is mentoring on growing your careers and that type of thing. Absolutely we can talk code too if that’s what you want but outside of general best principles there will be better people to ask 😂 I’m too far removed from the code for too long at this point.

if people are honestly interested comment below or DM me. I’ll most likely open a slack channel or a discord for us all to talk.

Thanks for reading and hope to hear from you all.

Posted Aug 14, 2021, 3:06 PM UTC

5542
Ilikesmallthings2•

What is your interview process for mid senior level developers?

8
pbOmenOP•

Awesome question and one I struggled with for awhile. Back in the day I used to use a "one size" fits all approach for every mid senior and I'd sadly probably grill them on tech questions. However I came to the conclusion that doesn't work, for me at least. Also my definition of a senior for example, would be different to that of another manager in another company i.e. a senior at Microsoft when I was there was VERY different to a senior from a SME. So for the last number of years I tailor it to the person in question.

Typically, I will make sure I do the first round with everyone, it eats through my days but its worth it. I like to give everyone the honest "here's the good parts of the company and here are the really bad parts", everyone should go into a job that eats 5 days of the week with their eyes open. Again, back in the day, I used to upsell the companies I worked for when interviewing...then I would see some be really unhappy people as there maybe some legacy code etc to touch and they were promised "green fields". In the end they are either just sad and depressed or they leave pretty quickly but it always ends up with the same result i.e. unhappy people with a high turnover.

So I have my own process which some may say is strange BUT it has served me well (it's worked like 90% of the time).

Basically within the first 20 mins of the chat we'll just shoot the breeze, talk about tech and what they think is the next big thing or exciting thing that interest them. As they are talking I would ask myself one and only question.....would I go for a beer with this person on a Saturday when I'm off i.e. is this a good person if so, we're instantly going to proceed to round two unless they don't get the basics of programming. My thoughts here are you can't train someone to be a good person / fit for what you want culturally. Training for coding is easy (ish). Now I'll also ask some basic tech questions depending on if they are full stack or backend etc to just sound them out. I'd expect mid senior's to have some concepts down, like basic design patterns. However I find a whiteboard session is good for this. Some mid and even seniors use design patterns without knowing their name which is fine but I've seen friends in other companies who would show them the door if they didn't know a "strategy pattern" by name. Total BS if you ask me. On the whiteboard, I like to verbally explain our products and then I'd ask them if they were starting it from scratch how would they design it. You get some pretty funky answers sometimes but 9 times out of 10 you end up talking about it and having a good time and you see how they work internally.

I'll also ask them about any side gigs or projects they work on. I love when they have some and I'll even make sure they can carve out one Friday a month to work on them. I had one girl working for me who ended up doing this and left to start her own company as it took off. This was one of my happiest moments I kid you not.

​

For round two, they would tend to have a meeting with one of my eng managers and a senior or TL and go a bit deeper on the tech side. Assuming everything goes well here it's a done deal and I'll ask them do they want to talk to some juniors (on the same day as the round two chat) for 15 mins. I feel this helps them a real feel for what its like working at the company since juniors tend to be "fresher". If you ever get a chance talk to a junior and ask if they get the help they need to write better code. If they're always told I dont have time, read this article...stay away from the company...they don't want to see you grow and develop.

​

Back to the interview in round two....If they struggled with any of the tech side of the questions I'll most like ask them to either send over any code they've done from github or if none I'll ask them to do a quick tech test. Nothing major, something that would take a few hours at most. In the case of backend, I'll normally say build some CRUD API and include a unit test if they can. This will let me see how the structure their code.

After that if its deal done if everything looks good.

​

If you're job hunting can I suggest one thing and one thing only....make sure you've some git projects etc. I'm in Europe and there are 5 mill odd engineers alone. Getting CV's are boring and you can overlook some super talented people as CVs are 1D. Put some code up on github even if its "shit" to you. It will help you 1) Stand out and 2) help the hiring managers get a feel for how you approach code.

​

Anywho sorry for the LONG email, hope it gave you some insight. If you've job interviews coming up, feel free to DM and I can do a Zoom call or something to help.

​

Stay safe \m/

10
WebNChill•

.

1
[deleted]•

[deleted]

5
ZarosspoweR•

I've just been hired for my first tech job so I dont have much experience to base this of. But, if I was in your situation, I would make a bullet-point list of projects I had been in and described my roles and responsibilities within them. Structure, problem solving skills and working together with others effectively are highly valued skills - that I know - so maybe try to angle it in a way that promotes this.

1
vaprika•

I would be really interested into slack chanel. Would love to be mentored on the career side.

Also, quick question. I am ex civil engineer, currently junior java/react dev with wife. What would be your advice for someone who wants to learn and improve as dev as well as have personal life, do sports and so on? How do you manage your routine to get the most out of your day? I bet that a person with your experience has to juggle a lot of things so maybe you will have some advice for me?

4
FullmetalSpy•

Im really interested in an answer to this one

3
pbOmenOP•

Man or man. I have fucked this one up so many times I've lost count...the balance part that is. So firstly don't be hard on yourself whatever you do if you're struggling with it.

Firstly kudos for the switch into dev work!!

Now down to the question.

So I've tried a LOT of things to get the most out of my day and I'm sure what didn't work for me might work for a LOT of people. You kind of have to listen to your body and figure out what works and pay active attention to your home life.

I tried the 4am thing for about a year, I would get up a 4am, have a small light snack. Read emails for an hour then hit the gym and then hit the office till around 8/9pm. This was hard and I was more tired and less productive than ever. I tried the power naps thing too...didnt work...I tried some elements of bio hacking....didnt work either.

​

Now here's what does work for me.

I now wake up around 6:30, I make coffee, read reddit till about 7-sh then I'm onto emails for an hour and I keep it to the hour. Then I'll walk the dogs and have breakfast with the other half (this is important if you can do it). Then I'll have a normal working day and I'll do that till Friday. Then it's a DEAD stop. I do no work on the weekend anymore unless something has exploded and it would have to be important. On the weekend I make SURE me the other half do something that she likes maybe a walk with the dogs maybe a movie at home and cooked meal.

​

During the normal day I'll try and timebox as much as I can so if I take a dev ticket to keep close to the code I'll only x hours on it then move on and come back to it the next day. I'll do meetings but I'll be strict on them running over. I'll just leave "for another meeting" if its running over. These types of "time creeps" eat a lot of the day.

​

What I figured out was in the years before I tried everything BUT turning off to find a balance and just trying to enjoy time with herself. As I was working non stop till about 9pm most nights for years straight things got strained between us, we would fight more or just be moody which would in turn create more stress for me which would actually make me less productive so I'd work more (you see where I'm going with this?) .

When it comes to learning new things, When I get home i'll keep perhaps an hour and a half to learning something or working on some person projects after that its laptop closed and 100% family time.

So my advice I guess overall would be:

​

  1. Carve out time for certain tasks. Emails for an hour in the AM, meetings and then solid breaks where you can get work done.

  2. Take 30mins to go for a walk....or run or something at least a few times per week.

  3. Don't work weekends, you need downtime to reset the brain. Yes sometimes work will call and you'll have to do some bug fixes etc just be strict and keep it the exception

  4. Don't ignore the home life, that shit will just slowly creep in and effect your work life.

​

EDIT: Oh and try not take things mentally home...I haven't fully figured this one out yet but I try to actively switch off if someone pissed me off in work or something is bugging me work wise, you'll just take it out in some way shape or form on here.

2
pbOmenOP•

Edit 2: I'm not sure I actually answered your question :D

1
vaprika•

Thanks for the answer. I feel like I am juggling three aspects of my life. 1. My work. I am ready to go the extra mile and to put in some extra just to be able to rise in the company and be useful to the company. 2. Learning. In order to become better dev I have to be learning constantly. 3. Personal life. Wife, cat, family, parents, brother, sisters, friends. Whenever I start putting my hours into one of the three earlier mentioned things, others will suffer. Your answer is really useful. I think I just put to much pressure on myself. I will try to take it easy and to have my time categorized. I used to get up quite easily early for my previous job. Maybe this is a key for me and my routine. Will try to adjust waking up time.

Also, how about that slack channel? I would love to be a part of it. I would love to see myself rise and what I want the most is to be able to help others as well. I would also love to see how others are doing and how their improvement is going.

1
Camel-Kid16 year old gamer•

What is the best path to move from developer to a VP/manager/executive director type position within a company?

2
pbOmenOP•

Ha careful what you wish for my friend :-D right so this is fucking brilliant question.

Just before I go into it...keep in mind not every company will be at the same scale where you can do all the below. BUT tailor it to the size of your company.

I'll level with you:

  1. My answer might make you go "fuck this guy"

  2. Make sure you want to do it :-D There are days where I do go back to coding and I think...god I miss this grind of figuring stuff out or your in a room trying to understand how a Production bug happens and you want to just code and not give status updates to the CEO every 5 bloody mins :D Also once you're on the board now you've entered the world of being accountable to the shareholders and you've a duty of care...things tend to change at that level.

​

Right so, firstly this is where a lot of people may hate me and say thats not fair etc and its true its not. At lot of time it comes down to "relationships" inside the company. So for example if you've idea's or there's dev issues or improvements to be made but never get done. Go have coffee with your CTO, CEO, VP etc. Seriously go have a coffee with your CTO or head of Engineer regardless of problems and just shoot the breeze. This will help on two fronts,

​

  1. they'll get to know your name.

  2. Explain the problems but also how you "think" you can fix them. Just remember going to a VP or CTO etc and saying (for example)...our dev pipelines are shit, it takes days to get features done just makes you look like someone who just complains...go with with solutions. If you've got some larger problems that you are talking about i.e. our monolith is making dev slow we need to stop and rebuild....that won't work. Rebuilds take months at best and all they will hear is "You want to stop the roadmap and rebuild something just so your life is easier???" Go with a plan of breaking it down to how you will slowly rebuild without derailing the CEO's bonus :-D

​

Now just to call this out, I'm not talking about bypassing your Team leads, seniors or whoever is above you. Also keep them in the loop you dont want to burn bridges and some people get very sensitive if they've heard you've gone bitching to the CTO but never said the problem to them

Back to talking to the CTO etc. when talking with them show an interest in the business side too, how does this part of the business work, how can tech help improve it. This will leave a lasting impact on them trust me. Do presentations on how doing something a different way will help etc and make sure some managers are there. Presenting sadly is a thing at manager and above level.

​

I could write forever on this so I'll stop after the last one. Anyone and everyone is free to dm me and I can go into more detail.

The last one is the simplest BUT often the one which is NEVER done. Let them know thats what you want to do. Go to your TL, Dev manager or when having coffee with the CTO explain thats what you want to do and how can you get there. Ask for training and do it. On my fathers grave, the amount of engineers that I've gone for a beer with for their "exit interview" and said to me "ah I really wanted to do X" would make your mind explode...they never told anyone....if anyone says to me I want be a CTO some day or I want to be a manager now we're into a different game...the cost of hiring a manager is nuts. 23k is / was the average cost to hire a dev in the states last year.....the cost of hiring a manager or NUTS so if I have someone who wants to grow into that role you better believe I'm putting together a plan for it.

Oh and lastly....ask for a mentor internally in the company. You would be shocked how many C levels will love this if you asked them to be your mentor as you want to do what they do. Or if they can't time wise...ask them to find you one either inside or outside the company.

7
BigBad0•

That was my question too. I never share a coffee !. I'll really think of your words more seriously. I'll leave a dm to you as well.

2
UncomfortableDingo•

Absolutely keen on this! 2 years in the game of Java.

2
dionthornthis.isAPro=false; this.justTryingToHelp=true;•

Have you ever done a solo indie project? If so how do you stay motivated to one project >.>

If you have a github I'll follow ya.

2
pbOmenOP•

I have and its hard! Well I used to be honest.

​

So what worked for me was keeping myself accountable. I would make sure that the project was live somewhere (not just on my PC) and I would make it public (the repo) then I would have a Jira board and do my own sprints at home.

​

Another thing I would do was look for people to work on it with me (Friends wise) that tends to keep you somewhat accountable.

2
dionthornthis.isAPro=false; this.justTryingToHelp=true;•

Good advice, thanks!

1
Empero6•

I currently work at a consulting company (first dev job), but my current plan is to become a PM. My plan is to work here for one year and then look for another place. Could you give me some advice on what to focus on during this current job and my future prospects?

2
pbOmenOP•

Hey Empero6!

​

Cool so at your current company I take there is no chance of you moving into a PM due to it being a consulting firm and have you mentioned it to anyone in there?

I might PM you actually instead....could be a lot of back and forth questions here :D

1
bool_idiot_is_true•

I might take you up on that. I dropped out of a CS degree due to burnout (mostly maths and physics related, my coding is rusty but solid) and getting back on my feet has been rocky. I just found out my pharmacy has been giving me the wrong meds for the past five months. I felt like I was making a lot of progress; but it turns out that was due to a ridiculously high dosage of benzos mixed with my already high dosage of ADHD meds. The word my psychiatrist used was "tripping."

I live in a country with 30% unemployment but a growing middle class. There are plenty of opportunities; but I just need my foot in the door.

2
pbOmenOP•

Wow, jesus thats intense about the wrong meds! Sorry to hear that mate!

​

Yeah I'd be over the moon if I can even help you 1%, will DM you now!

1

I am. Thanks for posting this offer. Have my award and upvote. Commenting so I can find this thread later.

2
pbOmenOP•

Wow thanks for the award!!! I'll send you a DM

1
PB_Whatsoup•

Yeh sounds good, please do, some of your answers to other people's questions have already been extraordinarily helpful

2
pbOmenOP•

Thanks PB! I'll send you a DM

2
thegreatescape1225•

Would love to be a part of this! Will be graduating this coming May.

2
pbOmenOP•

Great will dm you now so

1
sry4dest•

I'd love that, if you were up for that.

2
renzothenoob•

Me tooooooo pm sent

2
Mast3rGenius•

I’m super interested! Please do

2
TechShokunin•

I'd love to join! I'm a graduating CS student. Very excited to enter the industry :)

2
AutoModeratorMOD•

#Please ensure that:

  • Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions

  • You include any and all error messages in full

  • You ask clear questions

  • You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.

    Trying to solve problems on your own is a very important skill. Also, see Learn to help yourself in the sidebar

If any of the above points is not met, your post can and will be removed without further warning.

Code is to be formatted as code block (old reddit: empty line before the code, each code line indented by 4 spaces, new reddit: https://imgur.com/a/fgoFFis) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.

Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.

Code blocks look like this:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.

If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.

#To potential helpers

Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1
Kind-hearted76•

Thanks. I could use some advice.

1
pbOmenOP•

Awesome i'll dm you!

1
Kind-hearted76•

Sweetness thanks.

1
atlas-dev•

Definitely interested! I'm currently a college senior, so I'll take any help that's offered! :P

Edit: would prefer discord server. Ime it's a bit more flexible than slack.

1
big-tttt•

What are the kinds of things a junior/mid level should be doing, thinking about, to have the best chance at becoming a manager ? Thinking about management related requires time and creativity, how to balance that with devs responsibility? (The goal keep moving up to be VP/CTO)

1
pbOmenOP•

Not sure why you got downvoted but anway.

​

So if you're a junior and you want a management role you'll have to know the business pretty well. I'd start here, if you can understand the fundamental push / pull dynamics of the business / industry.

Have you considered asking someone in the company even in Product to be a mentor for you to help get a better understanding?

1
big-tttt•

Nothing formal, I will start there then. Thanks

1
shiba009933•

I'm interested - your responses to others, so far, seen very interesting and a great perspective.

1