I mostly use VS Code as a simple text editor with some of the CSV plugins. Though with JetBrains coming out with Fleet I've started to use that more. It doesn't have plugin support yet so it's not getting a lot of use.
For everything else I use whatever JetBrains IDE fits. For work, it's mostly IntelliJ, DataGrip, PyCharm, and DataSpell. At home, it's IntelliJ DataGrip and CLion. I guess I've kinda drank the JetBrains KookAid, but to me, it's worth the subscription to the all products pack. Especially if you are a polyglot since you keep a consistent IDE experience.
I wonder if they licensed the source of 5.0+ to someone and are still getting paid for it. If so, it's probably something ubiquitous and critical that nobody would think of like traffic lights or water treatment plants.
I think we need to take a step back and add some context. Every company will have their own hiring process, but they are mostly the same. Where I work it goes like this.
- A hiring manager sends a job description for an employee they want to hire
- The recruiter will check the job description for any problems and make it public
- Usually, a few hundred applications come in. Some are these are from bots. Others are from people applying for every open position at the company.
- The ATS will score the application and resume by comparing it to the job description. Some will look at your social media like LinkedIn and Facebook. Mostly if you provide those links.
- The recruiter will then start trying to find the best candidates to send to the hiring manager. They do this by looking at how the ATS scored the applicant and prescreening calls. They mostly check to make sure you are a human and that the stuff on your application is correct.
- The recruiter then sends candidates to the hiring manager. There is no hard policy on the number of interviews the hiring manager has to do, but the goal is under 10.
- The hiring manager does an initial interview with the candidate. Depending on the situation this is in person, over video, or a phone call.
- If they pass the interview with the hiring manager then 2 additional group interviews are usually setup. One with stake holders and another one with peers. At this point it’s usually down to one person. These are sort of like veto interviews.
- Once someone makes it through all this does the recruiter make the offer and start to discuss, background checks, salary, and if needed relocation and immigration sponsorship.
During this entire process the only people that are going to look at your website are the hiring manager, stake holders, and peers. That is only if they are feeling motived to do additional research on you after having looked at your application and resume. Your application and resume should have already told them that you know the technologies you listed. This means that the user is not rewarded with any additional information. What was the point of me seeing this page? As one of those people interviewing you the only thing this page actually tells me is that you know how to put words on page with a template. That template should be custom and look amazing.
Jeff Geerling’s website is a good example for content. The design isn’t something I would expect from a front end developer, which he is not.
https://www.jeffgeerling.com/ https://www.jeffgeerling.com/about
Nowhere does he have a list of icons of technologies used. You learn that he knows how to use git by the link to his GitHub profile. He doesn’t have a dedicated contact page. The only thing that is really needed is mention an email address on the about page and links to socials. It’s almost like he shows us his skills instead of telling us about them.
Do not do this, but if you are, be sure to include Excel, Word, Windows, Outlook, and TCP/IP. Adding TCP/IP lets them know you're a real technical person.
Most automated scoring of a resume compares your resume to the job posting you're applying for. The closer the match the higher the score. You should be tuning your resume for each job and while using the same words and phrases in the job posting.
The second column seems clunky to me. I know what everything in column 1 is for. Column 2 seems redundant or filler. For a keyword search or something like an ATS having those things mentioned is probably helpful. Though, for an ATS you should be optimizing for that separately.
Right now the About Me page doesn't tell me anything that I won't find out on the Resume and My Projects pages. I would get annoyed at having a wasted click for no new information, and it tells me that you're just putting stuff on a page for filler. Maybe consider combing the About Me and Contact Me pages.
On the about me, you may want to add a portrait and some biographical information. Nothing too personal. The stuff you would like to share an icebreaker in an interview. It's a good way to provide a conversation starter, "Hey, I saw on your page that you like kitties and hiking. I like kitties and hiking." I had my HVAC serviced last week, and the company sent me a text with a photo of the tech and some general biographical info on it. Apparently the guy likes going to the gym and spending time with his family. I don't know why I needed to know that, but now I do. Humans are social animals, and a lot of humans like that kind of stuff. The portrait doesn't have to be anything professionally done. Any decent phone has a portrait mode. Just look nice and use a clean background. Don't use the webcam on your monitor with your unmade bed in the background.
Also, this page tells me you are more of a back end person. Someone more front end would be a little more creative on the graphical design. This looks like a default template. That's fine if that's the message you want to convey. That's what my stuff looks like. I mostly do data engineering and present those data in an interactive dashboard with some manipulation and filters. In that situation having a boring and generic looking dashboard is desirable. My users prefer that since they are really there for the data and controls, and anything extra would be a distraction. If you want to convey that you are more front end focused you need a less tabular layout and more visual candy.
print(f"debug: {what_the_fuck_is_this}") is a valid pattern that seasoned professionals still turn to. If you’re in a code environment that doesn’t support it, then it’s a bad code environment.
I've been known to print things to the console during development, but it's like eating junk food. It's better to get in the habit of using a logging framework. Insufficient logging has been in the OWASP Top 10 for a while so you should be logging anyway. Why not logger.debug("{what_the_fuck_is_this}")
or get fancy with some different frameworks and logger.log(SUPER_LOW_LVL, "{really_what_the_fuck_is_this}")
You also get the bonus of not going back and cleaning up all the print statements afterward. All you have to do is set the running log level to INFO or something to turn all that off. There was a reason you needed to see that stuff in the first place. If you ever need to see all that stuff again the change the log level to whatever grain you need it.
That actually makes a lot of sense. Board revision was a lot more difficult back then.
I would have like to been in the meeting where they discussed putting the keyboard cable on the front of the keyboard.
I wouldn’t call it a scientific journal, but I always find something interesting to read in the Communications of the ACM.
For Java, I guess this as official as you can get.
https://www.oracle.com/technetwork/java/codeconventions-150003.pdf
If your body goes unclaimed then it's up to whatever local entity to dispose of it. Most places cremate.
If you want to watch a dark documentary about how dead people without a next of kin are handled. => https://www.imdb.com/title/tt0342180/
Google is an advertising company. Something like 80% of their revenue comes from selling ads.
How would spending money on Gitlab support their primary business.
What industry do you work in? I would focus on that. The truth is that programing is somewhat of a commodity, and a lot of your value is going to come from industry knowledge.
Dude interviewed some people that did both software and other forms of engineering. Vast majority said software engineering is real engineering.
These are a few things that stood out to me.
In software engineering the gap between tradecraft and engineering is a lot smaller than the other engineering fields like electricians and electrical engineers.
Software engineering can iterate faster because it's cheap. If civil engineers could iterate like software engineers they would. New modeling tools are allowing this.
A lot of physical engineering defects are being fixed with software. 737 Max was given as an example where the new engine configuration made the plane unstable and it was fixed in software.
A lot of things can be learned from the different fields. All the other engineering fields wish they had version control. Software engineering needs more very focused deep dive books like this the other engineering fields have. Ex: https://www.amazon.com/First-Snap-Fit-Handbook-3E-Attachments/dp/1569905959
YouTube Video
Click to view this content.
Don't worry about Linux, and don't try to over complicate things. If you are set on going the Linux route, get a Raspberry Pi. It will give him something really flexible and cheap to experiment with later on.
Look into modded Minecraft. There is a mod called Computer Craft where you can write programs in Lua. One of the things that makes scratch so good for kids is that the results are instantly visible. This is important for kids.
https://www.curseforge.com/minecraft/mc-mods/cc-tweaked
There are programs to control your reactor > https://www.youtube.com/watch?v=N9fC3khXuj8
Unmodded Minecraft has Redstone where you can build logic gates.
Outside of what you already have check into a maker space or a computer club at school. Here in Atlanta there is https://www.codeninjas.com. Maybe there is something similar in your area.
Maybe this is helpful. https://imgur.com/a/TNpqz
If you find any additional information please share it with the rest of us. I have a really yellowed AppleVision 850 in the project pile. It's too big to redrobright and get an even result.
I'm on a team of 5 and we don't have an on call rotation since developers are not prod ops. But in a sense we are all on call all the time. The NOC has our phone numbers and if we are needed for something urgent we will get a call or a text for things like helping prod ops troubleshoot an issue if they get stuck. My boss has texted me while I was on vacation before. Usually it's a quick question for something obscure. Once it was an escalation from a senior executive. I don't have to respond if I'm on vacation, but if I'm getting a call they really need help with something. It also is a good opportunity to lay a guilt trip on your boss that results in a few reward points. Never had to actually log into anything though.
We also have BCP, business continuity plan, events. I work for a company that provides a lot of critical infrastructure. If the BCP event is really nasty, like a natural disaster, and our team needs 24/7 representation on the bridge, we take turns and will relieve each other. You won't be expected to help out on a BCP event while on vacation.
Besides BCP we usually have to be available for certain production changes. Like a few months ago I had a DNS and load balancer change done. I wasn't doing the work, but the team making the change wanted me available between 3 and 5 am to validate the change.
If I were paid hourly things would be more formal. I would get overtime(1.5 x hourly rate) + comp time. Since I'm salaried I just sleep in the next day. Our schedules are really flexible. We basically need to be mostly available for meetings for around 4 hours a weekday from late morning to late afternoon, and complete our projects on time. It was like this in the before times. Back then I would go into the office around 11 am for our daily standup. Get lunch with some team mates. Do some afternoon meetings then go home, and do my more focused work at home after dinner time. Most of my team mates did something similar.
Rest of the compensation is your typical American senior software engineer salary with a 10% to 20% bonus, 7 weeks pto, health insurance, life insurance, short term and long term disability insurance, 401k with 6% match, pension, retirement health insurance, pet health insurance, can use the corporate travel agent for personal travel. I actually like this perk a lot. You still pay for personal travel but it means a lot of discounts and upgrades. We also get to keep our various travel points.
About twice a week we would go to the computer lab filled with Apple IIes. Usually we had to play Number Munchers, Word Munchers, or some other game to reenforce whatever we learned in class. After we finished the game in the lesson plan, we could then play whatever educational game we wanted. Oregon Trail was a popular choice because nothing was funnier than having the game say a classmate had died or broke a leg. And the hunting and rafting mini games were the closest to arcade games.
Also keep in mind that the only exposure most of the teachers had to a computer were the mainframe terminals in the school's office or the computer lab. MECC put together a lot of software and training for teachers. A school building out an Apple II based computer lab with a bunch of MECC software was as close to turnkey as they could get at the time. The documentation for Oregon Trail or Odell Lake gives you an idea of what it was like.
http://www.mecc.co/history/the-oregon-trail---a-157/mecc_a-157_oregon_trail.pdf
http://www.mecc.co/science/odell-lake---a-192/mecc_a-192_odell_lake.pdf
I’m in that weird group that’s between Gen-X and Millennial. I’ve seen us called Xennials or the Oregon Trail Generation.