My name is Lorenzo Pasqualis. I started writing software in 1984. Over the years I used many languages, technologies, and tools. I have been in tec...
For further actions, you may consider blocking this person and/or reporting abuse
Hi Lorenzo thank you for sharing. I have little to no background in software. I work in a small firm as their marketing graduate and constantly find myself frustrated as I don't have the skill set to implement my ideas or communicate it with a third party developer (no in-house developer). I want to learn how to communicate with software developers and I am interested in software architecture and scalable systems, considering restudying. Do you have any tips on ways to learn how to communicate with developers to lead projects and build towards becoming a project manager?
What has changed most in the industry since you started?
What has stayed the same?
What are some areas in leadership that you think engineering didn't adequately prepare you for? For me, I'm spending more time in product now and I've started getting better at understanding or formulating the "why" behind what we choose to engineer but still having a hard time with the articulation and organization of strategy for others to see and understand.
Hi Lorenzo, I am quite new to the professional career, I've been working on Enterprise software just for 4 years, before I was just doing small website as a freelancer to pay my university studies.
Something that really scares me is getting old in this job, I can already tell that I am slower to pick up new tech and more attached to what I know in comparison of what I used to be when I was 18-19... and I think this will get worse aging.
I am really scared that at some point I will lose my ability to adapt to changes completly and get useless.
Ho do you keep yourself always updated on cutting-edge tech stack when your learning pace slows down due to the age?
(I am not calling you old, lol, I think is scientifically proven that learning pace decrease with age)
What were your thoughts of going from coding full time to switching to leadership positions? Any reflections on the transition that you'd like to share?
Also, did you ever juggle with doing both at the same time?
I've gone through the same transition: How have you managed to balance "management" with keeping up with the technical details and implementations that impact your team? It's hard to find time to actually write code these days!
I'm trying to make it brief, forgive the rudeness :)
Definitely this. I'm currently making the switch to management and this is one of the primary factors that drove my decision. I feel like I have a lot to offer at the team level (I'm currently a technical lead) but that I'll be able to help even more people in a full-time management role.
Lorenzo, thank you for writing back. It's really encouraging to receive such a thoughtful response. I appreciate how you provide useful resources and direction. I've heard good things about SCRUM, I'll look into it. I agree that getting a mentor and tech lead would be helpful. Would love to read your blog haha.
I make money specifically from knowing how to talk out ideas and implementation with marketing folks these days. It has turned into a specialization of mine by the looks of it, actually. I started doing graphics in marketing as a print designer (might be from that?)
I'm not a technical lead, I'm just a talkative developer/designer and consultant mostly at times. I like to joke and have fun, so that always helps on the getting-to-know on the clients and then understanding their needs.
Lorenzo is correct in terms of us speaking to non techs. Although, I prefer my project managers to be past devs as they understand our pain points more readily on shipping/maintenance/politics, etc.
I still very much need a project manager to check in on me from time and a good manager for guidance on various matters that may crop up. I suppose that would be a form of mentorship in some ways. I have learned a lot from some managers I've had. :)
Thanks for sharing that's really good insight!
I was only 10 years old in 84 but I started coding machine code when I was 13. Today I work 2 cleaning jobs that add up to 39 to 66 hours per week that are at night or in the early morning. In theory there should be some part time coding job that pays a lot more but like this my mind is available for personal use.
I'm actually looking to start an internet revolution for the betterment of mankind. (I can dream right?) Over the years I've envisioned some wildly complex ideas that for the most part are well beyond anyones attention span and skill set. (duds) In doing so I started to see that the best ideas are those where a basic understanding can be had in seconds with infinite steps into further complexity.
I've managed to simplify something like a hundred ideas to the point where I should really start working on their implementation. I've picked one for you based on your love for scalability.
The goal is to create a organic new-news aggregation network and to dramatically speed up news aggregation.
It involves 2 file types I called: Even Simpler Syndication [ESS] and No Nonsense Outline [NNO]
I wrote a spec here go-here.nl/ess-and-nno but I think I can give a better description tailored for you.
An ESS is a tiny comma separated text document with a unxi build date, an url for an rss feed then, for each news item, 1) a publication date that is an offset in minutes from the build date and 2) a tiny check sum.
Aggregators should limit their results by age and discard an ESS if its build time or top article indicates it being to old.
An NNO file is the end result of aggregation that can be used for the next session but is primal intend is publication/sharing.
It it s a comma separated text document that starts with a unix build time followed by a sorted list of items 1) feed url, 2) minutes before build, 3) title checksum
The file is build after the aggregator aggregates the users hundreds, thousands or millions of ESS, RSS and/or Atom subscriptions while reducing the result list by a configured amount. (say 3000)
When published a 2nd user can load the NNO into their aggregator which should fetch the top feed items listed in the NNO until they have a screen full of results. (scrolling loads more)
The 2nd aggregator can then proceed to fetch that users own subscriptions and/or parse additional NNO files into the result set.
When done they can publish their own NNO file.
Ideally the aggregators maintain their own manually unsubscribed feed list and implement a configurable filter like a word and a word combination filter, a Bayes filter, a machine learning implementation or some other filters. The news items displayed should have an indication about their origin (which NNO file) and they could provide an auto translate link or do inline-translation of headlines/articles.
The point of the entire exercise is to have people access the internet without a multinational man in the middle.
In my experience a few thousand RSS and Atom feeds will produce at least one truly fascinating thing to read per day while larger amounts allow for more aggressive filtering.
Sadly, RSS and Atom files can be so large and are so hard to parse that a home connection can do only a very limited number of them. If there are a billion websites ten thousand is only 0.001% if each request would take a second to resolve ten thousand would be 166 minutes. If your home pc can do 10 per second you still have to wait for 16 minutes while loading the top 40 results of an NNO file would take only 4 seconds.
I think in those 16 minutes combined with a decade of finding and filtering feeds real value is produced. If the result set can be enriched several times per day with input from other users (thereby allowing for more elaborate contextual filtering) the end result accumulates value faster than it expires.
The big question is: Where do I go from here?
I wrote an (untested) Node.js module for ESS, I will make a PHP version as well. I will attempt to make my powerful but userless aggregator more user friendly but mass adoption is the ultimate pipe dream.
What ideas/suggestions do you have for this project?
Ill add a news result just for fun:
news.go-here.nl
I'm sorry for the lack of tech websites ;)
Hi Lorenzo,
I signed up here just for this thread. I first would like to thank you for affording your valuable time to answer questions and give back to the development community.
I read in your answers that management is a totally different job to coding, I have series of questions for this:
Thanks in advanced.
Oras
Hey Lorenzo,
it looks like you have good experience on Scrum as well...
Can you talk on responsibilities of a PO vs team/technical lead ?
Background is, that i feel my current team setup is far from reaching its potential.
A while back i was driving a lot of things for a new project... i liked it, most important it felt like flow. E.g. the ticket ordering felt like 'Yeah, thats the good next step', thing were building on each other.., etc..
Since PM/PO slowly took over most of the ticketing, planning workflow i'm now at a point the flow experience is most of the times lost, sense of priorities is decreased, meetings are boring and it feels like 'Yeah i can work for the next two weeks or take PTO, doesn't really matter for the company'.
Now i'm almost too tired to work on better responsibility structuring, but i would like to get your input on this!
I feel a little bit like 'Please care about the high level things you want to have, talk to customer's etc.. convey everything to me and/or the team and let us figure out the rest. Also in prior teams i sometimes had the impression the team lead is suggesting every step to the PO so that the PO can repeat it and make things official that way... which feels like wasted time...
How do you deal with underperforming member of a team? What if it's persistent, despite talks, yet it's not big enough to take serious steps (such as firing)? How do you deal with such individuals?
Any advice for communicating challenges upwards? I'm not interested in becoming a manager, but as a 'senior' person I see a lot of things that are... less than optimal, but framing these challenges(ignoring technical debt in favour of pushing out new features, ignoring 'flaky' tests because we don't have time to investigate and harden the suite, etc) to people without a development background can be difficult, and ultimately, their priorities will override mine.
Do you have a framework you abide by when providing feedback? i.e. SBI feedback, feedback sandwiches, etc.
Hi Lorenzo! Congratulations on your 30yrs! I consider myself an introvert and being in a corporate company, there's a constant pressure to 'build my brand' and to 'go out there and network'. Any advise for introverts like me? :)
Is it that learning frameworks is more important or that there's a tendency for people to put a lot more emphasis on them? Additionally would you say that the ability to learn quickly/read a framework and still understand (without knowing the framework) is more important?
Thank you so much for the information.
Another thing, as someone with management and leadership experience, when you bring on new/jr. Devs is there anything that you need them to absolutely know or a deal breaker for candidates?
Since taking on a management/leadership position, what's the most valuable skill that you've had to cultivate/learn?
I've been in software field last 10 years. So many challenges I've found so far. Every day is a learning day. Hats off to you, You spent 30 years of coding and that too full time. Salute you buddy!!
What is your advice for people in their twenties trying to get into their first programming jobs?
Hi, did you feel to quite profession in your career?
OR Are you feel that much of energetic when you have joined career?
oh yes, couldn't agree more.
Any advice to newbies on applying for jobs and what to expect during interview process? What should we expect in terms of culture adaptation from student to actual developer?
Yes, the question is how to introduce a technology without a business. The only thing I can think of is to get some business to adopt it.
The description here was for you. The "real" description would be something like: Use this module and get subscribers/readers. After all, that is how most use RSS. Implement it and ignore it.
@Lorenzo, Staying in a company for 2 years where you have no mentor or is not in line with your skills (e.g. hired as a Python programmer only doing Unit Testing or babysitting old code...) is also not an alternative. Staying less than 2 years in a company is not an alarm bell unless you do it multiple times.
Good mentors are key, regardless what you earn in the beginning it can change your career rapidly in a positive sense. I noticed the biggest career-boosts when being mentored during tough times.
Interesting read btw :)
Hey Lorenzo,
I've found that some people and devs need more squishy feedback... and some less so. I'm the type that needs "squishy" feedback. This could be just me though and it sounds similar to what you've said here?
Other techs/devs/people would want the how to fix without the cushion as much.
I usually go for a little bit of squishy if I don't know the person. I try to go for respect mostly and try to notice or feel vibes (if that makes sense).
Gotcha, that makes a lot of sense. I'm personally nowhere near taking a leadership role, but I've been thinking about what kind of a career I'd like to have as a developer (and if that includes leadership).
that was a great answer, thanks a lot
What advice would you give to someone who, besides programming, wants to manage/leaderize the developer team he/she works with?
And where could I learn about all that leadership stuff, btw?
Well if it's not overly rude I did just post this question maybe you could give your input here?
community.operationcode.org/t/what...
I'm a young PM, and I've already gotten scrum and studied the PMBOK. What other skills/knowledge can I pick up to better serve the devs & product? Should I just start learning out stack?
Lorenzo, Thank you very much for your reply. Much appreciated.
For a Developer having experience of 5+ Years, communication skills play considerable role. How do I improve my them??
Thanks for reply, your last sentence is amazing. "I started very low level and moved more and more high-level overtime." I think this will make you more passionate.