My approach is to provide 3 topics of conversation (no right answers just talking):
Let's say the person is applying to be a dev in product P.
1 how would you build an mvp for P? Which stack, what are the main issues, how would you deploy etc (usually I ask if it were a side project , so I can see which technologies are in the intersection of fun and reliable for this person)
2 what would be a moonshot feature for P? (If you had a perfect AI lib or unlimited processing power or devices spread all over the world)
3 if you had to find someone to take over your job (for you to manage the new one), what would you look for?
is there any good terminal assistant? something that accepts these kinds of queries but with in a cli, preferably without the need of constant internet connection
I learned french in 3 months aprox. while living in France. Ive arrived there without much knowledge of the language. First weeks I was feeling like an alien. Then I started to understand but couldn't speak. Then I started to use translate and dictionary to build some phrases beforehand to be able to be polite and ask the questions I wanted. After 3 months something clicked during a talk I was watching, I not only began to understand without having to think but was able to ask questions to the French guy on my side about the talk (it was about a ML algorithm). I am a native speaker of a Latin language (Portuguese).
I strongly disagree with the author. I've introduced tens (maybe hundreds) of people to code and starting with code (instead of a GUI) and preferably lower level (like C or VB) code is the best way to keep people motivated. What I've found is that people tend to settle in the less difficult path. After teaching python, no one cared to learn C, after teaching things like dreamweaver, no one cared about html. Even when they realised the benefits, they already had a tool that was good enough. If your objective is to simply make people more maker, ok, but I yet have to meet someone that would follow the described path.
possibly migraines? it started when i was around 23 and I had the same symptom (unreasonable back/neck pain). I just started to have headaches after visiting a neurologist and getting medication (pamelor), in the first month of medicine, the back pain stopped. after some months of headaches (and medication) most of it stopped. try to see if the pain correlates with coffee, sleep and fat food. everyone has certain triggers and they may take a while to appear. if I'd drink too much coffee, I'd have migraines in the next day. eating fat food on friday would just appear as pain on sunday or monday...
In my company, side projects are divided into two groups: products or toys. Both can be done during work hours without problem (if you continue to deliver your sprints, of course). Your work should always be deletable (you should keep version control somewhere non local) and your peers should always be able to see your code (asking or not, If it is in a company computer, everyone in the company has access to it). We also incentivize presentation on new technology or topics that emerged from the projects and usually people pitch each other their projects for new contributors. Projects considered products (that the programmer has started expecting profits at some point) should consider our non compete policy: if the product is in the same field as one of our products, our company has the right to be the first investor, with a minimum of 5% and cap of 15%. The valuation process is a bit dense to explain here, but several ex coworker are now partners with their own companies. The system works well but we have to watch out for talent retention. Usually the new companies are SaaS that replace part of our needed logic and cost us less to use than our ex coworker salary.
IMO it's github fault to use this star gimmick. Likes, stars, upvotes... all of these are dopamine hits disguised as curation or rating...
The UX designers or engagement/growth hackers or whatever that plans and are responsible for these should try to predict the consequences of a system so easily exploitable to be implemented. Most successful MMOs have whole economies balanced, how can a 1 variable (can be more considering forks, contributors etc) economy be this open? Of course someone would exploit it. Github could hide forks and contributors but it could eliminate stars, since it brings nothing to the table more than virtual ego. Stop the likefication of software. We need to go back to free as in freedom, not free as in gratis.
First, I also had trouble with XCode.
About the regex in vi: there is a technique of writing/maintaining code based on substitutions instead of inserting/deleting. It can be very powerful but you have to "write" your code thinking about the patterns and maintaining some kind of structure. I am not saying that it is good or recommended. It's interesting. I coded for like 5 years like that. I was maintaining a codebase completely solo. When working with a not very synchronized team or having tools like resharp or omnisharp etc avaliable, I don't think it would pay off.
environmental-first decision making I hope. Maybe with more visible effects of global warming we will consider our planet's health before price, convenience or (I fear) ethics.
I dont really agree with ego = 1/knowledge; I believe that my knowledge over time has been increasing and my ego has been fluctuating in a non correlate way.
some stories that bump up in my mind: (Initially I wrote 3 paragraphs but it was quite therapeutic so I kept going)
1) I was working in a company I co-founded and was the tech lead (wrote most of the codebase). After some time we had our product deployed and the team (mostly juniors) were quite comfortable with the stack. I was invited to participate in a very interesting project (personally) and had to move to France for a year or so. After some months, the CEO wanted to grow some new features. I couldn't work because of not having time and legal terms of the current contract. I suggested hiring a senior dev to lead the new features. They hired a brilliant guy (technically speaking) and all went well (in terms of budget and deployment). After finishing the project there and not wanting to stay in France, I asked to come back to my company (I still had lots of shares) and both CEO and team were very pleased with my return. The new lead was not. Comprehensible. I was really trying to not step in his feet and work mainly as Ops and R&D, letting him do the Dev part. Äfter a while some strange things started to happen:
* I lost merge and push permissions to the repositories without prior warning.
* He started to CR my code and overwrite with his 'corrections' after office hours. It started with dumb stuff such as whitespace/identation and ended with major rewrites.
* He started to profile my code and compare to his own version that he had done in the weekend. ( code that should be run once a week in a cron, should be correct, not fast)
* started to convince people that I was slacking off when I went out for lunch earlier or something like that.
* He tried to insinuate that I was interested in one of the programmers sexually. (In that moment, the CEO had to investigate this) (I wasn't doing anything wrong) (Later, some coworked showed private slack messages of him being extremely biased on finding bugs and errors on females code (or code that was wrongly commited in the name of females))
* And the last drop was him putting his own copyright header on EVERY SINGLE FILE in EVERY SINGLE REPO of the organization (I admit that I laughed when I saw the .gitignore and travis files with copyright). Probably scripted. When called out on this, tried to sue the company saying that we stole his code. In court we showed the git history and all was settled.
TLDR: Very smart people can be very mean and dumb when afraid.
2) Leading a 4 person team (me + 4) on writing the backend for a load intensive project. We wrote everything in 6 months. Tested, optimized, clean code. I was very happy. Close to launch date, we had a meeting with business and frontend to show the state of the project. During my 2 hour presentation, the frontend lead was coding furiously in his laptop. When I ended, he got up and asked why we took so long, if he could make an mvp in node in 2 hours, then demonstrating it working. I believe that I spent close to 2 minutes speechless just staring him wondering how he could just be so cynical. The business guys were in a mix of baffled about how genius this guy was and kind of pissed off with me. I then explained about testing, deploying in scale, performance, etc but for them it was just techie bla bla bla... very frustrating.
TLDR: when you are working in a project, work with the team not against it, please. let's focus on having the best product.
3) New company, working on building backend pipeline for intensive data analysis. That jerk from 2) was hired as 'culture lead front end' or something like that. His job was to give lectures on trendy frameworks and how they were amazing, buying beer (???) and making the team tight together (ok, but wtf). It started with hoodies and cups (ok), then going out for pizza or beers (ok too), then hackathons from time to time (ok, but didnt like pressure to going to them) (It would be better if it was paid time or the code was Open Source or nothing work related). But then he started to make some college frat stuff: going to clubs, pressuring the younger and nerdier guys to pick up women, then most of frontend (15 guys) started to use the same style of haircut and clothes. When I found out that they had done that zuckerberg thing of rating women of the company, I sent a company wide e-mail denouncing it (it was a company private repository and made during a company hackathon). The CEO wasn't very happy with my vigilante attitude. The backend team was very nice, still friends with them.
TLDR: please leave college level douchbaggery in college.
4) Working on the energy industry, doing network protocols. Knowing shit about electronics. Had a quite tight schedule (6 months aprox). From time to time, I needed the electronics team to test the protocols, give me some feedbacks, you know, working with me... They did test but it took them 2 weeks aprox. for every iteration. No answers/messages from the team until they finished testing. I couldn't know if they didn't received the email, if they ignored it, if they scheduled it for some day... I sent lots of emails and called and everything, just ghosting... I complained a lot with their lead and later with the CEO. The answer I got was always that they had stronger priorities. And that I was responsible for that working, not them. Since the protocol was written for the in-house electronics, I had to have their feedback. Their lead living in germany wasn't helping either, since I was being called during night (like 1-3 am) to do 'briefing meetings'. The pay was very good, only thing that made me stay until launch.
TLDR: Maybe I am programmer/computer-scientist/agile and not an engineer/waterfall. But ghosting is so mean. Like, so mean.
5) Current job(CTO and co-founder of a small startup): For heaven sake I don't have any major complaints: Guy next to me don't stop shaking his leg and making sounds with his hands and overreacting when something works or do not work. The UX dev has this habit of just saying loud 'hey guys have you seen X????' And starts to talk about X for 20 min straight. Junior devs asking questions before I can even take my headphones out, making me ask them to repeat the question and totally breaking my flow. Considering asking for a private office ( not sure if possible).
TLDR: Thank current team for being so nice. We have in our 20 person team people from work 1) and 3). The CEO is the same of the company 1).
2 what would be a moonshot feature for P? (If you had a perfect AI lib or unlimited processing power or devices spread all over the world)
3 if you had to find someone to take over your job (for you to manage the new one), what would you look for?