Nano
BOT
16-Feb-20 11:03 PM
Lana is answering Toby Larone's Question:
Question: You said that you consider yourself a generalist. What do you do to keep your knowledge base wide and deep enough, whilst keeping on top of new topics?
2
Lana: A lot of this comes from practical experience. You start by learning not just the direct piece of code that you're working, but those that connect to it, and then expand out. Be open to asking questions of other people (e.g., why did we choose to use X for this task? why did it suit us better than Y). Drawing on the knowledge of others is very valuable. There is also the occasional blog post and reddit browsing built in, but usually I'm keeping up with the technologies we have in place, and how we can add/best make use of those
1
Lana is answering botus's Question:
Question: What is the most valuable thing you've learned so far in your career?
1
Lana: To always be learning. Never be afraid of owning up to what you don't know. Once you're willing to do that, you are open to learning about it, and can gain that knowledge a lot quicker than trying to fudge it.
9
Lana is answering Elliott's Question:
Question: In your mind, what's one of the most underrated soft skills in the programming industry?
1
Lana: Never underestimate the power of people skills, mostly communication, and using the knowledge/skills of others. For me, the 10x developer isn't the one that locks themselves in a room and pumps out code. The 10x developer is the one that notices department X and department Y are both building the same thing, and can then draw on the knowledge of the people involved in those projects, and coordinate them working together. Rather than duplicated effort from those teams you now have a single project, probably built better because it's drawn on the best of both teams.
9
1
Lana is answering Sey's Question:
Question: How many career related books do you read in a year?
2
Lana: I'm actually not a big book reader. I had to ditch my physical book collection when I went from Australia to US. Most of my career info comes from managers and others around me. Talking regularly to your manager or peers, and asking how you can do a better job. Also keeping up with tech interview skills by interviewing regularly (both as an interviewee and interviewer)
1
Lana is answering botus's Question:
Question: How do you manage your work-life balance?
2
Lana: Quite simply, I don't force myself to do something if it's not fun. If I get home, and I don't feel like coding, then I don't. I'm also a big supporter of allowing work from home and flexible hours (it's surprising how refreshing it can be to skip the morning standup once in a while). Along with this the idea that you should evaluate someone by what their output is rather than time they spend in an office.
11
Lana is answering Lgneous's Question:
Question: What field do you work in and is there another that you would like to experience ?
1
Lana: The bulk of my work has been on payments, and now it's in fintech. The industry I work is a very low ranking factor in where I would choose to work. I tend to be someone where if you throw em an interesting technical challenge, I don't really care what industry it is in. So, there isn't really an industry I'd try to get into.
1
Lana is answering Ping | Pong's Question:
Question: What is the most challenging problem you've faced in your career?
2
Lana: The most challenging problem has been starting a new position at a new workplace and being expected to be a senior technical figure. You enter a work place with a bunch of people who know more about what you're working on than you do, but there's an expectation that you'll be able to ramp up and become the person they come to for advice/guidance.
Lana is answering Shone's Question:
Question: I've seen you a lot in #career-advice so which one advice would you give to a person looking to establish their career path?
1
Lana: Don't be afraid to go for what you want. If you want that dream job, apply for it, the worst they can do is say no. Otherwise focus on the always learning mindset. Build connections and knowledge. Don't be afraid to chase better opportunities when they arise.
6
2
Lana is answering botus's Question:
Question: Did you have any particular role models and why?
1
Lana: I like to take bits and pieces from all those I see working around me. Our head engineer? why has he been successful, how does he make people around him more productive. That manager? What are their strengths, is it people, planning, etc. Then try and work out how I can apply that to my skillset.
Lana is answering Kami's Question:
Question: Have you ever been in a burnout stage? If yes, how do you deal with it?
3
1
Lana: I think everyone goes through stages where they are getting more or less joy out of programming. There are various tricks I use to try and "find the joy" again. This could be a personal project. This could be taking a day, or even a couple of weeks off. It could be talking to the manager and finding a new challenge in the workplace.
Lana is answering Ping | Pong's Question:
Question: If you weren't in this line of work what else could you see yourself doing?
1
Lana: Honestly, no idea. I've been very lucky that computers happen to be what I'm good at. If I had been born outside this time frame, I have no idea. Probably something like an accountant, or since I'm from a wine area, picking grapes.
Lana is answering Zenohm's Question:
Question: What has your experience been, as a woman in an industry that is largely male. From university to full-time, what has it been like?
1
Lana: For recent workplaces, diversity and inclusion have been big focuses in the work place. This means a more balanced workplace and a lot of materials that focus on implicit bias and the like. Honestly, a lot of the tools for dealing with these kinds of bias are useful when dealing with anybody. e.g., value others opinions (make sure to listen, don't cut them off, etc). I think there is still work that can be done to make sure the reasons for the gender imbalance are reasonable and not the results of factors like gender (through schooling, college, and the workplace). It's not something that affects me day to day these days, but as an industry we can always be aiming to be the best we can be.
1
1
Lana is answering Kokoden's Question:
Question: How do you approach high-pressure situations when everything goes wrong?
2
Lana: I have this weird reaction to others people stress, in that it calms me. This is incredibly useful, so do that, lol.
If everything is going wrong it's important to keep a level head and don't forget things like team work, and to analyze things objectively. One of the biggest issues I've seen when things go bad, is people getting defensive with attitudes like "it's not my code that is broken". This attitude is not helpful when things need to be solved. If the factors are pointing to your code, accept that maybe it is your code. Look into why, or find the reasons that can point towards the actual problem (important, the actual problem, not just away from your code).
Lana is answering Ping | Pong's Question:
Question: What is your favorite non-programming related pastime?
1
Lana: Sports. I can follow most sports. Cooking when the mood strikes.
2
1
Lana is answering Toby Larone's Question:
Question: What's the biggest mistake you've made during your career? What did you learn from it?
1
Lana: I'm going to go for the biggest almost mistake. I almost deleted the entire credit card database from our ecommerce company. A script was built, I was told it was tested, and I blindly rubber stamped it as good to go to production. Luckily our DBA caught the issue before this was actually run. The lesson here was to always make sure you're a valuable part of the process. Code reviews pick up a lot of bugs, and blindly green lighting something you don't understand negates that value completely
8
3
Lana is answering Kokoden's Question:
Question: Have you ever worked in a multidisciplinary team (with both tech and non-tech members)? If yes, what was it like?
2
Lana: I don't think I ever haven't. Even if the non-tech people aren't directly part of your team, they are always factors. There are always people outside your team of both tech and non-tech variety that need have some understanding of what's happening. It's hard for me to say what it's like, since it just seems to be the normal to me, lol.
I'd say a valuable skill to learn here is to be able to distill information down to what a person needs to know, and being clear about what the purpose of a communication is (is it a status update? is it requesting an action from someone? by when?). As a concrete example, I needed to be unblocked on a task, and needed a higher up to do this. I wrote this long email explaining the why, and what was blocked, and why we needed their help. After sending it my direct manager (who was cc'd) asked me, "but what do you want them to do about it?". I would have been better off writing a two sentence email being explicit about what I needed them to do. It takes into account their time, get straight to an action, and skips all the context they didn't need.
3
Lana is answering Gh0sticF0rm's Question:
Question: How satisfied are you with your current career path ?
1
Lana: I'm quite satisfied. I've never been that interested in the managing of people's careers and that kind of thing. So, I've stuck on the engineering (individual contributor) path. I've managed to work with a wide range of people and try and learn a lot from them.
1
1
Lana is answering spirit_warriors's Question:
Question: What are your perspectives on being a generalist? vs a Specialist? Are there any nuances or subtleties between the two (in relation to what they do, their job promotion prospects, and mindset?)
1
Lana: There's a place for both, and both should be equally valued. A work place should have a balance of both. To move up the promotion ladder the main question to be able to answer is, how do you provide value to the business. There are many ways to do this. For a generalist, this is having a wide knowledge and being able to jump in and understand what's needed and make technical decisions on projects that span a wide range of teams. For a specialist, this is having the very deep knowledge or being the expert on something key within the business. For example, maybe you're the expert on the Fraud machine learning models. Maybe you're the expert that understands the nuances of how each of our banks expects to have money transferred and the archaic formulas they use. Both provide value, just in different ways.
Lana is answering botus's Question:
Question: What are some skills you hope to improve on over the next six months?
1
Lana: I'm currently focusing on soft skills. My current work place is a lot more in person (i.e., everyone in the same office) than I'm used to. So, I'm trying to be more willing to utilize in person communication (whereas typically I'd go for IM or email). I'm also trying to work out how to best introduce the remote/wfh mindset (i.e., to get them used to always having zoom, and more willing to do stuff via IM or email). A little bit of a contradiction, but both will be useful.
Lana is answering zeta's Question:
Question: Do you have any must-reads for people looking to learn CS?
1
1
Lana: I don't have any specific recommendations. I think if you do your research you can find which books are highly recommended and rated. I've always liked books like the pragmatic programmer or code complete. I think just reading anything is valuable if you keep an open and questioning mind about it. Not a big fan of taking anything as gospel, lol (guidelines are good, rules, not so much)
1
Lana is answering laval's Question:
Question: Do you consider yourself an engineer? And as such, do you spend much time understanding the background of the problem in order to come up with a better design, or do you take the specification rigidly as-is and only implement what it asks and how it is asked?
1
1
Lana: I do consider myself an engineer. I do spend a lot of time understanding the problem and coming up with the design. And then also modifying and adapting that design as projects progress. I never take a specification as is (whether I wrote it or not, it's open for comments/discussion). And I would never want a specification to be rigid. The real world is messy and things change and get missed, the specification should be able to change and adapt as new information comes up.
1
Lana is answering Kokoden's Question:
Question: What is one mistake you see new programmers making more than others?
1
1
Lana: Using scanner.nextInt(), and then not doing a scanner.nextLine() after it. Scanner is the bane of university Java it seems (never used Scanner until I answered questions on TPH).
More seriously, I'd consider the worst beginner mistake to be programming by trial and error. That stage when things are getting desperate and they just want things to work. Once you stop thinking and start just changing things and hoping, then you often end up moving away from the solution as you chase the wrong problems and create more for yourself.
Lana is answering ddivad's Question:
Question: What's your favourite thing about TPH?
3
1
Lana: My favorite thing about TPH has been learning by teaching/explaining. I think having to explain a concept to someone results in you learning more about it. You find different analogies and learn to explain it on different levels (e.g., higher/lower levels) and to use different terms based upon the knowledge of the learner.
2
Lana is answering Mutex's Question:
Question: Can you give us an example of a problem that you have solved, and how in that situation being a generalist was an advantage over being a specialist?
1
1
Lana: Being a generalist is very handy in a microservices environment. Often when working with payments a change would affect many systems (e.g., our checkout service, our billing records storage service, our payments service). When the checkout team says, you proposed that we change X in our service, but this is going to take too long, you are able to contribute a wider range of solutions. e.g., maybe we can change something in the billing records storage service instead. Maybe the checkout service missed that they should actually be calling out to the payments service at some point rather than doing something themselves.
On a more tech related answer, was working with credit cards on PCI compliance. PCI can cover everything from your firewalls, load balancers, hosts, networking, software, databases, encryption, etc. Being able to explain exactly how a credit card passes through all hardware/software is essential for the auditors. Also with things like, if we want to add another data center, how do we configure or firewalls/networking/etc to make this still PCI compliant.
1
Lana is answering Ping | Pong's Question:
Question: What is your stance on telework?
1
1
Lana: I'm hugely in favor of allowing it. But in allowing it you need to recognize and adapt to the challenges. These may be async communication, the lack of context you get from sometimes just over hearing something, etc. It can really test out communication skills and your ability to unblock yourself when stuck on a task.
1
Lana is answering Toby Larone's Question:
Question: Out of everything that you've covered in your career or projects outside of work, what area would you consider yourself to be most knowledgeable in, and what area would you most like to improve in?
1
1
Lana: Probably Java, just through sheer weight of having used it the most.In the same way just building REST apis is probably somewhere near the top too.
For improvement, I'm currently working on a large monorepo, and that's been annoying me, so I've been trying to come up with strategies to make that easier to work with. Whatever will help me improve that, I want to be more knowledgable in, lol
1
Lana is answering botus's Question:
Question: How do you handle working with people who annoy you?
1
1
Lana: I think this is just a case of keeping it civil and on work related matters. Utilizing your co workers or manager is also useful here. Recognize that probably not everyone has trouble working with this person, so discuss it with your manager. "Hey, I just can't seem to get on the same page as X. Any thoughts on how I could change how I work with them?"
1
Lana: (Also, cheap shot about, hey, I work with the TPH staff regularly)
2
1
Lana is answering Ryno's Question:
Question: If you have to give one piece of advice to younger developers (Students, new grads, etc) what would it be?
1
1
Lana: Keep the always learning mindset. Be willing to admit when you don't know something, and then willing to learn about it.
1
Lana is answering laval's Question:
Question: if you come across work done by a colleague, or even old work that's "the standard" at your company that you think is not the right way to do it, do you go along with it or do you push to get it changed? (and what if there are people that you know would push back out of pride?)
2
1
Lana: Whether I push to get it change or not, depends on what value we'd get from changing it. If it's working code, the value is usually pretty close to nil. A good way to drive this kind of change, is when it makes future tasks easier. For example, we need to add feature X, well fixing this tech debt over here will allow us to do that faster, so let's put that in the plan for feature X. If people want to push back out of price, I'm happy to let them keep ownership of that code (I'm always happy to delegate, less work for me), along with that ownership comes the responsibility of modifying that code for new features/bugs, and being able to justify why they think it'll take 4 weeks to do something when there's an alternative plan that'll take 2.
2
1
Lana is answering Elliott's Question:
Question: What's your pfp?!
Lana: It's whatever you want it to be